diff --git a/LICENSE-2.0.txt b/LICENSE-2.0.txt new file mode 100644 index 0000000..e8a31d8 --- /dev/null +++ b/LICENSE-2.0.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2013 Mark Masse + + Licensed 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. diff --git a/README.md b/README.md new file mode 100644 index 0000000..a5d96d2 --- /dev/null +++ b/README.md @@ -0,0 +1,92 @@ +

+ +

+ +#WRML# + +WRML, the Web Resource Modeling Language, is an open source software project (http://www.wrml.org) focused on providing REST API standards, frameworks, and tools to support the development of web-oriented, client-server applications. + +*Getting started* with WRML means something a little bit different to each role involved in the creation of REST APIs. + +To those wanting to get started with the tools and find a link to download an installer (from an app store) or use a JS web app for REST API design - that documentation is still a work in progress. + +The remainder of this README is intended for developers or other folks wanting to download, build, install, and run WRML. + +Before you install WRML +----------------------- + +From a console/terminal window, verify that *Java 7* is installed: + + $> java -version + +Which should display something like this (with a "1.7.0" or higher version number): + + java version "1.7.0" + Java(TM) SE Runtime Environment (build 1.7.0-b147) + Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode) + +If not, it can be downloaded from: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html + +Also verify that *Maven 3* is installed: + + $> mvn -version + +Which should display something like this: + + Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 05:51:28-0800) + +If not, it can be downloaded from: http://maven.apache.org/download.cgi + +Download WRML +------------- + + $> git clone git@github.com:espn/WRML.git + +Or download the ZIP file from: https://github.com/espn/WRML + +Install WRML +------------ + +From the root directory (WRML_HOME) run maven's install command. + + $> mvn install + +Please note that the first time you run this command, it may download several of WRML's dependencies and install them into your system's local maven repository. + +Configure WRML +-------------- + +Edit the WRML configuration file (wrml.json) to match your local environment. In the example below, these two lines are the important ones to match to your system: + +File Service Root Directory +--------------------------- +This setting specifies the root directory for WRML Models (stored as JSON files on disk). + + "rootDirectory" : "E:/wrml/models/" + +Schema Loader Schema Directory +------------------------------ + +This setting specifies the root directory for WRML Schemas (compiled as Java interfaces). + + "schemaClassRootDirectory" : "E:/wrml/schemas" + +For those having problems starting WRML, please confirm that the "slash" leaning direction of the folder/directory paths match the conventions of your OS. In java config files, the "/" forward slash should work cross-platform, but the java commands listed below contain path's like "..\core\target\core-1.0-SNAPSHOT.jar;" which are both Windows-centric (backslashes) and relative to the WRML_HOME/bin folder. + +In lieu of an installer, please adjust config and script files according to match your environment. + +#WRML Tools# + +##Werminal - WRML Model Editor## + +See the Werminal /cli project README. + +For more about the Werminal app, please consult the "Werminal Masters Handbook": http://www.wrml.org/werminal/WerminalMastersHandbook.pdf + +##WRML Web Application## + +In progress as of the Jean Grey sprint. + + +#License# +WRML is copyright (C) 2012-2013 Mark Masse (OSS project WRML.org). WRML is licensed under the Apache License, Version 2.0. You may obtain a copy of the License at: http://www.apache.org/licenses/LICENSE-2.0 diff --git a/Werminal.json b/Werminal.json new file mode 100644 index 0000000..e35bb45 --- /dev/null +++ b/Werminal.json @@ -0,0 +1,290 @@ +{ + "title" : "Werminal", + "schemaUriHistoryList" : [ + "http://schema.api.wrml.org/org/wrml/runtime/service/apiDesigner/AutoLinkFunction", + "http://schema.api.wrml.org/org/wrml/model/rest/FiledApi", + "http://schema.api.wrml.org/org/wrml/model/Filed", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "http://schema.api.wrml.org/org/wrml/test/wizard/Spell", + "http://schema.api.wrml.org/org/wrml/test/wizard/Guild", + "http://schema.api.wrml.org/org/wrml/model/rest/Api", + "http://schema.api.wrml.org/org/wrml/model/schema/Schema", + "http://schema.api.wrml.org/org/wrml/model/MaybeReadOnly", + "http://schema.api.wrml.org/org/wrml/model/Versioned", + "http://schema.api.wrml.org/org/wrml/model/Tagged", + "http://schema.api.wrml.org/org/wrml/model/Thumbnailed", + "http://schema.api.wrml.org/org/wrml/model/UniquelyNamed", + "http://schema.api.wrml.org/org/wrml/runtime/service/apiDesigner/ApiDesignerHome", + "http://schema.api.wrml.org/org/wrml/model/Virtual", + "http://schema.api.wrml.org/org/wrml/model/schema/Slot", + "http://schema.api.wrml.org/org/wrml/model/Named", + "http://schema.api.wrml.org/org/wrml/model/Titled", + "http://schema.api.wrml.org/org/wrml/model/Described", + "http://schema.api.wrml.org/org/wrml/model/schema/LinkValue", + "http://schema.api.wrml.org/org/wrml/model/schema/Primitive", + "http://schema.api.wrml.org/org/wrml/model/schema/Inextensible", + "http://schema.api.wrml.org/org/wrml/model/schema/Value", + "http://schema.api.wrml.org/org/wrml/test/wizard/Wizard", + "http://schema.api.wrml.org/org/wrml/model/rest/Document", + "http://schema.api.wrml.org/org/wrml/model/Abstract" + ], + "slotValueHistoryLists" : [ + { + "slotValueEntries" : [ + { + "name" : "uri", + "value" : "http://designer.api.wrml.org" + }, + { + "name" : "uri", + "value" : "http://design.api.wrml.org" + } + ], + "historyListSchemaUri" : "http://schema.api.wrml.org/org/wrml/runtime/service/apiDesigner/ApiDesignerHome" + }, + { + "slotValueEntries" : [ + { + "name" : "uri", + "value" : "http://design.api.wrml.org/functions/autoLink" + } + ], + "historyListSchemaUri" : "http://schema.api.wrml.org/org/wrml/runtime/service/apiDesigner/AutoLinkFunction" + }, + { + "slotValueEntries" : [ + { + "name" : "file", + "value" : "/Users/mark/Documents/WRML/models/apis/api.json" + }, + { + "name" : "uri", + "value" : "http://autoLink" + } + ], + "historyListSchemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/FiledApi" + }, + { + "slotValueEntries" : [ + { + "name" : "uniqueName", + "value" : "org/wrml/test/wizard/Wizard" + }, + { + "name" : "uri", + "value" : "http://schema.api.wrml.org/org/wrml/test/wizard/Wizard" + }, + { + "name" : "uniqueName", + "value" : "org/wrml/test/wizard/Spell" + }, + { + "name" : "uri", + "value" : "http://schema.api.wrml.org/org/wrml/test/wizard/Spell" + }, + { + "name" : "uniqueName", + "value" : "org/wrml/test/wizard/Guild" + }, + { + "name" : "uri", + "value" : "http://schema.api.wrml.org/org/wrml/test/wizard/Guild" + }, + { + "name" : "uniqueName", + "value" : "org/wrml/model/rest/Api" + }, + { + "name" : "uri", + "value" : "http://schema.api.wrml.org/org/wrml/model/rest/Api" + }, + { + "name" : "uniqueName", + "value" : "org/wrml/model/rest/Document" + }, + { + "name" : "uri", + "value" : "http://schema.api.wrml.org/org/wrml/model/rest/Document" + }, + { + "name" : "uniqueName", + "value" : "org/wrml/runtime/service/apiDesigner/ApiDesignerHome" + }, + { + "name" : "uri", + "value" : "http://schema.api.wrml.org/org/wrml/runtime/service/apiDesigner/ApiDesignerHome" + } + ], + "historyListSchemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/Schema" + }, + { + "slotValueEntries" : [ + { + "name" : "wizardId", + "value" : "" + }, + { + "name" : "uri", + "value" : "http://wizard.example.api.wrml.org/wizards/merlin?rg=42" + }, + { + "name" : "wizardId", + "value" : "merlin" + }, + { + "name" : "uri", + "value" : "http://wizard.example.api.wrml.org/wizards/harry?rg=42" + }, + { + "name" : "wizardId", + "value" : "harry" + }, + { + "name" : "uri", + "value" : "http://wizard.example.api.wrml.org/wizards/harry" + } + ], + "historyListSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Wizard" + }, + { + "slotValueEntries" : [ + { + "name" : "uri", + "value" : "http://wizard.example.api.wrml.org" + }, + { + "name" : "uri", + "value" : "http://schema.api.wrml.org" + } + ], + "historyListSchemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/Api" + }, + { + "slotValueEntries" : [ + { + "name" : "id", + "value" : "7" + }, + { + "name" : "uri", + "value" : "http://wizard.example.api.wrml.org/guilds/7" + }, + { + "name" : "id", + "value" : "42" + }, + { + "name" : "uri", + "value" : "http://wizard.example.api.wrml.org/guilds/42" + } + ], + "historyListSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Guild" + }, + { + "slotValueEntries" : [ + { + "name" : "spellId", + "value" : "lightningBolt" + }, + { + "name" : "uri", + "value" : "http://wizard.example.api.wrml.org/spells/lightningBolt" + }, + { + "name" : "spellId", + "value" : "heal" + }, + { + "name" : "uri", + "value" : "http://wizard.example.api.wrml.org/spells/heal" + }, + { + "name" : "spellId", + "value" : "tornado" + }, + { + "name" : "uri", + "value" : "http://wizard.example.api.wrml.org/spells/tornado" + }, + { + "name" : "spellId", + "value" : "fireball" + }, + { + "name" : "uri", + "value" : "http://wizard.example.api.wrml.org/spells/fireball" + } + ], + "historyListSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Spell" + }, + { + "slotValueEntries" : [ + { + "name" : "uniqueName", + "value" : "org/wrml/relation/self" + }, + { + "name" : "uri", + "value" : "http://relation.api.wrml.org/org/wrml/relation/self" + }, + { + "name" : "uniqueName", + "value" : "org/wrml/test/wizard/spell" + }, + { + "name" : "uri", + "value" : "http://relation.api.wrml.org/org/wrml/test/wizard/spell" + }, + { + "name" : "uniqueName", + "value" : "org/wrml/test/wizard/guild" + }, + { + "name" : "uri", + "value" : "http://relation.api.wrml.org/org/wrml/test/wizard/guild" + }, + { + "name" : "uniqueName", + "value" : "org/wrml/test/wizard/primarySpell" + }, + { + "name" : "uri", + "value" : "http://relation.api.wrml.org/org/wrml/test/wizard/primarySpell" + }, + { + "name" : "uniqueName", + "value" : "org/wrml/test/wizard/secondarySpell" + }, + { + "name" : "uri", + "value" : "http://relation.api.wrml.org/org/wrml/test/wizard/secondarySpell" + }, + { + "name" : "uniqueName", + "value" : "org/wrml/test/wizard/rivalGuild" + }, + { + "name" : "uri", + "value" : "http://relation.api.wrml.org/org/wrml/test/wizard/rivalGuild" + }, + { + "name" : "uniqueName", + "value" : "org/wrml/test/wizard/defaultGuild" + }, + { + "name" : "uri", + "value" : "http://relation.api.wrml.org/org/wrml/test/wizard/defaultGuild" + }, + { + "name" : "uniqueName", + "value" : "org/wrml/test/wizard/defaultSpell" + }, + { + "name" : "uri", + "value" : "http://relation.api.wrml.org/org/wrml/test/wizard/defaultSpell" + } + ], + "historyListSchemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" + } + ] +} \ No newline at end of file diff --git a/cli/.gitignore b/cli/.gitignore new file mode 100644 index 0000000..deb77c9 --- /dev/null +++ b/cli/.gitignore @@ -0,0 +1,12 @@ +target +bin +logs +.classpath +.project +.settings +dependency-reduced-pom.xml +src/test/resources/fileSystemServiceRootDirectory/* +!src/test/resources/fileSystemServiceRootDirectory/placeholder.txt +src/test/resources/schemaClassRootDirectory/* +!src/test/resources/schemaClassRootDirectory/placeholder.txt +/wrml.json* \ No newline at end of file diff --git a/cli/README.md b/cli/README.md new file mode 100644 index 0000000..36f777a --- /dev/null +++ b/cli/README.md @@ -0,0 +1,66 @@ +

+ +

+ +Werminal +================================ + +Werminal is a terminal (command line) application for WRML model browsing and editing. + +Werminal can be used to create new models of _any_ type such as: Schemas, Teams, Players, Aliens, HomeScreens, Movies; whatever your application calls for. + +Werminal also enables you to open, edit, and save data (of any data type). + +Running Werminal +================================ + +Note that all the following examples are dependent on the `wrml-cli.jar` file. This file can be built from maven in the `cli` project: + + +## Default ## + +To run Werminal with the default options, execute the `wrml-cli.jar` using the `java -jar` command: + + java -jar cli/target/wrml-cli.jar + +This assumes that you have a WRML configuration file named `wrml.json` in either the current working directory or your user directory. + +## Specify -config command line argument ## + +To run Werminal with a specified configuration file path using the `-config` program argument: + + java -jar cli/target/wrml-cli.jar org.wrml.werminal.Werminal -config my/path/to/wrml.json + +or to specify the UNIX terminal mode: + + java -jar cli/target/wrml-cli.jar org.wrml.werminal.Werminal -config my/path/to/wrml.json -unix + +## Specify wrmlConfiguration JVM argument ## + +To run Werminal with a specific configuration file path using the `-DwrmlConfiguration` JVM argument: + + java -DwrmlConfiguration=my/path/to/wrml.json -jar cli/target/wrml-cli.jar + +or to manually specify the CLI's main class: + + java -DwrmlConfiguration=my/path/to/wrml.json -jar cli/target/wrml-cli.jar org.wrml.werminal.Werminal + +or to specify the UNIX terminal mode: + + java -DwrmlConfiguration=my/path/to/wrml.json -jar cli/target/wrml-cli.jar org.wrml.werminal.Werminal -unix + + +## Via Eclipse .launch Configuration ## + +1. In 'Run Configurations', choose 'New Java Application'. +1. On the 'Main' tab, enter: + 1. Project: "`cli`" + 1. Main class: "`org.wrml.werminal.Werminal`" + 1. Check "Stop in main" +1. [Optional] On the 'Arguments' tab, either the `-config` or `-DwrmlConfiguration` options described above. + + +References +=============== + +For more about the Werminal app, please consult the "Werminal Masters Handbook": http://www.wrml.org/werminal/WerminalMastersHandbook.pdf diff --git a/cli/cli.iml b/cli/cli.iml new file mode 100644 index 0000000..03c7acb --- /dev/null +++ b/cli/cli.iml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cli/pom.xml b/cli/pom.xml new file mode 100644 index 0000000..b74e0da --- /dev/null +++ b/cli/pom.xml @@ -0,0 +1,151 @@ + + 4.0.0 + + org.wrml + wrml + 1.0-SNAPSHOT + + cli + jar + + WRML CLI (Werminal) + WRML Command Line Interface + + + + + + + com.mycila.maven-license-plugin + maven-license-plugin + + true +
src/main/resources/headers/JavaFileHeader-latest.txt
+ + src/**/*.java + + ${project.build.sourceEncoding} + + src/main/resources/headers/JavaFileHeader-version-00.txt + src/main/resources/headers/JavaFileHeader-version-01.txt + src/main/resources/headers/JavaFileHeader-version-02.txt + +
+ + + test + + check + + + +
+ + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + + + org.apache.maven.plugins + maven-eclipse-plugin + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + org.apache.maven.plugins + maven-jar-plugin + + + + maven-assembly-plugin + + + jar-with-dependencies + package + + single + + + wrml-cli + false + + jar-with-dependencies + + + + org.wrml.werminal.Werminal + true + + + + + + +
+
+ + + ch.qos.logback + logback-classic + + + commons-cli + commons-cli + + + com.googlecode.lanterna + lanterna + + + + org.codehaus.janino + janino + runtime + + + org.wrml + core + + + org.wrml.contrib.runtime.service + mongo + + + + junit + junit + test + + + org.mockito + mockito-all + test + + + org.powermock + powermock-module-junit4 + test + + + org.powermock + powermock-api-mockito + test + + + org.reflections + reflections + test + + +
\ No newline at end of file diff --git a/cli/src/main/java/org/wrml/werminal/OptionDescriptor.java b/cli/src/main/java/org/wrml/werminal/OptionDescriptor.java new file mode 100644 index 0000000..b36dac1 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/OptionDescriptor.java @@ -0,0 +1,112 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal; + +import org.apache.commons.cli.Option; +import org.apache.commons.cli.Options; + +public enum OptionDescriptor +{ + + config("config", "config", true, "The WRML configuration file."), + unix("unix", "unix", false, "Runs the Werminal GUI app within a UNIX terminal."), + swing("swing", "swing", false, "Runs the Werminal GUI app within a Swing terminal emulator."); + + public static final Options OPTIONS = new Options(); + + static + { + + final OptionDescriptor[] optionDescriptors = OptionDescriptor.values(); + + for (final OptionDescriptor optionDescriptor : optionDescriptors) + { + OPTIONS.addOption(optionDescriptor.toOption()); + } + + } + + private final String _Name; + + private final String _LongName; + + private final boolean _Parameterized; + + private final String _Description; + + private Option _Option; + + private OptionDescriptor(final String name, final String longName, final boolean paramenterized, + final String description) + { + + _Name = name; + _LongName = longName; + _Parameterized = paramenterized; + _Description = description; + } + + public String getDescription() + { + + return _Description; + } + + public String getLongName() + { + + return _LongName; + } + + public String getName() + { + + return _Name; + } + + public boolean isParameterized() + { + + return _Parameterized; + } + + public Option toOption() + { + + if (_Option == null) + { + _Option = new Option(getName(), getLongName(), isParameterized(), getDescription()); + } + return _Option; + } + + @Override + public String toString() + { + + return _Name; + } +} \ No newline at end of file diff --git a/cli/src/main/java/org/wrml/werminal/Werminal.java b/cli/src/main/java/org/wrml/werminal/Werminal.java new file mode 100644 index 0000000..8aec96a --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/Werminal.java @@ -0,0 +1,1011 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal; + +import com.googlecode.lanterna.gui.Component; +import com.googlecode.lanterna.gui.GUIScreen; +import com.googlecode.lanterna.gui.GUIScreen.Position; +import com.googlecode.lanterna.gui.Theme; +import com.googlecode.lanterna.gui.Window; +import com.googlecode.lanterna.screen.Screen; +import com.googlecode.lanterna.terminal.Terminal; +import com.googlecode.lanterna.terminal.swing.SwingTerminal; +import org.apache.commons.cli.CommandLine; +import org.apache.commons.cli.CommandLineParser; +import org.apache.commons.cli.GnuParser; +import org.apache.commons.io.FileUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.exception.ExceptionUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.Filed; +import org.wrml.model.Model; +import org.wrml.model.rest.Document; +import org.wrml.model.rest.Method; +import org.wrml.runtime.*; +import org.wrml.runtime.format.application.schema.json.JsonSchemaLoader; +import org.wrml.runtime.rest.ApiLoader; +import org.wrml.runtime.rest.SystemApi; +import org.wrml.runtime.schema.*; +import org.wrml.runtime.syntax.SyntaxLoader; +import org.wrml.util.PropertyUtil; +import org.wrml.util.UniqueName; +import org.wrml.werminal.action.*; +import org.wrml.werminal.component.*; +import org.wrml.werminal.dialog.*; +import org.wrml.werminal.model.EntryModel; +import org.wrml.werminal.model.SlotValueHistoryListModel; +import org.wrml.werminal.model.WerminalModel; +import org.wrml.werminal.terminal.TerminalApp; +import org.wrml.werminal.terminal.TerminalAppButtonPanel; +import org.wrml.werminal.terminal.TerminalAppMenuWindow; +import org.wrml.werminal.terminal.TerminalType; +import org.wrml.werminal.theme.DefaultSplashTheme; +import org.wrml.werminal.theme.DefaultWindowTheme; +import org.wrml.werminal.theme.LightTheme; +import org.wrml.werminal.util.History; +import org.wrml.werminal.window.ModelWindow; +import org.wrml.werminal.window.SplashWindow; + +import javax.swing.*; +import java.io.File; +import java.lang.reflect.Type; +import java.net.URI; +import java.util.*; + +import static org.wrml.runtime.EngineConfiguration.WRML_CONFIGURATION_FILE_PATH_PROPERTY_NAME; + + +/** + *

+ *

+ * {@code Werminal} is a terminal (command line) application for WRML model browsing and editing. See + * {@link OptionDescriptor} for a complete set of Wrml options. + *

+ * see {@link #main(String[])}. + *

+ * + * @see Lanterna, easy console text GUI library for Java + * @see Engine + * @see EngineConfiguration + * @see org.wrml.runtime.service.file.FileSystemService + * @see org.wrml.runtime.service.rest.RestService + * @see Model + * @see Keys + * @see org.wrml.model.rest.Api + * @see org.wrml.model.rest.Document + * @see org.wrml.model.schema.Schema + */ +public class Werminal extends TerminalApp +{ + + public static final Logger LOG = LoggerFactory.getLogger(Werminal.class); + + private static final String WERMINAL_MODEL_FILE_NAME = Werminal.class.getSimpleName() + ".json"; + + private final WerminalModel _WerminalModel; + + private final Theme _DefaultSplashTheme; + + private final Theme _DefaultMenuTheme; + + private final Theme _LightTheme; + + private final SplashWindow _SplashWindow; + + private final TerminalAppMenuWindow _MainMenuWindow; + + private final NewModelDialog _NewModelDialog; + + private final OpenModelDialog _OpenModelDialog; + + private final LoadApiDialog _LoadApiDialog; + + private final PrintDialog _PrintDialog; + + private final TerminalAppMenuWindow _ModelMenuWindow; + + private final TerminalAppMenuWindow _ListMenuWindow; + + private final WerminalAction _NewAction; + + private final WerminalAction _OpenAction; + + private final WerminalAction _NewConfirmationAction; + + private final WerminalAction _OpenConfirmationAction; + + private final WerminalAction _SetOriginAction; + + private final WerminalAction _WrmlOrgAction; + + private final WerminalAction _HelpGuideAction; + + private final WerminalAction _ExitAction; + + private final WerminalAction _SaveAction; + + private final WerminalAction _PrintPreviewAction; + + private final WerminalAction _PrintAction; + + private final WerminalAction _PrintConfirmationAction; + + private final WerminalAction _LoadAction; + + private final WerminalAction _CancelAction; + + private final WerminalAction _DeleteAction; + + private final WerminalAction _ShowModelMenuAction; + + private final WerminalAction _ShowListMenuAction; + + private final CloseBeforeAction _CloseAction; + + private final CloseBeforeAction _ClosingWrmlOrgAction; + + private final Map _UnimplementedActions; + + private final History _SchemaUriHistory; + + private final SortedMap>> _SlotValueHistories; + + private final SortedMap _SlotValueHistoryModels; + + + public Werminal(final WerminalModel werminalModel, final Context context, final TerminalType terminalType) throws Exception + { + + super("Werminal", context, terminalType); + + _WerminalModel = werminalModel; + + final GUIScreen guiScreen = getGuiScreen(); + + final List schemaUriHistoryList = _WerminalModel.getSchemaUriHistoryList(); + + _SchemaUriHistory = new History<>(schemaUriHistoryList); + + _SlotValueHistories = new TreeMap<>(); + _SlotValueHistoryModels = new TreeMap<>(); + + final List slotValueHistoryLists = _WerminalModel.getSlotValueHistoryLists(); + compileSlotValueHistoryLists(slotValueHistoryLists); + + _UnimplementedActions = new HashMap(); + _DefaultSplashTheme = new DefaultSplashTheme(); + _DefaultMenuTheme = new DefaultWindowTheme(); + _LightTheme = new LightTheme(); + + _CancelAction = new CancelAction(this); + _CloseAction = new CloseBeforeAction(this); + _DeleteAction = new DeleteAction(this); + _ExitAction = new ExitAction(this); + _NewAction = new NewAction(this); + _NewConfirmationAction = new NewConfirmationAction(this); + _OpenAction = new OpenAction(this); + _OpenConfirmationAction = new OpenConfirmationAction(this); + _SetOriginAction = new SetOriginAction(this); + + _SaveAction = new SaveAction(this); + + _PrintPreviewAction = new PrintPreviewAction(this); + _PrintAction = new PrintAction(this); + _PrintConfirmationAction = new PrintConfirmationAction(this); + + _LoadAction = new LoadAction(this); + + _ShowModelMenuAction = new ShowModelMenuAction(this); + _ShowListMenuAction = new ShowListMenuAction(this); + _HelpGuideAction = new HelpGuideAction(this); + _WrmlOrgAction = new WrmlOrgAction(this); + + _ClosingWrmlOrgAction = new CloseBeforeAction(this, _WrmlOrgAction); + + _SplashWindow = new SplashWindow(this); + _MainMenuWindow = new TerminalAppMenuWindow(this, "WRML - Werminal", new MainMenu(this), + new TerminalAppButtonPanel(_ExitAction)); + _NewModelDialog = new NewModelDialog(this, "New Model", _NewConfirmationAction, _CancelAction); + _OpenModelDialog = new OpenModelDialog(this, "Open Model", _OpenConfirmationAction, _CancelAction); + + _ModelMenuWindow = new TerminalAppMenuWindow(this, "", new ModelMenu(this), new TerminalAppButtonPanel( + _CloseAction)); + + _ListMenuWindow = new TerminalAppMenuWindow(this, "", new ListMenu(this), new TerminalAppButtonPanel( + _CloseAction)); + + _PrintDialog = new PrintDialog(this, "Print Model"); + _LoadApiDialog = new LoadApiDialog(this, "Load REST API Metadata"); + + final URI metaSchemaUri = getContext().getSchemaLoader().getSchemaSchemaUri(); + _NewModelDialog.setSchemaUri(metaSchemaUri); + + for (final URI historySchemaUri : schemaUriHistoryList) + { + addToSchemaUriHistory(historySchemaUri); + } + + final JsonSchemaLoader jsonSchemaLoader = context.getSchemaLoader().getJsonSchemaLoader(); + final SortedSet loadedJsonSchemaUris = jsonSchemaLoader.getLoadedJsonSchemaUris(); + for (final URI loadedJsonSchemaUri : loadedJsonSchemaUris) + { + addToSchemaUriHistory(loadedJsonSchemaUri); + } + + final Screen screen = guiScreen.getScreen(); + screen.startScreen(); + + final Terminal terminal = screen.getTerminal(); + if (terminal instanceof SwingTerminal) + { + final JFrame frame = ((SwingTerminal) terminal).getJFrame(); + frame.setTitle(getAppTitle()); + + // TODO: Do something fun with the JFrame. =) + } + + showSplashWindow(); + + String errorMessage = null; + + while (true) + { + try + { + showMainMenuBarWindow(); + break; + } + catch (final Exception e) + { + errorMessage = "An unexpected error has occurred."; + showError(errorMessage, e); + LOG.error(errorMessage + " (" + e.getMessage() + ")", e); + } + } + + screen.stopScreen(); + + schemaUriHistoryList.clear(); + schemaUriHistoryList.addAll(_SchemaUriHistory.getElementSet()); + + getContext().saveModel(_WerminalModel); + } + + /** + * Entry point to run the Werminal console app. To run Werminal, two parameters are required: + *
    + *
  • -{@link OptionDescriptor#unix unix} or -{@link OptionDescriptor#swing swing}
  • + *
  • -{@link OptionDescriptor#config config} path/to/wrml.json
  • + *
+ *

Example

+ * org.wrmlx.app.werminal.Werminal -{@link OptionDescriptor#swing swing} -{@link OptionDescriptor#config config} path/to/wrml.json + *

+ * Alternatively, the config file path can be specified with a variable: " + * -D{@link org.wrml.runtime.EngineConfiguration#WRML_CONFIGURATION_FILE_PATH_PROPERTY_NAME wrmlConfiguration}=path/to/wrml.json + *

+ * + * @param args - standard command line arguments; see {@link OptionDescriptor}. + */ + public static void main(String[] args) throws Exception + { + + final CommandLineParser parser = new GnuParser(); + final CommandLine commandLine = parser.parse(OptionDescriptor.OPTIONS, args); + TerminalType terminalType = TerminalType.Swing; + if (commandLine.hasOption(OptionDescriptor.unix.getName())) + { + terminalType = TerminalType.Unix; + } + + // Check the system property + String configurationFilePath = PropertyUtil.getSystemProperty(WRML_CONFIGURATION_FILE_PATH_PROPERTY_NAME); + if (configurationFilePath == null) + { + configurationFilePath = commandLine.getOptionValue(OptionDescriptor.config.getName()); + } + + + final EngineConfiguration engineConfiguration = EngineConfiguration.load(configurationFilePath); + final Engine engine = new DefaultEngine(); + engine.init(engineConfiguration); + + final Context context = engine.getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + + final WerminalModel werminalModel; + final File appFile = FileUtils.getFile(WERMINAL_MODEL_FILE_NAME).getCanonicalFile(); + if (appFile.exists() && appFile.isFile() && appFile.canRead()) + { + final Keys keys = new KeysBuilder(schemaLoader.getTypeUri(Filed.class), appFile).toKeys(); + final Dimensions dimensions = new DimensionsBuilder(schemaLoader.getTypeUri(WerminalModel.class)) + .toDimensions(); + werminalModel = context.getModel(keys, dimensions); + } + else + { + werminalModel = context.newModel(WerminalModel.class); + } + werminalModel.setTitle(Werminal.class.getSimpleName()); + werminalModel.setFile(appFile); + new Werminal(werminalModel, context, terminalType); + } + + public boolean addSlotValueToHistory(final URI historyListSchemaUri, final String slotName, final Object slotValue) + { + + final Context context = getContext(); + final SyntaxLoader syntaxLoader = context.getSyntaxLoader(); + final String stringValue = syntaxLoader.formatSyntaxValue(slotValue); + + final SlotValueHistoryListModel slotValueHistoryList; + if (!_SlotValueHistoryModels.containsKey(historyListSchemaUri)) + { + + slotValueHistoryList = context.newModel(SlotValueHistoryListModel.class); + slotValueHistoryList.setHistoryListSchemaUri(historyListSchemaUri); + _SlotValueHistoryModels.put(historyListSchemaUri, slotValueHistoryList); + + final List slotValueHistoryLists = _WerminalModel.getSlotValueHistoryLists(); + slotValueHistoryLists.add(slotValueHistoryList); + } + else + { + slotValueHistoryList = _SlotValueHistoryModels.get(historyListSchemaUri); + } + + final SortedSet slotValueHistory = getSlotValueHistory(historyListSchemaUri, slotName); + if (!slotValueHistory.add(slotValue)) + { + return false; + } + + final List slotValueEntries = slotValueHistoryList.getSlotValueEntries(); + + final EntryModel entry = context.newModel(EntryModel.class); + entry.setName(slotName); + entry.setValue(stringValue); + + slotValueEntries.add(entry); + + return true; + } + + public void addToSchemaUriHistory(final URI schemaUri) + { + + if (schemaUri == null) + { + return; + } + + final History schemaUriHistory = getSchemaUriHistory(); + schemaUriHistory.add(schemaUri); + + final NewModelDialog newModelDialog = getNewModelDialog(); + final HistoryCheckListBox newModelDialogSchemaUriHistoryCheckBoxList = newModelDialog + .getSchemaUriHistoryCheckBoxList(); + + final OpenModelDialog openModelDialog = getOpenModelDialog(); + final HistoryCheckListBox openModelDialogSchemaUriHistoryCheckBoxList = openModelDialog + .getSchemaUriHistoryCheckBoxList(); + + newModelDialogSchemaUriHistoryCheckBoxList.addItem(schemaUri); + openModelDialogSchemaUriHistoryCheckBoxList.addItem(schemaUri); + + final SchemaLoader schemaLoader = getContext().getSchemaLoader(); + if (schemaLoader.isPrototyped(schemaUri)) + { + final Prototype prototype; + try + { + prototype = schemaLoader.getPrototype(schemaUri); + } + catch (final Exception e) + { + LOG.warn("Unable to add schema to history: " + schemaUri + ". Reason: " + e.getMessage()); + return; + } + + // Capture all related schema URIs in the history list + + final Set relatedSchemaUris = prototype.getAllRelatedSchemaUris(); + schemaUriHistory.addAll(relatedSchemaUris); + + newModelDialogSchemaUriHistoryCheckBoxList.addItems(relatedSchemaUris); + openModelDialogSchemaUriHistoryCheckBoxList.addItems(relatedSchemaUris); + + } + + } + + public URI createSchemaUri(final String simpleSchemaName) + { + + final String systemUserName = System.getProperty("user.name"); + + final String appUserName = (systemUserName != null && !systemUserName.isEmpty()) ? systemUserName : "user " + + getClass().getSimpleName() + " wrml"; + String userNamespace = StringUtils.replace(appUserName, " ", "/"); + userNamespace = StringUtils.reverseDelimited(userNamespace, '/'); + + // TODO: Make the userNamespace an option or setting or preference (in the Werminal tool options dialog) + + userNamespace = userNamespace.toLowerCase(); + + final UniqueName newSchemaUniqueName = new UniqueName("org/" + userNamespace, simpleSchemaName); + final URI schemaUri = URI.create(SystemApi.Schema.getUri().toString() + "/" + newSchemaUniqueName.toString()); + + return schemaUri; + } + + public WerminalAction getCancelAction() + { + + return _CancelAction; + } + + public CloseBeforeAction getCloseAction() + { + + return _CloseAction; + } + + public CloseBeforeAction getClosingWrmlOrgAction() + { + + return _ClosingWrmlOrgAction; + } + + public Theme getDefaultMenuTheme() + { + + return _DefaultMenuTheme; + } + + public Theme getDefaultSplashTheme() + { + + return _DefaultSplashTheme; + } + + public WerminalAction getDeleteAction() + { + + return _DeleteAction; + } + + public WerminalAction getExitAction() + { + + return _ExitAction; + } + + public WerminalAction getHelpGuideAction() + { + + return _HelpGuideAction; + } + + public Theme getLightTheme() + { + + return _LightTheme; + } + + public TerminalAppMenuWindow getListMenuBarWindow() + { + + return _ListMenuWindow; + } + + public WerminalAction getLoadAction() + { + + return _LoadAction; + } + + public TerminalAppMenuWindow getMainMenuBarWindow() + { + + return _MainMenuWindow; + } + + public TerminalAppMenuWindow getModelMenuBarWindow() + { + + return _ModelMenuWindow; + } + + public WerminalAction getNewAction() + { + + return _NewAction; + } + + public WerminalAction getNewConfirmationAction() + { + + return _NewConfirmationAction; + } + + public NewModelDialog getNewModelDialog() + { + + return _NewModelDialog; + } + + public WerminalAction getOpenAction() + { + + return _OpenAction; + } + + public WerminalAction getOpenConfirmationAction() + { + + return _OpenConfirmationAction; + } + + public OpenModelDialog getOpenModelDialog() + { + + return _OpenModelDialog; + } + + public WerminalAction getPrintPreviewAction() + { + + return _PrintPreviewAction; + } + + public WerminalAction getSetOriginAction() + { + + return _SetOriginAction; + } + + public WerminalAction getPrintAction() + { + + return _PrintAction; + } + + public WerminalAction getPrintConfirmationAction() + { + + return _PrintConfirmationAction; + } + + public WerminalAction getSaveAction() + { + + return _SaveAction; + } + + public History getSchemaUriHistory() + { + + return _SchemaUriHistory; + } + + public WerminalAction getShowListMenuAction() + { + + return _ShowListMenuAction; + } + + public WerminalAction getShowModelMenuAction() + { + + return _ShowModelMenuAction; + } + + public SortedSet getSlotValueHistory(final URI schemaUri, final String slotName) + { + + if (schemaUri == null || slotName == null) + { + return null; + } + + if (!_SlotValueHistories.containsKey(schemaUri)) + { + _SlotValueHistories.put(schemaUri, new TreeMap>()); + } + + final Map> schemaHistory = _SlotValueHistories.get(schemaUri); + + if (!schemaHistory.containsKey(slotName)) + { + schemaHistory.put(slotName, new TreeSet()); + } + + return schemaHistory.get(slotName); + } + + public SplashWindow getSplashWindow() + { + + return _SplashWindow; + } + + public String getTypeTitle(final Type type) + { + + final Context context = getContext(); + final ValueType valueType = context.getSchemaLoader().getValueType(type); + final String typeTitle; + if (valueType == ValueType.Text && !String.class.equals(type)) + { + typeTitle = valueType.name() + "/" + ((Class) type).getSimpleName(); + } + else + { + typeTitle = valueType.name(); + } + + return typeTitle; + } + + public WerminalAction getUnimplementedAction(final String title) + { + + if (!_UnimplementedActions.containsKey(title)) + { + final UnimplementedAction action = new UnimplementedAction(this, title); + _UnimplementedActions.put(title, action); + } + + return _UnimplementedActions.get(title); + } + + public Map getUnimplementedActions() + { + + return _UnimplementedActions; + } + + public WerminalAction getWrmlOrgAction() + { + + return _WrmlOrgAction; + } + + public String listToString(final List listValue, final Type listType) + { + + final int itemCount = listValue.size(); + final String itemString = (itemCount == 1) ? "1 element" : itemCount + " elements"; + return listTypeToString(listType) + " " + "[ " + itemString + " ]"; + + } + + public String listTypeToString(final Type listType) + { + + final Type listElementType = ValueType.getListElementType(listType); + final Class listElementClass = (Class) listElementType; + final String stringValue = "List<" + listElementClass.getCanonicalName() + ">"; + return stringValue; + } + + public void newModelWindow(final URI schemaUri) + { + + LOG.debug("NewModelWindow created with schemaUri [{}]", schemaUri); + + // Get the engine's default context and schema loader + final Context context = getContext(); + + final Dimensions dimensions = new DimensionsBuilder(schemaUri).toDimensions(); + + final Model model = context.newModel(dimensions); + + openModelWindow(model); + } + + public void openListDialog(final FormField listFormField) + { + + final WerminalTextBox listFormFieldTextBox = listFormField.getFieldValueTextBox(); + final Type listType = listFormFieldTextBox.getHeapValueType(); + final List listValue = (List) listFormFieldTextBox.getValue(); + final String listValueString = listTypeToString(listType); + + final ListValueDialogConfirmationAction listValueDialogConfirmationAction = new ListValueDialogConfirmationAction( + this, listFormFieldTextBox); + + final AddAction addAction = new AddAction(this); + + final ListValueDialog listValueDialog = new ListValueDialog(this, listFormField.getFieldName() + " - " + + listValueString, new Component[]{new TerminalAppButtonPanel(addAction), + new TerminalAppButtonPanel(_ShowListMenuAction)}, listValueDialogConfirmationAction, _CancelAction); + + listValueDialogConfirmationAction.setListValueDialog(listValueDialog); + addAction.setListValueDialog(listValueDialog); + + listValueDialog.setList(listValue, ValueType.getListElementType(listType)); + + showWindow(listValueDialog, Position.FULL_SCREEN); + } + + @SuppressWarnings("unchecked") + public M openModel(final URI schemaUri, final Keys keys, final UUID heapId) + { + + if (schemaUri == null || (keys == null && heapId == null)) + { + return null; + } + + // Get the engine's default context and schema loader + final Context context = getContext(); + + final Dimensions dimensions; + final URI uri = context.getKeyValue(keys, Document.class); + if (uri != null) + { + final ApiLoader apiLoader = context.getApiLoader(); + dimensions = apiLoader.buildDocumentDimensions(Method.Get, uri, new DimensionsBuilder(schemaUri)); + } + else + { + dimensions = new DimensionsBuilder(schemaUri).toDimensions(); + } + + Model model = null; + String errorMessage = null; + try + { + if (heapId != null) + { + // model = context.newModel(dimensions); + // TODO: support this + showError("Opening by heapId is temporarily disabled."); + model = null; + } + else + { + model = context.getModel(keys, dimensions); + } + } + catch (final Exception e) + { + errorMessage = "An error occured while trying to open the model using schemaUri: " + schemaUri + ", Keys: " + + keys + "\nError: " + e.toString() + " - message: " + e.getMessage() + " - stack trace:\n" + + ExceptionUtils.getStackTrace(e); + } + + if (model == null) + { + if (errorMessage == null) + { + errorMessage = "Model could not be opened: (schemaUri: " + schemaUri + ", id: " + keys + ", heapId: " + + heapId + ")"; + } + + showError(errorMessage); + return null; + } + + return (M) model; + } + + public Window openModelWindow(final Model model) + { + + final URI schemaUri = model.getSchemaUri(); + addKeySlotValuesToHistory(schemaUri, model.getKeys()); + + final String title = ModelWindow.getModelWindowTitle(model); + + final ModelWindow modelWindow = new ModelWindow(this, title, new Component[]{ + new TerminalAppButtonPanel(_CloseAction), + new TerminalAppButtonPanel(_PrintPreviewAction), + new TerminalAppButtonPanel(_SetOriginAction), + new TerminalAppButtonPanel(_SaveAction) + }); + + modelWindow.setModel(model); + + // showWindow(modelWindow, Position.OVERLAPPING); + showWindow(modelWindow, Position.FULL_SCREEN); + + return modelWindow; + } + + public Window openModelWindow(final URI schemaUri, final Keys keys, final UUID heapId) + { + + if (keys == null || keys.getCount() == 0) + { + showError("\nPlease enter one (or more) key value(s)."); + return null; + } + + final Model model = openModel(schemaUri, keys, heapId); + if (model != null) + { + + return openModelWindow(model); + } + + return null; + } + + public void showMainMenuBarWindow() + { + // TODO: Make themes pluggable in a different way + final GUIScreen guiScreen = getGuiScreen(); + guiScreen.setTheme(getDefaultMenuTheme()); + + showWindow(getMainMenuBarWindow()); + } + + public void showSplashWindow() + { + + final Random easterEggDice = new Random(); + final int diceRoll = easterEggDice.nextInt(100) + 1; + final Theme theme; + switch (diceRoll) + { + case 77: + { + // Rolled double 7s on 2 d10! + theme = getLightTheme(); + break; + } + + default: + { + theme = getDefaultSplashTheme(); + break; + } + } + + final GUIScreen guiScreen = getGuiScreen(); + guiScreen.setTheme(theme); + + showWindow(getSplashWindow()); + } + + private void addKeySlotValuesToHistory(final URI historyListSchemaUri, final Keys keys) + { + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + if (keys == null || keys.getCount() == 0) + { + return; + } + + for (final URI keyedSchemaUri : keys.getKeyedSchemaUris()) + { + final Object keyValue = keys.getValue(keyedSchemaUri); + + final Prototype keyDeclaredPrototype = schemaLoader.getPrototype(keyedSchemaUri); + if (keyDeclaredPrototype == null) + { + continue; + } + final SortedSet keySlotNames = keyDeclaredPrototype.getDeclaredKeySlotNames(); + + if (keySlotNames == null || keySlotNames.isEmpty()) + { + continue; + } + + if (keySlotNames.size() == 1) + { + final String keySlotName = keySlotNames.first(); + + addSlotValueToHistory(historyListSchemaUri, keySlotName, keyValue); + } + else + { + final CompositeKey compositeKey = (CompositeKey) keyValue; + if (compositeKey == null) + { + continue; + } + + final Map compositeKeySlots = compositeKey.getKeySlots(); + for (final String compositeKeySlotName : compositeKeySlots.keySet()) + { + final Object compositeKeySlotValue = compositeKeySlots.get(compositeKeySlotName); + if (compositeKeySlotValue != null) + { + addSlotValueToHistory(historyListSchemaUri, compositeKeySlotName, compositeKeySlotValue); + } + } + } + } + } + + private void compileSlotValueHistoryLists(final List slotValueHistoryLists) + { + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final SyntaxLoader syntaxLoader = context.getSyntaxLoader(); + + for (final SlotValueHistoryListModel slotValueHistoryList : slotValueHistoryLists) + { + final URI historyListSchemaUri = slotValueHistoryList.getHistoryListSchemaUri(); + + _SlotValueHistoryModels.put(historyListSchemaUri, slotValueHistoryList); + + final Prototype prototype; + try + { + prototype = schemaLoader.getPrototype(historyListSchemaUri); + } + catch (PrototypeException e) + { + LOG.debug("Failed to load prototype for: " + historyListSchemaUri, e); + continue; + } + + if (prototype == null) + { + LOG.debug("Failed to load prototype for: " + historyListSchemaUri); + continue; + } + + final List slotValueEntries = slotValueHistoryList.getSlotValueEntries(); + + for (final EntryModel entry : slotValueEntries) + { + final String slotName = entry.getName(); + final String slotValueString = entry.getValue(); + + final ProtoSlot protoSlot = prototype.getProtoSlot(slotName); + final Object slotValue = syntaxLoader.parseSyntacticText(slotValueString, protoSlot.getHeapValueType()); + + final SortedSet slotValueHistory = getSlotValueHistory(historyListSchemaUri, slotName); + slotValueHistory.add(slotValue); + } + } + + } + + public LoadApiDialog getLoadApiDialog() + { + + return _LoadApiDialog; + } + + public PrintDialog getPrintDialog() + { + + return _PrintDialog; + } + +} + + + diff --git a/cli/src/main/java/org/wrml/werminal/WerminalException.java b/cli/src/main/java/org/wrml/werminal/WerminalException.java new file mode 100644 index 0000000..95a9e12 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/WerminalException.java @@ -0,0 +1,44 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal; + +import org.wrml.werminal.terminal.TerminalAppException; + +/** + * The {@link Werminal}'s associated error type. + */ +public class WerminalException extends TerminalAppException +{ + + private static final long serialVersionUID = 1L; + + WerminalException(final String message, final Throwable cause, final Werminal werminal) + { + + super(message, cause, werminal); + + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/AddAction.java b/cli/src/main/java/org/wrml/werminal/action/AddAction.java new file mode 100644 index 0000000..1fbf2ed --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/AddAction.java @@ -0,0 +1,79 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.werminal.Werminal; +import org.wrml.werminal.dialog.ListValueDialog; + +import java.lang.reflect.Type; +import java.net.URI; + +public class AddAction extends WerminalAction +{ + + private ListValueDialog _ListValueDialog; + + public AddAction(final Werminal werminal) + { + + super(werminal, "Add..."); + } + + @Override + public void doAction() + { + + final Werminal werminal = getWerminal(); + + final ListValueDialog listValueDialog = getListValueDialog(); + Object initialValue = null; + + final Type listElementType = listValueDialog.getListElementType(); + if (String.class.equals(listElementType)) + { + + } + else if (URI.class.equals(listElementType)) + { + // TODO: Only do this for base schema uris slot + initialValue = werminal.createSchemaUri("MyBaseModel"); + } + + listValueDialog.addFormField(initialValue); + + } + + public ListValueDialog getListValueDialog() + { + + return _ListValueDialog; + } + + public void setListValueDialog(final ListValueDialog listValueDialog) + { + + _ListValueDialog = listValueDialog; + } +} diff --git a/cli/src/main/java/org/wrml/werminal/action/CancelAction.java b/cli/src/main/java/org/wrml/werminal/action/CancelAction.java new file mode 100644 index 0000000..96eeb96 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/CancelAction.java @@ -0,0 +1,38 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.werminal.Werminal; + +public class CancelAction extends CloseBeforeAction +{ + + public CancelAction(final Werminal werminal) + { + + super(werminal, "Cancel"); + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/CloseAfterAction.java b/cli/src/main/java/org/wrml/werminal/action/CloseAfterAction.java new file mode 100644 index 0000000..4159332 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/CloseAfterAction.java @@ -0,0 +1,63 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.werminal.Werminal; + +public class CloseAfterAction extends DelegatingPhasedWerminalAction +{ + + public CloseAfterAction(final Werminal werminal) + { + + super(werminal, "Close"); + } + + public CloseAfterAction(final Werminal werminal, final String title) + { + + super(werminal, title); + } + + public CloseAfterAction(final Werminal werminal, final String title, final WerminalAction delegate) + { + + super(werminal, title, delegate); + } + + public CloseAfterAction(final Werminal werminal, final WerminalAction delegate) + { + + super(werminal, delegate); + } + + @Override + protected void postDoIt() + { + + getWerminal().closeTopWindow(); + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/CloseBeforeAction.java b/cli/src/main/java/org/wrml/werminal/action/CloseBeforeAction.java new file mode 100644 index 0000000..de6e038 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/CloseBeforeAction.java @@ -0,0 +1,64 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.werminal.Werminal; + +public class CloseBeforeAction extends DelegatingPhasedWerminalAction +{ + + public CloseBeforeAction(final Werminal werminal) + { + + super(werminal, "Close"); + } + + public CloseBeforeAction(final Werminal werminal, final String title) + { + + super(werminal, title); + } + + public CloseBeforeAction(final Werminal werminal, final String title, final WerminalAction delegate) + { + + super(werminal, title, delegate); + } + + public CloseBeforeAction(final Werminal werminal, final WerminalAction delegate) + { + + super(werminal, delegate); + } + + @Override + protected boolean preDoIt() + { + + getWerminal().closeTopWindow(); + return true; + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/DelegatingPhasedWerminalAction.java b/cli/src/main/java/org/wrml/werminal/action/DelegatingPhasedWerminalAction.java new file mode 100644 index 0000000..7121032 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/DelegatingPhasedWerminalAction.java @@ -0,0 +1,85 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.werminal.Werminal; + +public class DelegatingPhasedWerminalAction extends PhasedWerminalAction +{ + + private final WerminalAction _Delegate; + + public DelegatingPhasedWerminalAction(final Werminal werminal, final String title) + { + + this(werminal, title, null); + } + + public DelegatingPhasedWerminalAction(final Werminal werminal, final String title, final WerminalAction delegate) + { + + super(werminal, (title != null) ? title : delegate.getTitle()); + _Delegate = delegate; + } + + public DelegatingPhasedWerminalAction(final Werminal werminal, final WerminalAction delegate) + { + + this(werminal, null, delegate); + } + + + public final WerminalAction getDelegate() + { + + return _Delegate; + } + + @Override + protected boolean doIt() + { + + final WerminalAction delegate = getDelegate(); + if (delegate != null) + { + delegate.doAction(); + } + return true; + } + + @Override + protected void postDoIt() + { + + } + + @Override + protected boolean preDoIt() + { + + return true; + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/DeleteAction.java b/cli/src/main/java/org/wrml/werminal/action/DeleteAction.java new file mode 100644 index 0000000..bafbfd9 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/DeleteAction.java @@ -0,0 +1,61 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.model.Model; +import org.wrml.runtime.Context; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.window.ModelWindow; + +public class DeleteAction extends WerminalAction +{ + + public DeleteAction(final Werminal werminal) + { + + super(werminal, "Delete"); + } + + @Override + public void doAction() + { + + final Werminal werminal = getWerminal(); + final ModelWindow modelWindow = (ModelWindow) werminal.getTopWindow(); + final Model model = modelWindow.syncModel(); + try + { + + final Context context = getContext(); + context.deleteModel(model.getKeys(), model.getDimensions()); + + } + catch (final Exception t) + { + werminal.showError("An unexpected error occurred while deleting the model.", t); + } + + } +} \ No newline at end of file diff --git a/cli/src/main/java/org/wrml/werminal/action/EnumValueSelectionConfirmationAction.java b/cli/src/main/java/org/wrml/werminal/action/EnumValueSelectionConfirmationAction.java new file mode 100644 index 0000000..609641f --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/EnumValueSelectionConfirmationAction.java @@ -0,0 +1,78 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.werminal.Werminal; +import org.wrml.werminal.component.WerminalTextBox; +import org.wrml.werminal.dialog.EnumValueDialog; + +public class EnumValueSelectionConfirmationAction extends CloseBeforeAction +{ + + private final WerminalTextBox _ValueTextBox; + + private EnumValueDialog _EnumValueDialog; + + public EnumValueSelectionConfirmationAction(final Werminal werminal, final WerminalTextBox valueTextBox) + { + + super(werminal, "OK"); + _ValueTextBox = valueTextBox; + } + + public EnumValueDialog getEnumValueDialog() + { + + return _EnumValueDialog; + } + + public WerminalTextBox getValueTextBox() + { + + return _ValueTextBox; + } + + public void setEnumValueDialog(final EnumValueDialog enumValueDialog) + { + + _EnumValueDialog = enumValueDialog; + } + + @Override + protected boolean doIt() + { + + final Enum selectedValue = _EnumValueDialog.getSelectedValue(); + final Enum currentValue = _ValueTextBox.getValue(); + + if (selectedValue != currentValue) + { + _ValueTextBox.setValue(selectedValue, false); + } + + return true; + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/ExitAction.java b/cli/src/main/java/org/wrml/werminal/action/ExitAction.java new file mode 100644 index 0000000..c148cf2 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/ExitAction.java @@ -0,0 +1,38 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.werminal.Werminal; + +public class ExitAction extends CloseBeforeAction +{ + + public ExitAction(final Werminal werminal) + { + + super(werminal, "Exit"); + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/FormFieldOpenAction.java b/cli/src/main/java/org/wrml/werminal/action/FormFieldOpenAction.java new file mode 100644 index 0000000..2df5ae6 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/FormFieldOpenAction.java @@ -0,0 +1,333 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import com.googlecode.lanterna.gui.GUIScreen.Position; +import com.googlecode.lanterna.gui.Window; +import org.wrml.model.Model; +import org.wrml.model.rest.Link; +import org.wrml.model.rest.LinkRelation; +import org.wrml.model.rest.LinkTemplate; +import org.wrml.model.rest.Method; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.DimensionsBuilder; +import org.wrml.runtime.Keys; +import org.wrml.runtime.rest.ApiLoader; +import org.wrml.runtime.rest.ApiNavigator; +import org.wrml.runtime.rest.Resource; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.runtime.schema.ValueType; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.component.FormField; +import org.wrml.werminal.component.WerminalTextBox; +import org.wrml.werminal.dialog.EnumValueDialog; +import org.wrml.werminal.dialog.InvocationDialog; +import org.wrml.werminal.dialog.ListValueDialog; +import org.wrml.werminal.dialog.NewOrOpenModelDialog; +import org.wrml.werminal.window.ModelWindow; + +import java.net.URI; +import java.util.UUID; + +public class FormFieldOpenAction extends WerminalAction +{ + + private FormField _FormField; + + public FormFieldOpenAction(final Werminal werminal) + { + + super(werminal, "..."); + } + + @Override + public void doAction() + { + + final Werminal werminal = getWerminal(); + final Context context = werminal.getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final ApiLoader apiLoader = context.getApiLoader(); + final Window topWindow = werminal.getTopWindow(); + + final FormField formField = getFormField(); + final String formFieldName = formField.getFieldName(); + final WerminalTextBox valueTextBox = formField.getFieldValueTextBox(); + final ValueType valueType = valueTextBox.getValueType(); + final Object currentValue = valueTextBox.getValue(); + + switch (valueType) + { + case Boolean: + { + Boolean currentBooleanValue = (Boolean) currentValue; + if (currentBooleanValue == null) + { + currentBooleanValue = Boolean.FALSE; + } + valueTextBox.setValue(!(currentBooleanValue), false); + + break; + } + case Link: + { + final Link link = (Link) currentValue; + if (link == null) + { + if (!(topWindow instanceof ModelWindow)) + { + + final String dialogTitle = "How would you like to initialize \"" + formFieldName + "\"?"; + + final NewOrOpenModelDialog newOrOpenModelDialog = + new NewOrOpenModelDialog(werminal, dialogTitle, new CancelAction(werminal), formField); + + werminal.showWindow(newOrOpenModelDialog, Position.CENTER); + } + else + { + + werminal.showMessageBox("Empty Link Slot", + "This Link slot value is empty; it is not \"clickable\"."); + } + + break; + } + + final URI linkRelationUri = link.getRel(); + final LinkRelation linkRelation = apiLoader.loadLinkRelation(linkRelationUri); + final Method method = linkRelation.getMethod(); + + if (topWindow instanceof ListValueDialog) + { + if (method != Method.Get) + { + werminal.showMessageBox("Not Implemented", "Support for referencing links with the method: " + + method + " (HTTP " + method.getProtocolGivenName() + ") has not been implemented for Links within a List."); + + break; + } + + final URI documentSchemaUri = schemaLoader.getDocumentSchemaUri(); + final URI href = link.getHref(); + if (href != null) + { + final ApiNavigator apiNavigator = apiLoader.getParentApiNavigator(href); + final Resource endpoint = apiNavigator.getResource(href); + final LinkTemplate referenceTemplate = endpoint.getReferenceTemplates().get(linkRelationUri); + final URI responseSchemaUri = referenceTemplate.getResponseSchemaUri(); + + final URI schemaUri; + if (responseSchemaUri != null) + { + schemaUri = responseSchemaUri; + } + else + { + schemaUri = documentSchemaUri; + } + + final Keys keys = apiLoader.buildDocumentKeys(href, schemaUri); + final Dimensions dimensions = new DimensionsBuilder(schemaUri).toDimensions(); + final Model referencedModel = context.getModel(keys, dimensions); + if (referencedModel == null) + { + werminal.showMessageBox("404", "Failed to open linked document."); + break; + } + + werminal.openModelWindow(referencedModel); + } + break; + } + else if (topWindow instanceof ModelWindow) + { + final ModelWindow modelWindow = (ModelWindow) werminal.getTopWindow(); + final Model model = modelWindow.syncModel(); + + + switch (method) + { + case Delete: + { + // TODO: Prompt to delete + werminal.showMessageBox("Not Implemented", "Support for referencing links with the method: " + + method + " (HTTP " + method.getProtocolGivenName() + + ") has not been implemented in Werminal (yet)."); + break; + + } + case Get: + { + final Model referencedModel = model.reference(formFieldName); + werminal.openModelWindow(referencedModel); + break; + } + case Invoke: + { + + final String dialogTitle = Method.Invoke.name() + " (" + Method.Invoke.getProtocolGivenName() + ") "; + + + try + { + final InvocationDialog invocationDialog = new InvocationDialog(werminal, dialogTitle, model, formField); + werminal.showWindow(invocationDialog, Position.CENTER); + } + catch (ClassNotFoundException e) + { + werminal.showError("Could not load Schema Java interface.", e); + return; + } + + + break; + } + case Metadata: + { + werminal.showMessageBox("Not Implemented", "Support for referencing links with the method: " + + method + " (HTTP " + method.getProtocolGivenName() + + ") has not been implemented in Werminal (yet)."); + break; + + } + case Options: + { + werminal.showMessageBox("Not Implemented", "Support for referencing links with the method: " + + method + " (HTTP " + method.getProtocolGivenName() + + ") has not been implemented in Werminal (yet)."); + break; + + } + case Save: + { + // TODO: Prompt to save + werminal.showMessageBox("Not Implemented", "Support for referencing links with the method: " + + method + " (HTTP " + method.getProtocolGivenName() + + ") has not been implemented in Werminal (yet)."); + break; + + } + default: + { + werminal.showMessageBox("Not Implemented", "Support for referencing links with the method: " + + method + " (HTTP " + method.getProtocolGivenName() + + ") has not been implemented in Werminal (yet)."); + break; + } + + } + + break; + + } + else + { + werminal.showMessageBox("Not Implemented", "Support for referencing Link slots has not been implemented (yet)."); + } + + break; + } + + case List: + { + // werminal.showMessageBox("Not Implemented", + // "Support for opening List slots has not been implemented (yet)."); + werminal.openListDialog(formField); + break; + } + case Model: + { + + if (currentValue == null) + { + + final String dialogTitle = "How would you like to initialize \"" + formFieldName + "\"?"; + + final NewOrOpenModelDialog newOrOpenModelDialog = + new NewOrOpenModelDialog(werminal, dialogTitle, new CancelAction(werminal), formField); + + werminal.showWindow(newOrOpenModelDialog, Position.CENTER); + + } + else if (currentValue instanceof Model) + { + final Model nestedModel = (Model) currentValue; + werminal.openModelWindow(nestedModel); + } + break; + } + case SingleSelect: + { + final Enum selectedValue = (Enum) currentValue; + + final EnumValueSelectionConfirmationAction enumValueSelectionConfirmationAction = new EnumValueSelectionConfirmationAction( + werminal, valueTextBox); + + final EnumValueDialog enumValueDialog = new EnumValueDialog(werminal, "Select One Value", + enumValueSelectionConfirmationAction, new CancelAction(werminal)); + enumValueSelectionConfirmationAction.setEnumValueDialog(enumValueDialog); + + enumValueDialog.setSelectedValue(selectedValue); + + werminal.showWindow(enumValueDialog, Position.CENTER); + + break; + } + case Text: + + + if (currentValue == null && valueTextBox.getHeapValueType().equals(UUID.class)) + { + valueTextBox.setValue(UUID.randomUUID(), false); + } + else + { + werminal.showMessageBox("Text (Not Implemented)", + "Support for opening Text slots has not been implemented (yet)."); + } + break; + + default: + werminal.showMessageBox("Not Implemented", + "Support for opening this slot type has not been implemented (yet)."); + break; + } + } + + public FormField getFormField() + { + + return _FormField; + } + + public void setFormField(final FormField formField) + { + + _FormField = formField; + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/HelpGuideAction.java b/cli/src/main/java/org/wrml/werminal/action/HelpGuideAction.java new file mode 100644 index 0000000..dd79e09 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/HelpGuideAction.java @@ -0,0 +1,75 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.werminal.Werminal; + +import java.io.IOException; +import java.net.URI; + +public class HelpGuideAction extends WerminalAction +{ + + private final URI GUIDE_URI = URI.create("http://www.wrml.org/werminal/WerminalMastersHandbook.pdf"); + + public HelpGuideAction(final Werminal werminal) + { + + super(werminal, "Help Guide"); + } + + @Override + public void doAction() + { + + final Werminal werminal = getWerminal(); + + if (!java.awt.Desktop.isDesktopSupported()) + { + werminal.showSplashWindow(); + return; + } + + final java.awt.Desktop desktop = java.awt.Desktop.getDesktop(); + + if (!desktop.isSupported(java.awt.Desktop.Action.BROWSE)) + { + werminal.showSplashWindow(); + return; + } + + try + { + desktop.browse(GUIDE_URI); + } + catch (final IOException e) + { + System.err.println(e.getMessage()); + werminal.showSplashWindow(); + return; + } + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/ListValueDialogConfirmationAction.java b/cli/src/main/java/org/wrml/werminal/action/ListValueDialogConfirmationAction.java new file mode 100644 index 0000000..5dfd7e3 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/ListValueDialogConfirmationAction.java @@ -0,0 +1,81 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.apache.commons.collections.ListUtils; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.component.WerminalTextBox; +import org.wrml.werminal.dialog.ListValueDialog; + +import java.util.List; + +public class ListValueDialogConfirmationAction extends CloseBeforeAction +{ + + private final WerminalTextBox _ValueTextBox; + + private ListValueDialog _ListValueDialog; + + public ListValueDialogConfirmationAction(final Werminal werminal, final WerminalTextBox valueTextBox) + { + + super(werminal, "OK"); + _ValueTextBox = valueTextBox; + } + + public ListValueDialog getListValueDialog() + { + + return _ListValueDialog; + } + + public WerminalTextBox getValueTextBox() + { + + return _ValueTextBox; + } + + public void setListValueDialog(final ListValueDialog listValueDialog) + { + + _ListValueDialog = listValueDialog; + } + + @Override + protected boolean doIt() + { + + final List dialogValue = _ListValueDialog.getList(); + final List currentValue = _ValueTextBox.getValue(); + + if (!ListUtils.isEqualList(dialogValue, currentValue)) + { + _ValueTextBox.setValue(dialogValue, false); + } + + return true; + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/LoadAction.java b/cli/src/main/java/org/wrml/werminal/action/LoadAction.java new file mode 100644 index 0000000..10cfc6d --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/LoadAction.java @@ -0,0 +1,164 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.model.Model; +import org.wrml.model.rest.Api; +import org.wrml.model.rest.Document; +import org.wrml.model.rest.LinkRelation; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.Context; +import org.wrml.runtime.rest.ApiLoader; +import org.wrml.runtime.rest.SystemApi; +import org.wrml.runtime.rest.SystemLinkRelation; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.window.ModelWindow; + +import java.net.URI; + +public class LoadAction extends WerminalAction +{ + + /** + *

+ * Returns true if the specified {@link Model} is loadable by the WRML runtime. Loadability only + * applies to built-in, system {@link Model}s such as {@link Api}, {@link LinkRelation}s, and {@link Schema}. + *

+ *

+ * Loading these {@link Model}s at runtime enables a WRML runtime system to change and evolve dynamically (without + * restart). + *

+ */ + public final static boolean appliesTo(final Model model) + { + + if (!(model instanceof Document)) + { + return false; + } + + final URI uri = ((Document) model).getUri(); + if (uri == null) + { + return false; + } + + if (model instanceof Api) + { + + for (final SystemApi systemApi : SystemApi.values()) + { + if (systemApi.getUri().equals(uri)) + { + return false; + } + } + + return true; + + } + else if (model instanceof LinkRelation) + { + + for (final SystemLinkRelation systemLinkRelation : SystemLinkRelation.values()) + { + if (systemLinkRelation.getUri().equals(uri)) + { + return false; + } + } + + return true; + } + else if (model instanceof Schema) + { + // If it got this far, the Schema is already "loaded" but it may not be class generated, loaded, or + // (finally) prototyped by the runtime. Check if we already have a Prototype associated with the Schema, + // if so there is no more "loading" to be done with the Schema. + final SchemaLoader schemaLoader = model.getContext().getSchemaLoader(); + return !schemaLoader.isPrototyped(uri); + } + + return false; + } + + public LoadAction(final Werminal werminal) + { + + super(werminal, "Load"); + } + + @Override + public void doAction() + { + + final Werminal werminal = getWerminal(); + final ModelWindow modelWindow = (ModelWindow) werminal.getTopWindow(); + final Model model = modelWindow.syncModel(); + + if (model == null) + { + werminal.showError("The model is null."); + } + + final Context context = werminal.getContext(); + final ApiLoader apiLoader = context.getApiLoader(); + + if (!LoadAction.appliesTo(model)) + { + werminal.showError("The model (schema: " + model.getSchemaUri() + ") is not loadable."); + } + + final URI uri = ((Document) model).getUri(); + if (uri == null) + { + return; + } + + if (model instanceof Api) + { + final Api api = (Api) model; + apiLoader.loadApi(api); + } + else if (model instanceof LinkRelation) + { + final LinkRelation linkRelation = (LinkRelation) model; + apiLoader.loadLinkRelation(linkRelation); + } + else if (model instanceof Schema) + { + final Schema schema = (Schema) model; + final SchemaLoader schemaLoader = context.getSchemaLoader(); + schemaLoader.load(schema); + schemaLoader.getPrototype(uri); + } + + modelWindow.updateLoadButton(); + + werminal.showMessageBox(getTitle() + " Complete", "\n\nThe load operation completed successfully.\n"); + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/NewAction.java b/cli/src/main/java/org/wrml/werminal/action/NewAction.java new file mode 100644 index 0000000..37f35cb --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/NewAction.java @@ -0,0 +1,46 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.werminal.Werminal; + +public class NewAction extends WerminalAction +{ + + public NewAction(final Werminal werminal) + { + + super(werminal, "New..."); + } + + @Override + public void doAction() + { + + final Werminal werminal = getWerminal(); + werminal.showWindow(werminal.getNewModelDialog()); + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/NewConfirmationAction.java b/cli/src/main/java/org/wrml/werminal/action/NewConfirmationAction.java new file mode 100644 index 0000000..0735ccb --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/NewConfirmationAction.java @@ -0,0 +1,67 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.runtime.Context; +import org.wrml.runtime.schema.Prototype; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.dialog.NewModelDialog; + +import java.net.URI; + +public class NewConfirmationAction extends CloseBeforeAction +{ + + public NewConfirmationAction(final Werminal werminal) + { + + super(werminal, "OK"); + } + + @Override + protected boolean doIt() + { + + final Werminal werminal = getWerminal(); + + final NewModelDialog newModelDialog = werminal.getNewModelDialog(); + final URI schemaUri = newModelDialog.getSchemaUri(); + + final Context context = werminal.getContext(); + final Prototype prototype = context.getSchemaLoader().getPrototype(schemaUri); + if (prototype.isAbstract()) + { + werminal.showError("\"" + + schemaUri + + "\" is *Abstract*, meaning that models cannot be created based on this type directly. Try a subschema?"); + return false; + } + + werminal.newModelWindow(schemaUri); + + return true; + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/NewModelAction.java b/cli/src/main/java/org/wrml/werminal/action/NewModelAction.java new file mode 100644 index 0000000..1d03749 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/NewModelAction.java @@ -0,0 +1,149 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import com.googlecode.lanterna.gui.GUIScreen.Position; +import org.wrml.model.Model; +import org.wrml.runtime.Context; +import org.wrml.runtime.schema.Prototype; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.component.FormField; +import org.wrml.werminal.component.WerminalTextBox; +import org.wrml.werminal.dialog.NewModelDialog; + +import java.lang.reflect.Type; +import java.net.URI; +import java.util.SortedSet; + +public class NewModelAction extends CloseBeforeAction +{ + + private final FormField _FormField; + + public NewModelAction(final Werminal werminal, final FormField formField) + { + + super(werminal, "New..."); + _FormField = formField; + } + + public FormField getFormField() + { + + return _FormField; + } + + @Override + protected boolean doIt() + { + + final Werminal werminal = getWerminal(); + final FormField formField = getFormField(); + final Context context = werminal.getContext(); + + final ConfirmAction confirmAction = new ConfirmAction(werminal); + + final WerminalTextBox valueTextBox = formField.getFieldValueTextBox(); + final Type heapValueType = valueTextBox.getHeapValueType(); + final URI schemaUri = context.getSchemaLoader().getTypeUri(heapValueType); + final String dialogTitle = "New \"" + schemaUri + "\""; + final NewModelDialog newModelDialog = new NewModelDialog(werminal, dialogTitle, confirmAction, + werminal.getCancelAction()); + + confirmAction.setNewModelDialog(newModelDialog); + + final SortedSet historyItems = werminal.getNewModelDialog().getSchemaUriHistoryCheckBoxList().getItems(); + newModelDialog.getSchemaUriHistoryCheckBoxList().addItems(historyItems); + + newModelDialog.setSchemaUri(schemaUri); + werminal.showWindow(newModelDialog, Position.CENTER); + + return true; + } + + private class ConfirmAction extends CloseBeforeAction + { + + private NewModelDialog _NewModelDialog; + + public ConfirmAction(final Werminal werminal) + { + + super(werminal, "OK"); + } + + public NewModelDialog getNewModelDialog() + { + + return _NewModelDialog; + } + + public void setNewModelDialog(final NewModelDialog newModelDialog) + { + + _NewModelDialog = newModelDialog; + + } + + @Override + protected boolean doIt() + { + + final Werminal werminal = getWerminal(); + final FormField formField = getFormField(); + + final NewModelDialog newModelDialog = getNewModelDialog(); + final URI schemaUri = newModelDialog.getSchemaUri(); + + final Context context = werminal.getContext(); + + final Prototype prototype = context.getSchemaLoader().getPrototype(schemaUri); + if (prototype.isAbstract()) + { + werminal.showError("\"" + + schemaUri + + "\" is *Abstract*, meaning that models cannot be created based on this type directly. Try a subschema?"); + return false; + } + + try + { + final Model newModel = context.newModel(schemaUri); + formField.getFieldValueTextBox().setValue(newModel, false); + werminal.openModelWindow(newModel); + } + catch (final Exception t) + { + final String errorMessage = "An unexpected error has occurred."; + werminal.showError(errorMessage, t); + Werminal.LOG.error(errorMessage + " (" + t.getMessage() + ")", t); + return false; + } + + return true; + } + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/OpenAction.java b/cli/src/main/java/org/wrml/werminal/action/OpenAction.java new file mode 100644 index 0000000..92c705b --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/OpenAction.java @@ -0,0 +1,45 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.werminal.Werminal; + +public class OpenAction extends WerminalAction +{ + + public OpenAction(final Werminal werminal) + { + + super(werminal, "Open..."); + } + + @Override + public void doAction() + { + + final Werminal werminal = getWerminal(); + werminal.showWindow(werminal.getOpenModelDialog()); + } +} diff --git a/cli/src/main/java/org/wrml/werminal/action/OpenConfirmationAction.java b/cli/src/main/java/org/wrml/werminal/action/OpenConfirmationAction.java new file mode 100644 index 0000000..c1e1bfc --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/OpenConfirmationAction.java @@ -0,0 +1,135 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import com.googlecode.lanterna.gui.GUIScreen; +import com.googlecode.lanterna.gui.Window; +import com.googlecode.lanterna.gui.dialog.DialogButtons; +import com.googlecode.lanterna.gui.dialog.DialogResult; +import com.googlecode.lanterna.gui.dialog.MessageBox; +import org.wrml.runtime.Context; +import org.wrml.runtime.Keys; +import org.wrml.runtime.rest.ApiLoader; +import org.wrml.runtime.rest.ApiNavigator; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.dialog.LoadApiDialog; +import org.wrml.werminal.dialog.OpenModelDialog; + +import java.net.URI; + +public class OpenConfirmationAction extends CloseBeforeAction +{ + + public OpenConfirmationAction(final Werminal werminal) + { + + super(werminal, "OK"); + } + + @Override + protected boolean doIt() + { + + final Werminal werminal = getWerminal(); + final Context context = werminal.getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + + final OpenModelDialog openModelDialog = werminal.getOpenModelDialog(); + final URI schemaUri = openModelDialog.getSchemaUri(); + final Keys keys = openModelDialog.getKeys(); + + URI uri = null; + ApiNavigator apiNavigator = null; + + if (keys != null) + { + final ApiLoader apiLoader = context.getApiLoader(); + uri = keys.getValue(schemaLoader.getDocumentSchemaUri()); + if (uri != null) + { + apiNavigator = apiLoader.getParentApiNavigator(uri); + } + } + + Window window = null; + boolean cancelled = false; + + if (schemaUri == null) + { + werminal.showError("\nPlease indicate the type of data that you would like to open by entering a Schema URI value.\n\n "); + cancelled = true; + } + else if (keys == null || keys.getKeyedSchemaUris().isEmpty()) + { + werminal.showError("\nPlease enter one or more key values to identify the data that you would like to open.\n\n "); + cancelled = true; + } + else if (uri != null && !schemaLoader.getApiSchemaUri().equals(schemaUri) && apiNavigator == null) + { + + final GUIScreen owner = werminal.getGuiScreen(); + final String title = "Load Parent REST API Metadata?"; + final String message = werminal + .formatMessageBoxTextToWrap("\nThe URI:\n\n\t" + + uri + + "\n\nIs not parented by any loaded REST API metadata.\n\nDo you wish to load this URI's parent REST API metadata now?\n\n "); + final DialogButtons buttons = DialogButtons.YES_NO_CANCEL; + final DialogResult result = MessageBox.showMessageBox(owner, title, message, buttons); + + if (result == DialogResult.YES) + { + final LoadApiDialog loadApiDialog = werminal.getLoadApiDialog(); + loadApiDialog.setApiUri(uri); + werminal.showWindow(loadApiDialog); + if (loadApiDialog.isCancelled()) + { + cancelled = true; + } + + } + else if (result == DialogResult.CANCEL) + { + cancelled = true; + } + + } + + if (!cancelled) + { + window = werminal.openModelWindow(schemaUri, keys, openModelDialog.getHeapId()); + } + + if (window == null) + { + // Kind of a hack, re-open the open dialog. + werminal.getOpenAction().doAction(); + return false; + } + + return true; + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/OpenModelAction.java b/cli/src/main/java/org/wrml/werminal/action/OpenModelAction.java new file mode 100644 index 0000000..e5e2a6f --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/OpenModelAction.java @@ -0,0 +1,144 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import com.googlecode.lanterna.gui.GUIScreen.Position; +import org.wrml.model.Model; +import org.wrml.runtime.Context; +import org.wrml.runtime.Keys; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.component.FormField; +import org.wrml.werminal.component.WerminalTextBox; +import org.wrml.werminal.dialog.OpenModelDialog; + +import java.lang.reflect.Type; +import java.net.URI; +import java.util.SortedSet; +import java.util.UUID; + +public class OpenModelAction extends CloseBeforeAction +{ + + private final FormField _FormField; + + public OpenModelAction(final Werminal werminal, final FormField formField) + { + + super(werminal, "Open..."); + _FormField = formField; + } + + public FormField getFormField() + { + + return _FormField; + } + + @Override + protected boolean doIt() + { + + final Werminal werminal = getWerminal(); + final FormField formField = getFormField(); + final Context context = werminal.getContext(); + + final ConfirmAction confirmAction = new ConfirmAction(werminal); + + final WerminalTextBox valueTextBox = formField.getFieldValueTextBox(); + final Type heapValueType = valueTextBox.getHeapValueType(); + final URI schemaUri = context.getSchemaLoader().getTypeUri(heapValueType); + + final String dialogTitle = " Open \"" + schemaUri + "\" "; + final OpenModelDialog openModelDialog = new OpenModelDialog(werminal, dialogTitle, confirmAction, + werminal.getCancelAction()); + + confirmAction.setOpenModelDialog(openModelDialog); + + final SortedSet historyItems = werminal.getOpenModelDialog().getSchemaUriHistoryCheckBoxList().getItems(); + openModelDialog.getSchemaUriHistoryCheckBoxList().addItems(historyItems); + + openModelDialog.setSchemaUri(schemaUri); + werminal.showWindow(openModelDialog, Position.CENTER); + + return true; + } + + private class ConfirmAction extends CloseBeforeAction + { + + private OpenModelDialog _OpenModelDialog; + + public ConfirmAction(final Werminal werminal) + { + + super(werminal, "OK"); + } + + public OpenModelDialog getOpenModelDialog() + { + + return _OpenModelDialog; + } + + public void setOpenModelDialog(final OpenModelDialog openModelDialog) + { + + _OpenModelDialog = openModelDialog; + + } + + @Override + protected boolean doIt() + { + + final OpenModelDialog openModelDialog = getOpenModelDialog(); + + final URI schemaUri = openModelDialog.getSchemaUri(); + final Keys keys = openModelDialog.getKeys(); + final UUID heapId = openModelDialog.getHeapId(); + + final Werminal werminal = getWerminal(); + + if (schemaUri == null) + { + werminal.showError("\nPlease indicate the type of data that you would like to open by entering a Schema URI value.\n\n "); + return false; + } + else if (keys == null || keys.getKeyedSchemaUris().isEmpty()) + { + werminal.showError("\nPlease enter one or more key values to identify the data that you would like to open.\n\n "); + return false; + } + + final Model openedModel = werminal.openModel(schemaUri, keys, heapId); + + final FormField formField = getFormField(); + formField.getFieldValueTextBox().setValue(openedModel, false); + + return true; + } + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/PhasedWerminalAction.java b/cli/src/main/java/org/wrml/werminal/action/PhasedWerminalAction.java new file mode 100644 index 0000000..7761481 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/PhasedWerminalAction.java @@ -0,0 +1,57 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.werminal.Werminal; + +public abstract class PhasedWerminalAction extends WerminalAction +{ + + public PhasedWerminalAction(final Werminal werminal, final String title) + { + + super(werminal, title); + } + + @Override + public final void doAction() + { + + if (preDoIt()) + { + if (doIt()) + { + postDoIt(); + } + } + } + + protected abstract boolean doIt(); + + protected abstract void postDoIt(); + + protected abstract boolean preDoIt(); + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/PrintAction.java b/cli/src/main/java/org/wrml/werminal/action/PrintAction.java new file mode 100644 index 0000000..9c11925 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/PrintAction.java @@ -0,0 +1,146 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import com.googlecode.lanterna.gui.GUIScreen; +import com.googlecode.lanterna.gui.Window; +import org.wrml.model.Model; +import org.wrml.model.Named; +import org.wrml.model.Titled; +import org.wrml.model.UniquelyNamed; +import org.wrml.model.format.Format; +import org.wrml.model.rest.Document; +import org.wrml.util.UniqueName; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.dialog.PrintDialog; +import org.wrml.werminal.dialog.PrintPreviewDialog; + +import java.io.File; +import java.io.IOException; +import java.net.URI; + +public class PrintAction extends CloseAfterAction +{ + public PrintAction(final Werminal werminal) + { + + super(werminal, "Print..."); + } + + @Override + protected boolean doIt() + { + + final Werminal werminal = getWerminal(); + + final Window topWindow = werminal.getTopWindow(); + if (!(topWindow instanceof PrintPreviewDialog)) + { + werminal.showError("The " + getTitle() + " action requires a top level " + PrintPreviewDialog.class.getSimpleName()); + return false; + } + + final PrintPreviewDialog printPreviewDialog = (PrintPreviewDialog) topWindow; + + final URI formatUri = printPreviewDialog.getFormatUri(); + if (formatUri == null) + { + werminal.showError("The " + getTitle() + " action requires a Format URI."); + return false; + } + + final PrintDialog printDialog = werminal.getPrintDialog(); + + File baseDir = new File("."); + final File previousFile = printDialog.getPrintToFile(); + if (previousFile != null) + { + baseDir = (previousFile.isDirectory()) ? previousFile : previousFile.getParentFile(); + } + + try + { + baseDir = baseDir.getCanonicalFile(); + } + catch (IOException e) + { + } + + final Model modelToPrint = printPreviewDialog.getModel(); + String fileName = null; + + if (modelToPrint instanceof Titled) + { + fileName = ((Titled) modelToPrint).getTitle(); + } + else if (modelToPrint instanceof Named) + { + fileName = ((Named) modelToPrint).getName(); + } + else if (modelToPrint instanceof UniquelyNamed) + { + final UniqueName uniqueName = ((UniquelyNamed) modelToPrint).getUniqueName(); + fileName = uniqueName.getLocalName(); + } + else if (modelToPrint instanceof Document) + { + final URI uri = ((Document) modelToPrint).getUri(); + final String uriPath = uri.getPath(); + final int lastSlashIndex = uriPath.lastIndexOf('/'); + if (lastSlashIndex < uriPath.length() - 1) + { + fileName = uriPath.substring(lastSlashIndex + 1); + } + } + + if (fileName == null) + { + + fileName = String.valueOf(modelToPrint.getHeapId()); + } + + + String fileExtension = "txt"; + + final Format format = getContext().getFormatLoader().loadFormat(formatUri); + if (format != null) + { + final String formatFileExtension = format.getFileExtension(); + fileExtension = formatFileExtension; + } + + fileName = fileName + "." + fileExtension; + + final File printToFile = new File(baseDir, fileName); + printDialog.setModel(modelToPrint); + printDialog.setFormatUri(formatUri); + printDialog.setPrintToFile(printToFile); + + werminal.showWindow(printDialog, GUIScreen.Position.CENTER); + return true; + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/PrintConfirmationAction.java b/cli/src/main/java/org/wrml/werminal/action/PrintConfirmationAction.java new file mode 100644 index 0000000..ac03642 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/PrintConfirmationAction.java @@ -0,0 +1,96 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import com.googlecode.lanterna.gui.Window; +import org.wrml.model.Filed; +import org.wrml.model.Model; +import org.wrml.runtime.format.ModelWriteOptions; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.runtime.service.file.FileSystemService; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.dialog.PrintDialog; + +import java.io.File; +import java.net.URI; +import java.nio.file.Path; +import java.util.HashSet; +import java.util.Set; + +public class PrintConfirmationAction extends CloseAfterAction +{ + public PrintConfirmationAction(final Werminal werminal) + { + + super(werminal, "Print"); + } + + @Override + protected boolean doIt() + { + + final Werminal werminal = getWerminal(); + + final Window topWindow = werminal.getTopWindow(); + + if (!(topWindow instanceof PrintDialog)) + { + werminal.showError("The " + getTitle() + " action requires a top level " + PrintDialog.class.getSimpleName()); + return false; + } + + final PrintDialog printDialog = (PrintDialog) topWindow; + + final Model model = printDialog.getModel(); + final File printToFile = printDialog.getPrintToFile(); + final Path filePath = printToFile.toPath(); + final URI formatUri = printDialog.getFormatUri(); + + final ModelWriteOptions writeOptions = new ModelWriteOptions(); + writeOptions.setPrettyPrint(true); + final Set excludedSchemaUris = new HashSet<>(1); + final SchemaLoader schemaLoader = model.getContext().getSchemaLoader(); + + excludedSchemaUris.add(schemaLoader.getTypeUri(Filed.class)); + excludedSchemaUris.add(schemaLoader.getDocumentSchemaUri()); + + writeOptions.setExcludedSchemaUris(excludedSchemaUris); + + try + { + FileSystemService.writeModelFile(model, filePath, formatUri, writeOptions); + } + catch (final Exception e) + { + werminal.showError("Print Failed.", e); + return false; + } + + + return true; + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/PrintPreviewAction.java b/cli/src/main/java/org/wrml/werminal/action/PrintPreviewAction.java new file mode 100644 index 0000000..577d4f4 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/PrintPreviewAction.java @@ -0,0 +1,56 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.model.Model; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.dialog.PrintPreviewDialog; +import org.wrml.werminal.window.ModelWindow; + +public class PrintPreviewAction extends WerminalAction +{ + + public PrintPreviewAction(final Werminal werminal) + { + + super(werminal, "Print Preview"); + } + + @Override + public void doAction() + { + + final Werminal werminal = getWerminal(); + final ModelWindow modelWindow = (ModelWindow) werminal.getTopWindow(); + final Model model = modelWindow.syncModel(); + final String title = ModelWindow.getModelWindowTitle(model) + " - Print Preview"; + + final PrintPreviewDialog printPreviewDialog = new PrintPreviewDialog(werminal, title, werminal.getCloseAction()); + printPreviewDialog.setModel(model); + werminal.showWindow(printPreviewDialog); // , Position.FULL_SCREEN); + + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/SaveAction.java b/cli/src/main/java/org/wrml/werminal/action/SaveAction.java new file mode 100644 index 0000000..22297bd --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/SaveAction.java @@ -0,0 +1,101 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.model.Model; +import org.wrml.model.rest.Embedded; +import org.wrml.runtime.Context; +import org.wrml.runtime.Keys; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.window.ModelWindow; + +public class SaveAction extends WerminalAction +{ + + public SaveAction(final Werminal werminal) + { + + super(werminal, "Save"); + } + + @Override + public void doAction() + { + + final Werminal werminal = getWerminal(); + final ModelWindow modelWindow = (ModelWindow) werminal.getTopWindow(); + final Model model; + + try + { + model = modelWindow.syncModel(); + } + catch (final Exception e) + { + getWerminal().showError(e.getMessage()); + return; + } + + if (model instanceof Embedded || model.getPrototype().getAllKeySlotNames().isEmpty()) + { + werminal.showMessageBox("Form Edits Applied", "The model's state was successfully committed (locally)."); + return; + } + + final Keys keys = model.getKeys(); + if (keys == null) + { + werminal.showMessageBox("Error - Save Failed", "Cannot save model; all of the key slot values are blank."); + return; + } + + final Model savedModel; + + try + { + + final Context context = getContext(); + + savedModel = context.saveModel(model); + + if (savedModel == null) + { + werminal.showError("An unexpected error has occurred and the model could not be saved."); + return; + } + + } + catch (final Exception t) + { + werminal.showError("An unexpected error has occurred and the model could not be saved.", t); + return; + } + + modelWindow.setModel(savedModel); + werminal.showMessageBox("Save", "The model was successfully saved."); + + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/SetOriginAction.java b/cli/src/main/java/org/wrml/werminal/action/SetOriginAction.java new file mode 100644 index 0000000..3319102 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/SetOriginAction.java @@ -0,0 +1,63 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.model.Model; +import org.wrml.runtime.service.Service; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.dialog.SetOriginDialog; +import org.wrml.werminal.window.ModelWindow; + +public class SetOriginAction extends WerminalAction +{ + + public SetOriginAction(final Werminal werminal) + { + + super(werminal, "Set Origin"); + } + + @Override + public void doAction() + { + + final Werminal werminal = getWerminal(); + final ModelWindow modelWindow = (ModelWindow) werminal.getTopWindow(); + final Model model = modelWindow.syncModel(); + final String title = ModelWindow.getModelWindowTitle(model) + " - Set Origin"; + + final SetOriginConfirmationAction setOriginConfirmationAction = new SetOriginConfirmationAction(werminal); + + final SetOriginDialog setOriginDialog = new SetOriginDialog(werminal, title, setOriginConfirmationAction, werminal.getCloseAction()); + setOriginConfirmationAction.setSetOriginDialog(setOriginDialog); + + final String originServiceName = model.getOriginServiceName(); + setOriginDialog.setSelectedValue(originServiceName); + + werminal.showWindow(setOriginDialog); + + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/SetOriginConfirmationAction.java b/cli/src/main/java/org/wrml/werminal/action/SetOriginConfirmationAction.java new file mode 100644 index 0000000..a2d4297 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/SetOriginConfirmationAction.java @@ -0,0 +1,79 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.model.Model; +import org.wrml.runtime.Context; +import org.wrml.runtime.service.Service; +import org.wrml.runtime.service.ServiceLoader; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.dialog.SetOriginDialog; +import org.wrml.werminal.window.ModelWindow; + +public class SetOriginConfirmationAction extends CloseBeforeAction +{ + + private SetOriginDialog _SetOriginDialog; + + public SetOriginConfirmationAction(final Werminal werminal) + { + + super(werminal, "OK"); + } + + public SetOriginDialog getSetOriginDialog() + { + + return _SetOriginDialog; + } + + public void setSetOriginDialog(final SetOriginDialog setOriginDialog) + { + + _SetOriginDialog = setOriginDialog; + } + + @Override + protected boolean doIt() + { + + final Werminal werminal = getWerminal(); + final ModelWindow modelWindow = (ModelWindow) werminal.getTopWindow(); + final Model model = modelWindow.syncModel(); + + if (model == null) + { + werminal.showError("The model is null."); + } + + final String originServiceName = _SetOriginDialog.getSelectedValue(); + model.setOriginServiceName(originServiceName); + + modelWindow.render(); + + return true; + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/ShowListMenuAction.java b/cli/src/main/java/org/wrml/werminal/action/ShowListMenuAction.java new file mode 100644 index 0000000..3d1fe92 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/ShowListMenuAction.java @@ -0,0 +1,45 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.werminal.Werminal; + +public class ShowListMenuAction extends WerminalAction +{ + + public ShowListMenuAction(final Werminal werminal) + { + + super(werminal, "Menu..."); + } + + @Override + public void doAction() + { + + final Werminal werminal = getWerminal(); + werminal.showWindow(werminal.getListMenuBarWindow()); + } +} diff --git a/cli/src/main/java/org/wrml/werminal/action/ShowModelMenuAction.java b/cli/src/main/java/org/wrml/werminal/action/ShowModelMenuAction.java new file mode 100644 index 0000000..6eeda7f --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/ShowModelMenuAction.java @@ -0,0 +1,45 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.werminal.Werminal; + +public class ShowModelMenuAction extends WerminalAction +{ + + public ShowModelMenuAction(final Werminal werminal) + { + + super(werminal, "Menu..."); + } + + @Override + public void doAction() + { + + final Werminal werminal = getWerminal(); + werminal.showWindow(werminal.getModelMenuBarWindow()); + } +} diff --git a/cli/src/main/java/org/wrml/werminal/action/SortAction.java b/cli/src/main/java/org/wrml/werminal/action/SortAction.java new file mode 100644 index 0000000..6734725 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/SortAction.java @@ -0,0 +1,30 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +public class SortAction +{ + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/SubmitAction.java b/cli/src/main/java/org/wrml/werminal/action/SubmitAction.java new file mode 100644 index 0000000..acd8944 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/SubmitAction.java @@ -0,0 +1,87 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import com.googlecode.lanterna.gui.Window; +import org.wrml.model.Model; +import org.wrml.runtime.DimensionsBuilder; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.component.FormField; +import org.wrml.werminal.dialog.InvocationDialog; + +public class SubmitAction extends CloseAfterAction +{ + + private final Model _Function; + + private final FormField _FormField; + + public SubmitAction(final Werminal werminal, final Model function, final FormField formField) + { + + super(werminal, "Submit"); + _Function = function; + _FormField = formField; + } + + @Override + protected boolean doIt() + { + + final Werminal werminal = getWerminal(); + final Window topWindow = werminal.getTopWindow(); + + if (!(topWindow instanceof InvocationDialog)) + { + werminal.showError("The " + getTitle() + " action requires a top level " + + InvocationDialog.class.getSimpleName()); + return false; + } + + final InvocationDialog invocationDialog = (InvocationDialog) topWindow; + + final String formFieldName = _FormField.getFieldName(); + final Model parameter = invocationDialog.getParameter(); + + final Model returnValue; + try + { + returnValue = _Function.reference(formFieldName, new DimensionsBuilder(), parameter); + } + catch (Exception t) + { + werminal.showError("Invocation Failed.", t); + return false; + } + + if (returnValue != null) + { + werminal.openModelWindow(returnValue); + } + + return true; + } +} diff --git a/cli/src/main/java/org/wrml/werminal/action/UnimplementedAction.java b/cli/src/main/java/org/wrml/werminal/action/UnimplementedAction.java new file mode 100644 index 0000000..4577402 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/UnimplementedAction.java @@ -0,0 +1,44 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.werminal.Werminal; + +public class UnimplementedAction extends WerminalAction +{ + + public UnimplementedAction(final Werminal werminal, final String title) + { + + super(werminal, title); + } + + @Override + public void doAction() + { + + getApp().showMessageBox("Not Implemented", "The action \"" + getTitle() + "\" has not been implmented."); + } +} \ No newline at end of file diff --git a/cli/src/main/java/org/wrml/werminal/action/WerminalAction.java b/cli/src/main/java/org/wrml/werminal/action/WerminalAction.java new file mode 100644 index 0000000..c31779e --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/WerminalAction.java @@ -0,0 +1,45 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.werminal.Werminal; +import org.wrml.werminal.terminal.TerminalAppAction; + +public abstract class WerminalAction extends TerminalAppAction +{ + + public WerminalAction(final Werminal werminal, final String title) + { + + super(werminal, title); + } + + public Werminal getWerminal() + { + + return getApp(); + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/action/WrmlOrgAction.java b/cli/src/main/java/org/wrml/werminal/action/WrmlOrgAction.java new file mode 100644 index 0000000..c828095 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/action/WrmlOrgAction.java @@ -0,0 +1,75 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.action; + +import org.wrml.werminal.Werminal; + +import java.io.IOException; +import java.net.URI; + +public class WrmlOrgAction extends WerminalAction +{ + + private final URI WRML_ORG = URI.create("http://www.wrml.org"); + + public WrmlOrgAction(final Werminal werminal) + { + + super(werminal, "WRML.org"); + } + + @Override + public void doAction() + { + + final Werminal werminal = getWerminal(); + + if (!java.awt.Desktop.isDesktopSupported()) + { + werminal.showSplashWindow(); + return; + } + + final java.awt.Desktop desktop = java.awt.Desktop.getDesktop(); + + if (!desktop.isSupported(java.awt.Desktop.Action.BROWSE)) + { + werminal.showSplashWindow(); + return; + } + + try + { + desktop.browse(WRML_ORG); + } + catch (final IOException e) + { + System.err.println(e.getMessage()); + werminal.showSplashWindow(); + return; + } + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/component/FormField.java b/cli/src/main/java/org/wrml/werminal/component/FormField.java new file mode 100644 index 0000000..fd905f1 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/component/FormField.java @@ -0,0 +1,84 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.component; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.gui.component.CheckBox; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.WerminalAction; +import org.wrml.werminal.terminal.TerminalAppPanel; + +import java.lang.reflect.Type; + +public class FormField extends TerminalAppPanel +{ + + private final CheckBox _FieldCheckBox; + + private final WerminalTextBox _FieldValueTextBox; + + private final String _FieldName; + + public FormField(final String fieldName, final Type valueType, final WerminalAction enterAction) + { + + super(enterAction.getApp(), + " " + fieldName + " (" + enterAction.getWerminal().getTypeTitle(valueType) + "): ", + new Border.Standard(), Orientation.HORISONTAL, false, false); + + _FieldName = fieldName; + + _FieldCheckBox = new CheckBox("", false); + + _FieldValueTextBox = new WerminalTextBox((Werminal) enterAction.getApp(), valueType, enterAction); + + render(); + } + + public CheckBox getFieldCheckBox() + { + + return _FieldCheckBox; + } + + public String getFieldName() + { + + return _FieldName; + } + + public WerminalTextBox getFieldValueTextBox() + { + + return _FieldValueTextBox; + } + + protected void render() + { + // addComponent(_FieldCheckBox); + addComponent(_FieldValueTextBox); + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/component/FormPanel.java b/cli/src/main/java/org/wrml/werminal/component/FormPanel.java new file mode 100644 index 0000000..2679a74 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/component/FormPanel.java @@ -0,0 +1,134 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.component; + +import com.googlecode.lanterna.gui.component.EmptySpace; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.WerminalAction; +import org.wrml.werminal.window.FormPanelWindow; + +import java.util.Map; +import java.util.Set; + +public class FormPanel extends WerminalPanel +{ + + + private final int _FieldsPerPanel; + + private final Map _FormFields; + + + public FormPanel(final Werminal werminal, final String title, final Map formFields) + { + + this(werminal, title, formFields, null, null, formFields.size()); + } + + public FormPanel(final Werminal werminal, final String title, final Map formFields, final int fieldsPerPanel) + { + + this(werminal, title, formFields, null, null, fieldsPerPanel); + } + + public FormPanel(final Werminal werminal, final String title, final Map formFields, final WerminalAction nextAction, final WerminalAction previousAction) + { + + this(werminal, title, formFields, nextAction, previousAction, FormPanelWindow.FIELDS_PER_PANEL); + } + + public FormPanel(final Werminal werminal, final String title, final Map formFields, final WerminalAction nextAction, final WerminalAction previousAction, final int fieldsPerPanel) + { + + super(werminal, title, nextAction, previousAction); + + _FormFields = formFields; + _FieldsPerPanel = fieldsPerPanel; + render(); + } + + public void addFormField(final FormField formField) + { + + _FormFields.put(formField.getFieldName(), formField); + render(); + } + + public final int getFieldCount() + { + + return _FormFields.size(); + } + + public int getFieldsPerPanel() + { + + return _FieldsPerPanel; + } + + public final Set getFieldNames() + { + + return _FormFields.keySet(); + } + + public final FormField getFormField(final String fieldName) + { + + return _FormFields.get(fieldName); + } + + @Override + protected void render() + { + + super.render(); + renderForm(); + addComponent(new EmptySpace(0, 1)); + } + + protected final void renderForm() + { + + if (_FormFields != null && !_FormFields.isEmpty()) + { + + for (final String fieldName : _FormFields.keySet()) + { + final FormField formField = _FormFields.get(fieldName); + addComponent(formField); + } + + final int invisibleFieldCount = getFieldsPerPanel() - _FormFields.size(); + for (int i = 0; i < invisibleFieldCount; i++) + { + addComponent(new EmptySpace(0, 3)); + } + + } + + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/component/HistoryCheckListBox.java b/cli/src/main/java/org/wrml/werminal/component/HistoryCheckListBox.java new file mode 100644 index 0000000..393338a --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/component/HistoryCheckListBox.java @@ -0,0 +1,221 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.component; + +import com.googlecode.lanterna.input.Key; +import org.apache.commons.lang3.StringUtils; +import org.wrml.runtime.rest.RestUtils; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.WerminalAction; + +import java.net.URI; +import java.util.Collection; +import java.util.SortedSet; +import java.util.TreeSet; + +public class HistoryCheckListBox extends WerminalCheckListBox +{ + + private final WerminalTextBox _TextBox; + + private final SortedSet _HistorySet; + + public HistoryCheckListBox(final WerminalTextBox forTextBox) + { + + this(forTextBox, null, null); + } + + public HistoryCheckListBox(final WerminalTextBox forTextBox, final WerminalAction enterAction, + final WerminalAction enterOnSelectionAction) + { + + super((Werminal) forTextBox.getApp(), enterAction, enterOnSelectionAction); + _TextBox = forTextBox; + + _HistorySet = new TreeSet<>(); + } + + @Override + public void addItem(final Object item) + { + + if (!addItemInternal(item)) + { + return; + } + + syncView(); + } + + public void addItems(final Collection items) + { + + for (final Object item : items) + { + addItemInternal(item); + } + + syncView(); + } + + @Override + public void clearItems() + { + + super.clearItems(); + _HistorySet.clear(); + } + + public WerminalTextBox getTextBox() + { + + return _TextBox; + } + + public SortedSet getItems() + { + + return _HistorySet; + } + + @Override + public void setCheckedItem(final Object newCheckedItem) + { + + super.setCheckedItem(newCheckedItem); + _TextBox.setValue(newCheckedItem); + + } + + @Override + public Result keyboardInteraction(final Key key) + { + + if (!isVisible()) + { + return Result.EVENT_HANDLED; + } + + final Key.Kind kind = key.getKind(); + switch (kind) + { + case NormalKey: + + final char character = key.getCharacter(); + if (setSelectedItemFromCharacter(character)) + { + return Result.EVENT_HANDLED; + } + + break; + } + + return super.keyboardInteraction(key); + } + + private boolean setSelectedItemFromCharacter(final char character) + { + // Support jumping to entry based on last path element in URI + int indexOfBestMatch = -1; + final int selectedIndex = getSelectedIndex(); + + final String characterAsString = String.valueOf(character); + + if (_HistorySet.isEmpty() || !(_HistorySet.first() instanceof URI)) + { + return false; + } + + final int size = _HistorySet.size(); + + for (int i = selectedIndex + 1; i < size; i++) + { + if (itemLastSegementStartsWith(i, characterAsString)) + { + indexOfBestMatch = i; + break; + } + } + + if (indexOfBestMatch < 0) + { + for (int i = 0; i < selectedIndex; i++) + { + if (itemLastSegementStartsWith(i, characterAsString)) + { + indexOfBestMatch = i; + break; + } + } + } + + if (indexOfBestMatch >= 0) + { + setSelectedItem(indexOfBestMatch); + return true; + } + + return false; + } + + private boolean itemLastSegementStartsWith(int itemIndex, CharSequence charSequence) + { + + final Object historyItem = getItemAt(itemIndex); + + if (!(historyItem instanceof URI)) + { + return false; + } + + final URI uri = (URI) historyItem; + final String lastPathElement = RestUtils.getLastPathElement(uri); + return StringUtils.startsWithIgnoreCase(lastPathElement, charSequence); + } + + private boolean addItemInternal(final Object item) + { + + if (!(item instanceof Comparable) || _HistorySet.contains(item)) + { + return false; + } + + return _HistorySet.add(item); + } + + private void syncView() + { + + super.clearItems(); + + for (final Object historyItem : _HistorySet) + { + super.addItem(historyItem); + } + + } +} diff --git a/cli/src/main/java/org/wrml/werminal/component/ListMenu.java b/cli/src/main/java/org/wrml/werminal/component/ListMenu.java new file mode 100644 index 0000000..4b3f231 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/component/ListMenu.java @@ -0,0 +1,65 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.component; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.gui.component.EmptySpace; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.terminal.TerminalAppButtonPanel; +import org.wrml.werminal.terminal.TerminalAppMenu; +import org.wrml.werminal.terminal.TerminalAppPanel; + +/** + * Moved from inner class of {@link org.wrml.werminal.Werminal}. + * + * @author JJ Zabkar + */ +public class ListMenu extends TerminalAppPanel +{ + + public ListMenu(final Werminal werminal) + { + + super(werminal, "", new Border.Invisible(), Orientation.HORISONTAL, true, false); + + final TerminalAppMenu editMenu = new TerminalAppMenu(werminal, " Edit Selected Elements "); + addComponent(editMenu); + + final String[] editMenuItems = {"Copy", "Cut", "Paste", "Delete"}; + for (String editMenuItem : editMenuItems) + { + editMenu.addComponent(new TerminalAppButtonPanel(werminal.getUnimplementedAction(editMenuItem))); + } + + final TerminalAppMenu helpMenu = new TerminalAppMenu(werminal, " Help "); + addComponent(helpMenu); + + final TerminalAppButtonPanel wrmlOrgMenuItem = new TerminalAppButtonPanel(werminal.getClosingWrmlOrgAction()); + helpMenu.addComponent(wrmlOrgMenuItem); + + addComponent(new EmptySpace(0, 4)); + } +} \ No newline at end of file diff --git a/cli/src/main/java/org/wrml/werminal/component/MainMenu.java b/cli/src/main/java/org/wrml/werminal/component/MainMenu.java new file mode 100644 index 0000000..3495d09 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/component/MainMenu.java @@ -0,0 +1,68 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.component; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.terminal.TerminalSize; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.terminal.TerminalAppButtonPanel; +import org.wrml.werminal.terminal.TerminalAppMenu; +import org.wrml.werminal.terminal.TerminalAppPanel; + +/** + * Moved from inner class of {@link org.wrml.werminal.Werminal}. + * + * @author JJ Zabkar + */ +public class MainMenu extends TerminalAppPanel +{ + + public MainMenu(final Werminal werminal) + { + + super(werminal, "", new Border.Invisible(), Orientation.HORISONTAL, true, false); + + final TerminalAppMenu modelMenu = new TerminalAppMenu(getApp(), " Model "); + modelMenu.setPreferredSize(new TerminalSize(30, 8)); + addComponent(modelMenu); + + final TerminalAppButtonPanel modelNewMenuItem = new TerminalAppButtonPanel(werminal.getNewAction()); + modelMenu.addComponent(modelNewMenuItem); + final TerminalAppButtonPanel modelOpenMenuItem = new TerminalAppButtonPanel(werminal.getOpenAction()); + modelMenu.addComponent(modelOpenMenuItem); + + final TerminalAppMenu helpMenu = new TerminalAppMenu(getApp(), " Help "); + helpMenu.setPreferredSize(new TerminalSize(30, 8)); + addComponent(helpMenu); + + final TerminalAppButtonPanel helpGuideMenuItem = new TerminalAppButtonPanel(werminal.getHelpGuideAction()); + helpMenu.addComponent(helpGuideMenuItem); + + final TerminalAppButtonPanel wrmlOrgMenuItem = new TerminalAppButtonPanel(werminal.getWrmlOrgAction()); + helpMenu.addComponent(wrmlOrgMenuItem); + + } +} \ No newline at end of file diff --git a/cli/src/main/java/org/wrml/werminal/component/ModelMenu.java b/cli/src/main/java/org/wrml/werminal/component/ModelMenu.java new file mode 100644 index 0000000..0228191 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/component/ModelMenu.java @@ -0,0 +1,79 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.component; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.gui.component.EmptySpace; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.terminal.TerminalAppButtonPanel; +import org.wrml.werminal.terminal.TerminalAppMenu; +import org.wrml.werminal.terminal.TerminalAppPanel; + +/** + * Moved from inner class of {@link org.wrml.werminal.Werminal}. + * + * @author JJ Zabkar + */ +public class ModelMenu extends TerminalAppPanel +{ + + public ModelMenu(final Werminal werminal) + { + + super(werminal, "", new Border.Invisible(), Orientation.HORISONTAL, true, false); + + final TerminalAppMenu modelMenu = new TerminalAppMenu(werminal, " Model "); + + addComponent(modelMenu); + + final TerminalAppButtonPanel modelSaveMenuItem = new TerminalAppButtonPanel( + werminal.getUnimplementedAction("Save")); + modelMenu.addComponent(modelSaveMenuItem); + final TerminalAppButtonPanel modelSaveAsMenuItem = new TerminalAppButtonPanel( + werminal.getUnimplementedAction("Save As...")); + modelMenu.addComponent(modelSaveAsMenuItem); + final TerminalAppButtonPanel modelDeleteMenuItem = new TerminalAppButtonPanel( + werminal.getUnimplementedAction("Delete")); + modelMenu.addComponent(modelDeleteMenuItem); + + final TerminalAppMenu editMenu = new TerminalAppMenu(werminal, " Selection "); + addComponent(editMenu); + + final String[] editMenuActions = {"Cut", "Copy", "Paste", "Delete"}; + for (String editMenuAction : editMenuActions) + { + editMenu.addComponent(new TerminalAppButtonPanel(werminal.getUnimplementedAction(editMenuAction))); + } + + final TerminalAppMenu helpMenu = new TerminalAppMenu(werminal, " Help "); + addComponent(helpMenu); + + final TerminalAppButtonPanel wrmlOrgMenuItem = new TerminalAppButtonPanel(werminal.getClosingWrmlOrgAction()); + helpMenu.addComponent(wrmlOrgMenuItem); + + addComponent(new EmptySpace(0, 4)); + } +} \ No newline at end of file diff --git a/cli/src/main/java/org/wrml/werminal/component/WerminalActionListBox.java b/cli/src/main/java/org/wrml/werminal/component/WerminalActionListBox.java new file mode 100644 index 0000000..452d7a3 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/component/WerminalActionListBox.java @@ -0,0 +1,107 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.component; + +import com.googlecode.lanterna.gui.component.ActionListBox; +import com.googlecode.lanterna.input.Key; +import com.googlecode.lanterna.input.Key.Kind; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.WerminalAction; +import org.wrml.werminal.terminal.TerminalAppKeyboardInteraction; + +public class WerminalActionListBox extends ActionListBox +{ + + private final TerminalAppKeyboardInteraction _KeyboardInteraction; + + private final WerminalAction _EnterOnSelectionAction; + + private final Werminal _Werminal; + + public WerminalActionListBox(final Werminal werminal) + { + + this(werminal, null, null); + } + + public WerminalActionListBox(final Werminal werminal, final WerminalAction enterAction, + final WerminalAction enterOnSelectionAction) + { + + _Werminal = werminal; + _KeyboardInteraction = new TerminalAppKeyboardInteraction(_Werminal, enterAction, true); + _EnterOnSelectionAction = enterOnSelectionAction; + } + + @Override + public Result keyboardInteraction(final Key key) + { + + if (!isVisible()) + { + return Result.EVENT_HANDLED; + } + + final Kind kind = key.getKind(); + switch (kind) + { + + case Enter: + { + + final Object oldSelectedItem = getSelectedItem(); + + Result result = super.keyboardInteraction(key); + + final Object newSelectedItem = getSelectedItem(); + + if (_KeyboardInteraction.handleKeyboardInteraction(key)) + { + result = Result.EVENT_HANDLED; + } + + if (_EnterOnSelectionAction != null && oldSelectedItem != null && newSelectedItem == oldSelectedItem) + { + _EnterOnSelectionAction.doAction(); + } + + return result; + } + + default: + { + + if (_KeyboardInteraction.handleKeyboardInteraction(key)) + { + return Result.EVENT_HANDLED; + } + + return super.keyboardInteraction(key); + } + } + + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/component/WerminalCheckListBox.java b/cli/src/main/java/org/wrml/werminal/component/WerminalCheckListBox.java new file mode 100644 index 0000000..4e1b598 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/component/WerminalCheckListBox.java @@ -0,0 +1,139 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.component; + +import com.googlecode.lanterna.gui.component.CheckBoxList; +import com.googlecode.lanterna.input.Key; +import com.googlecode.lanterna.input.Key.Kind; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.WerminalAction; +import org.wrml.werminal.terminal.TerminalAppKeyboardInteraction; + +public class WerminalCheckListBox extends CheckBoxList +{ + + private final Werminal _Werminal; + + private final TerminalAppKeyboardInteraction _KeyboardInteraction; + + private final WerminalAction _EnterOnSelectionAction; + + private Object _CheckedItem; + + public WerminalCheckListBox(final Werminal werminal) + { + + this(werminal, null, null); + } + + public WerminalCheckListBox(final Werminal werminal, final WerminalAction enterAction, + final WerminalAction enterOnSelectionAction) + { + + _Werminal = werminal; + _KeyboardInteraction = new TerminalAppKeyboardInteraction(_Werminal, enterAction, true); + _EnterOnSelectionAction = enterOnSelectionAction; + } + + public Object getCheckedItem() + { + + return _CheckedItem; + } + + @Override + public Result keyboardInteraction(final Key key) + { + + if (!isVisible()) + { + return Result.EVENT_HANDLED; + } + + final Kind kind = key.getKind(); + switch (kind) + { + + case Enter: + { + + final Object oldSelectedItem = getSelectedItem(); + final Object oldCheckedItem = getCheckedItem(); + + // Intentional fall through here... + if (_CheckedItem != null) + { + setChecked(_CheckedItem, false); + _CheckedItem = null; + } + + Result result = super.keyboardInteraction(key); + + final Object newSelectedItem = getSelectedItem(); + if ((newSelectedItem != null) && isChecked(newSelectedItem)) + { + + setCheckedItem(newSelectedItem); + + } + + if (_KeyboardInteraction.handleKeyboardInteraction(key)) + { + result = Result.EVENT_HANDLED; + } + + if (_EnterOnSelectionAction != null && oldCheckedItem != null && oldSelectedItem == oldCheckedItem) + { + _EnterOnSelectionAction.doAction(); + } + + return result; + } + + default: + { + + if (_KeyboardInteraction.handleKeyboardInteraction(key)) + { + return Result.EVENT_HANDLED; + } + + return super.keyboardInteraction(key); + } + } + + } + + protected void setCheckedItem(final Object newCheckedItem) + { + + _CheckedItem = newCheckedItem; + if (_CheckedItem != null) + { + setChecked(_CheckedItem, true); + } + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/component/WerminalPanel.java b/cli/src/main/java/org/wrml/werminal/component/WerminalPanel.java new file mode 100644 index 0000000..d5ab4d0 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/component/WerminalPanel.java @@ -0,0 +1,260 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.component; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.gui.Component; +import com.googlecode.lanterna.gui.component.EmptySpace; +import com.googlecode.lanterna.gui.component.Label; +import com.googlecode.lanterna.gui.component.Panel; +import com.googlecode.lanterna.gui.component.Separator; +import com.googlecode.lanterna.terminal.Terminal; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.WerminalAction; +import org.wrml.werminal.terminal.TerminalAppButtonPanel; +import org.wrml.werminal.terminal.TerminalAppPanel; +import org.wrml.werminal.terminal.TerminalAppToolBar; + +public class WerminalPanel extends TerminalAppPanel +{ + + private final WerminalAction _NextAction; + + private final WerminalAction _PreviousAction; + + private TerminalAppToolBar _ToolBar; + + private int _PanelIndex; + + private int _PanelCount; + + public WerminalPanel(final Werminal werminal, final String title) + { + + this(werminal, title, true, true); + } + + public WerminalPanel(final Werminal werminal, final String title, final boolean horizontallyMaximized, final boolean verticallyMaximized) + { + + this(werminal, title, horizontallyMaximized, verticallyMaximized, null, null); + } + + public WerminalPanel(final Werminal werminal, final String title, final WerminalAction nextAction, final WerminalAction previousAction) + { + + this(werminal, title, new Border.Standard(), Orientation.VERTICAL, nextAction, previousAction); + } + + public WerminalPanel(final Werminal werminal, final String title, final boolean horizontallyMaximized, + final boolean verticallyMaximized, final WerminalAction nextAction, final WerminalAction previousAction) + { + + this(werminal, title, new Border.Standard(), Orientation.VERTICAL, horizontallyMaximized, verticallyMaximized, nextAction, previousAction); + } + + + public WerminalPanel(final Werminal werminal, final String title, final Border border, + final Orientation orientation, final WerminalAction nextAction, final WerminalAction previousAction) + { + + this(werminal, title, border, orientation, true, true, nextAction, previousAction); + } + + public WerminalPanel(final Werminal werminal, final String title, final Border border, + final Orientation orientation, final boolean horizontallyMaximized, final boolean verticallyMaximized, + final WerminalAction nextAction, final WerminalAction previousAction) + { + + super(werminal, title, border, orientation, horizontallyMaximized, verticallyMaximized); + + _NextAction = nextAction; + _PreviousAction = previousAction; + + render(); + } + + + public WerminalAction getNextAction() + { + + return _NextAction; + } + + public final int getPanelCount() + { + + return _PanelCount; + } + + public final int getPanelIndex() + { + + return _PanelIndex; + } + + public WerminalAction getPreviousAction() + { + + return _PreviousAction; + } + + public final TerminalAppToolBar getToolBar() + { + + return _ToolBar; + } + + public final Werminal getWerminal() + { + + return getApp(); + } + + public final void setPanelCount(final int panelCount) + { + + _PanelCount = panelCount; + render(); + } + + public final void setPanelIndex(final int panelIndex) + { + + _PanelIndex = panelIndex; + render(); + } + + protected final Component[] getNavigationToolBarComponents() + { + + final String panelNumberSpacePaddingPrefix; + + final int panelIndex = getPanelIndex(); + final int panelCount = getPanelCount(); + + final boolean isFirstPanel = (panelIndex == 0); + final boolean isLastPanel = (panelIndex == (panelCount - 1)); + + if (isFirstPanel && isLastPanel) + { + return null; + } + + if ((panelIndex < 10) & (panelCount < 10)) + { + panelNumberSpacePaddingPrefix = ""; + } + else if ((panelIndex < 10) && (panelCount < 100)) + { + panelNumberSpacePaddingPrefix = " "; + } + else if ((panelIndex < 100) && (panelCount < 1000)) + { + if (panelIndex < 10) + { + panelNumberSpacePaddingPrefix = " "; + } + else + { + panelNumberSpacePaddingPrefix = " "; + } + } + else + { + panelNumberSpacePaddingPrefix = ""; + } + + final int panelDisplayNumber = panelIndex + 1; + + final TerminalAppPanel panelNumberPanel = new TerminalAppPanel(getWerminal(), new Border.Invisible(), + Panel.Orientation.VERTICAL); + panelNumberPanel.addComponent(new EmptySpace(0, 1)); + final Label pageLabel = new Label(panelNumberSpacePaddingPrefix + panelDisplayNumber + " of " + panelCount, 8, + Terminal.Color.BLACK, false); + pageLabel.setAlignment(Alignment.CENTER); + panelNumberPanel.addComponent(pageLabel); + + panelNumberPanel.addComponent(new EmptySpace(0, 1)); + + final WerminalAction nextAction = getNextAction(); + final WerminalAction previousAction = getPreviousAction(); + final Component[] toolBarComponents; + + if (nextAction != null && isFirstPanel) + { + toolBarComponents = new Component[]{new TerminalAppButtonPanel(nextAction), panelNumberPanel}; + } + else if (previousAction != null && isLastPanel) + { + toolBarComponents = new Component[]{new TerminalAppButtonPanel(previousAction), panelNumberPanel}; + } + else if (nextAction != null && previousAction != null) + { + toolBarComponents = new Component[]{new TerminalAppButtonPanel(getPreviousAction()), panelNumberPanel, + new TerminalAppButtonPanel(getNextAction())}; + } + else + { + toolBarComponents = null; + } + + return toolBarComponents; + + } + + protected void render() + { + + removeAllComponents(); + renderToolBar(); + } + + protected final void renderToolBar() + { + + final Component[] toolBarComponents = getNavigationToolBarComponents(); + if (toolBarComponents != null) + { + _ToolBar = new TerminalAppToolBar(getWerminal(), toolBarComponents); + } + else + { + _ToolBar = null; + } + + if (_ToolBar != null) + { + addComponent(_ToolBar); + addComponent(new Separator()); + } + else + { + addComponent(new EmptySpace(0, 1)); + } + + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/component/WerminalTextBox.java b/cli/src/main/java/org/wrml/werminal/component/WerminalTextBox.java new file mode 100644 index 0000000..d18075e --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/component/WerminalTextBox.java @@ -0,0 +1,406 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.component; + +import com.googlecode.lanterna.input.Key; +import com.googlecode.lanterna.input.Key.Kind; +import org.apache.commons.lang3.reflect.TypeUtils; +import org.wrml.model.Model; +import org.wrml.model.rest.Link; +import org.wrml.runtime.Context; +import org.wrml.runtime.Keys; +import org.wrml.runtime.schema.ValueType; +import org.wrml.runtime.syntax.SyntaxLoader; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.WerminalAction; +import org.wrml.werminal.terminal.TerminalAppTextBox; + +import java.lang.reflect.Type; +import java.net.URI; +import java.util.List; +import java.util.Set; + +@SuppressWarnings({"unchecked"}) +public class WerminalTextBox extends TerminalAppTextBox +{ + + private static final String OPEN_BUTTON_STRING = "< Open... >"; + + private static final String CLICK_BUTTON_STRING = "< Click... >"; + + private final WerminalAction _EnterAction; + + private final Type _ValueType; + + private Object _Value; + + private String _TextValue; + + private boolean _ListValueChanged; + + private boolean _ModelValueChanged; + + public WerminalTextBox(final Werminal werminal, final int width, final Type valueType, + final WerminalAction enterAction) + { + + super(werminal, width); + _ValueType = valueType; + _EnterAction = enterAction; + + } + + public WerminalTextBox(final Werminal werminal, final Type valueType, final WerminalAction enterAction) + { + + this(werminal, 255, valueType, enterAction); + } + + public WerminalAction getEnterAction() + { + + return _EnterAction; + } + + public Type getHeapValueType() + { + + return _ValueType; + } + + public V getValue() + { + + final Context context = getWerminal().getContext(); + final SyntaxLoader syntaxLoader = context.getSyntaxLoader(); + final Type heapValueType = getHeapValueType(); + final ValueType valueType = getValueType(); + + if (_Value == null && valueType != ValueType.Model && valueType != ValueType.List + && valueType != ValueType.Link) + { + final String stringValue = getText(); + _Value = syntaxLoader.parseSyntacticText(stringValue, heapValueType); + } + + return (V) _Value; + } + + public ValueType getValueType() + { + + final Context context = getWerminal().getContext(); + return context.getSchemaLoader().getValueType(getHeapValueType()); + } + + public Werminal getWerminal() + { + + return getApp(); + } + + public boolean isValueChanged() + { + + final ValueType valueType = getValueType(); + switch (valueType) + { + case Link: + case Model: + return isModelValueChanged(); + + case List: + return isListValueChanged(); + + case Boolean: + case Date: + case Double: + case Integer: + case Long: + case Native: + case SingleSelect: + case Text: + default: + + final String currentText = getText(); + if (_TextValue != null) + { + return !(_TextValue.equals(currentText)); + } + else + { + return currentText != null && !currentText.isEmpty(); + } + + } + + } + + @Override + public Result keyboardInteraction(final Key key) + { + + if (!isVisible()) + { + return Result.EVENT_HANDLED; + } + + final Result result; + final Kind kind = key.getKind(); + final Type valueType = getHeapValueType(); + + switch (kind) + { + case Enter: + { + + if (_EnterAction != null) + { + try + { + _EnterAction.doAction(); + } + catch (Exception t) + { + getWerminal().showError("Error - An unhandled exception has arisen.", t); + + } + } + + result = Result.EVENT_HANDLED; + break; + } + case NormalKey: + { + if (ValueType.isModelType(valueType) || TypeUtils.isAssignable(valueType, List.class)) + { + result = Result.EVENT_HANDLED; + } + else + { + _Value = null; + + result = super.keyboardInteraction(key); + } + break; + } + case Backspace: + case Delete: + { + + // TODO: Check the value type and determine if editable + + if (ValueType.isModelType(valueType)) + { + setValue(null, false); + result = Result.EVENT_HANDLED; + } + else if (TypeUtils.isAssignable(valueType, List.class)) + { + result = Result.EVENT_HANDLED; + } + else + { + _Value = null; + result = super.keyboardInteraction(key); + } + break; + } + + default: + { + result = super.keyboardInteraction(key); + break; + } + } + + return result; + } + + @Override + public void setText(final String text) + { + + setText(text, true); + + } + + public Object setValue(final Object value) + { + + return setValue(value, true); + } + + public Object setValue(final Object value, final boolean silentChange) + { + + final Object oldValue = _Value; + + final Werminal werminal = getWerminal(); + final ValueType valueType = getValueType(); + _Value = value; + + final Context context = getWerminal().getContext(); + final SyntaxLoader syntaxLoader = context.getSyntaxLoader(); + String stringValue = ""; + switch (valueType) + { + + case Link: + { + + final String disabledLinkString = "href=\"\""; + if (value instanceof Link) + { + final Link linkValue = (Link) value; + final URI href = linkValue.getHref(); + if (href != null) + { + // TODO: Display the HTTP method and the relation URI too + + stringValue = "href=\"" + href.toString() + "\" " + CLICK_BUTTON_STRING; + } + else + { + stringValue = disabledLinkString; + } + + _ModelValueChanged = !silentChange; + + // TODO: Track Model changes + } + else + { + stringValue = disabledLinkString; + } + + break; + } + case Model: + { + + if (value instanceof Model) + { + final Model modelValue = (Model) value; + final Keys keys = modelValue.getKeys(); + if (keys != null) + { + final Set keyedSchemaUris = keys.getKeyedSchemaUris(); + for (final URI keyedSchemaUri : keyedSchemaUris) + { + final Object initialKeyValue = keys.getValue(keyedSchemaUri); + stringValue = String.valueOf(initialKeyValue); + break; + } + } + else + { + stringValue = modelValue.getHeapId().toString(); + } + + _ModelValueChanged = !silentChange; + + // TODO: Track Model changes + } + + if (stringValue == null || stringValue.isEmpty()) + { + stringValue = OPEN_BUTTON_STRING; + } + else + { + stringValue = stringValue + " " + OPEN_BUTTON_STRING; + } + break; + } + case List: + { + + if (value instanceof List) + { + final List listValue = (List) value; + + stringValue = werminal.listToString(listValue, getHeapValueType()); + + _ListValueChanged = !silentChange; + // TODO: Track List changes + } + + stringValue = stringValue + " " + OPEN_BUTTON_STRING; + break; + } + case Boolean: + case Date: + case Double: + case Integer: + case Long: + case Native: + case SingleSelect: + case Text: + default: + stringValue = syntaxLoader.formatSyntaxValue(value); + break; + + } + + if (stringValue == null) + { + stringValue = ""; + } + + setText(stringValue, false); + if (silentChange) + { + _TextValue = stringValue; + } + + return oldValue; + } + + protected void setText(final String stringValue, final boolean clearValue) + { + + if (clearValue) + { + _Value = null; + } + + super.setText(stringValue); + + } + + private boolean isListValueChanged() + { + + return _ListValueChanged; + } + + private boolean isModelValueChanged() + { + + return _ModelValueChanged; + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/dialog/EnumValueDialog.java b/cli/src/main/java/org/wrml/werminal/dialog/EnumValueDialog.java new file mode 100644 index 0000000..423501d --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/dialog/EnumValueDialog.java @@ -0,0 +1,130 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.dialog; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.gui.Component; +import com.googlecode.lanterna.gui.component.RadioCheckBoxList; +import com.googlecode.lanterna.input.Key; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.WerminalAction; +import org.wrml.werminal.terminal.TerminalAppButtonPanel; +import org.wrml.werminal.terminal.TerminalAppKeyboardInteraction; +import org.wrml.werminal.terminal.TerminalAppToolBar; +import org.wrml.werminal.window.WerminalWindow; + +public class EnumValueDialog extends WerminalWindow +{ + + private final EnumValuesCheckBoxList _EnumValuesCheckBoxList; + + public EnumValueDialog(final Werminal werminal, final String title, final WerminalAction confirmAction, + final WerminalAction dismissAction) + { + + super(werminal, title); + + setBorder(new Border.Standard()); + + _EnumValuesCheckBoxList = new EnumValuesCheckBoxList(werminal, confirmAction); + + addEmptySpace(); + + addComponent(_EnumValuesCheckBoxList); + + final TerminalAppToolBar footerToolBar = new TerminalAppToolBar(werminal, new Component[]{ + new TerminalAppButtonPanel(confirmAction), new TerminalAppButtonPanel(dismissAction)}); + addComponent(footerToolBar); + } + + @SuppressWarnings("unchecked") + public final > E getSelectedValue() + { + + return (E) _EnumValuesCheckBoxList.getItemAt(_EnumValuesCheckBoxList.getCheckedItemIndex()); + } + + @SuppressWarnings("unchecked") + public final void setSelectedValue(final Enum selectedValue) + { + + _EnumValuesCheckBoxList.clearItems(); + + if (selectedValue == null) + { + return; + } + + final Class> enumType = (Class>) selectedValue.getDeclaringClass(); + final Enum[] allEnumValues = enumType.getEnumConstants(); + + for (int i = 0; i < allEnumValues.length; i++) + { + final Enum enumValue = allEnumValues[i]; + _EnumValuesCheckBoxList.addItem(enumValue); + if (enumValue == selectedValue) + { + _EnumValuesCheckBoxList.setCheckedItemIndex(i); + } + } + + } + + public static class EnumValuesCheckBoxList extends RadioCheckBoxList + { + + private final TerminalAppKeyboardInteraction _KeyboardInteraction; + + public EnumValuesCheckBoxList(final Werminal werminal, final WerminalAction confirmAction) + { + + _KeyboardInteraction = new TerminalAppKeyboardInteraction(werminal, confirmAction, true); + } + + @Override + public Result keyboardInteraction(final Key key) + { + + if (!isVisible()) + { + return Result.EVENT_HANDLED; + } + + if (key.getKind() == Key.Kind.Enter) + { + super.keyboardInteraction(key); + } + + + if (_KeyboardInteraction.handleKeyboardInteraction(key)) + { + return Result.EVENT_HANDLED; + } + + return super.keyboardInteraction(key); + } + + } +} diff --git a/cli/src/main/java/org/wrml/werminal/dialog/HistoryPopup.java b/cli/src/main/java/org/wrml/werminal/dialog/HistoryPopup.java new file mode 100644 index 0000000..bafcbd5 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/dialog/HistoryPopup.java @@ -0,0 +1,59 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.dialog; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.terminal.TerminalSize; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.component.HistoryCheckListBox; +import org.wrml.werminal.component.WerminalTextBox; +import org.wrml.werminal.window.WerminalWindow; + +public class HistoryPopup extends WerminalWindow +{ + + private final HistoryCheckListBox _HistoryCheckListBox; + + public HistoryPopup(final Werminal werminal, final String title, final WerminalTextBox keyTextBox) + { + + super(werminal, title); + setBorder(new Border.Standard()); + + addEmptySpace(); + + _HistoryCheckListBox = new HistoryCheckListBox(keyTextBox, werminal.getCloseAction(), null); + _HistoryCheckListBox.setPreferredSize(new TerminalSize(70, 10)); + addComponent(_HistoryCheckListBox); + + } + + public HistoryCheckListBox getHistoryCheckListBox() + { + + return _HistoryCheckListBox; + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/dialog/InvocationDialog.java b/cli/src/main/java/org/wrml/werminal/dialog/InvocationDialog.java new file mode 100644 index 0000000..349991e --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/dialog/InvocationDialog.java @@ -0,0 +1,141 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.dialog; + +import org.wrml.model.Model; +import org.wrml.model.rest.Link; +import org.wrml.runtime.schema.LinkProtoSlot; +import org.wrml.runtime.schema.Prototype; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.CancelAction; +import org.wrml.werminal.action.FormFieldOpenAction; +import org.wrml.werminal.action.SubmitAction; +import org.wrml.werminal.component.FormField; +import org.wrml.werminal.component.FormPanel; + +import java.lang.reflect.Type; +import java.net.URI; +import java.util.LinkedHashMap; +import java.util.Map; + +public class + InvocationDialog extends WerminalDialog +{ + + private final FormField _FunctionLinkFormField; + + private final FormField _ParameterFormField; + + public InvocationDialog(final Werminal werminal, final String title, final Model function, final FormField functionLinkFormField) throws ClassNotFoundException + { + + super(werminal, title, new SubmitAction(werminal, function, functionLinkFormField), new CancelAction(werminal)); + + _FunctionLinkFormField = functionLinkFormField; + + final Prototype prototype = function.getPrototype(); + final String linkSlotName = functionLinkFormField.getFieldName(); + final LinkProtoSlot linkProtoSlot = prototype.getProtoSlot(linkSlotName); + + final URI requestSchemaUri = linkProtoSlot.getRequestSchemaUri(); + if (requestSchemaUri != null) + { + + + final SchemaLoader schemaLoader = werminal.getContext().getSchemaLoader(); + final Type parameterType = schemaLoader.getSchemaInterface(requestSchemaUri); + + final FormFieldOpenAction parameterFormFieldOpenAction = new FormFieldOpenAction(werminal); + _ParameterFormField = new FormField("Parameter", parameterType, parameterFormFieldOpenAction); + parameterFormFieldOpenAction.setFormField(_ParameterFormField); + } + else + { + _ParameterFormField = null; + } + + render(); + } + + public Model getParameter() + { + + if (_ParameterFormField != null) + { + return _ParameterFormField.getFieldValueTextBox().getValue(); + } + + return null; + } + + @Override + public void render() + { + + removeAllComponents(); + + if (_FunctionLinkFormField == null) + { + return; + } + + addEmptySpace(); + + final Werminal werminal = getWerminal(); + + final int fieldCount = (_ParameterFormField != null) ? 2 : 1; + final Map formFieldMap = new LinkedHashMap<>(fieldCount); + + final FormFieldOpenAction functionFormFieldOpenAction = new FormFieldOpenAction(werminal); + final FormField functionUriFormField = new FormField("Function", URI.class, functionFormFieldOpenAction); + functionFormFieldOpenAction.setFormField(functionUriFormField); + + final Link functionLink = _FunctionLinkFormField.getFieldValueTextBox().getValue(); + final URI functionHref = functionLink.getHref(); + functionUriFormField.getFieldValueTextBox().setValue(functionHref); + + formFieldMap.put(functionUriFormField.getFieldName(), functionUriFormField); + + if (_ParameterFormField != null) + { + formFieldMap.put(_ParameterFormField.getFieldName(), _ParameterFormField); + } + + final String linkSlotName = _FunctionLinkFormField.getFieldName(); + final String panelTitle = " " + linkSlotName + " "; + final FormPanel formPanel = new FormPanel(werminal, panelTitle, formFieldMap); + + addComponent(formPanel); + + addEmptySpace(); + + super.renderFooterToolBar(); + + } + + +} \ No newline at end of file diff --git a/cli/src/main/java/org/wrml/werminal/dialog/ListValueDialog.java b/cli/src/main/java/org/wrml/werminal/dialog/ListValueDialog.java new file mode 100644 index 0000000..d14a0f2 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/dialog/ListValueDialog.java @@ -0,0 +1,147 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.dialog; + +import com.googlecode.lanterna.gui.Component; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.WerminalAction; +import org.wrml.werminal.component.FormField; +import org.wrml.werminal.component.FormPanel; +import org.wrml.werminal.component.WerminalPanel; +import org.wrml.werminal.terminal.TerminalAppButtonPanel; +import org.wrml.werminal.terminal.TerminalAppToolBar; +import org.wrml.werminal.window.FormPanelWindow; + +import java.lang.reflect.Type; +import java.util.*; + +public class ListValueDialog extends FormPanelWindow +{ + + private Type _ListElementType; + + private final TerminalAppToolBar _FooterToolBar; + + public ListValueDialog(final Werminal werminal, final String title, final Component[] toolBarComponents, + final WerminalAction confirmAction, final WerminalAction dismissAction) + { + + super(werminal, title, toolBarComponents); + + _FooterToolBar = new TerminalAppToolBar(werminal, new Component[]{new TerminalAppButtonPanel(confirmAction), + new TerminalAppButtonPanel(dismissAction)}); + + render(); + } + + public void addFormField(final Object value) + { + + addFormField("Elements", getListElementType(), value); + } + + @SuppressWarnings({"rawtypes", "unchecked"}) + public List getList() + { + + final List list = new ArrayList<>(); + + final List panels = getPanels(); + for (final WerminalPanel panel : panels) + { + + if (panel instanceof FormPanel) + { + + final FormPanel formPanel = (FormPanel) panel; + + final Set fieldNames = formPanel.getFieldNames(); + + for (final String fieldName : fieldNames) + { + final FormField field = formPanel.getFormField(fieldName); + list.add(field.getFieldValueTextBox().getValue()); + } + } + } + + return (List) list; + } + + public Type getListElementType() + { + + return _ListElementType; + } + + public void setList(final List list, final Type elementType) + { + + _ListElementType = elementType; + + final List panels = getPanels(); + panels.clear(); + + // _ElementLabel.getValueLabel().setText("List Element Type: " + _ElementType); + + final Map fieldMap = new LinkedHashMap<>(); + + for (int i = 0; i < list.size(); i++) + { + final String fieldName = String.valueOf(i); + fieldMap.put(fieldName, _ListElementType); + } + + initPanels("Elements", fieldMap); + + for (int i = 0; i < list.size(); i++) + { + final String fieldName = String.valueOf(i); + final Object value = list.get(i); + final FormField formField = getFormField(fieldName); + formField.getFieldValueTextBox().setValue(value); + } + + } + + @Override + public void render() + { + + super.render(); + renderFooterToolBar(); + } + + protected void renderFooterToolBar() + { + + addEmptySpace(); + if (_FooterToolBar != null) + { + addComponent(_FooterToolBar); + } + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/dialog/LoadApiDialog.java b/cli/src/main/java/org/wrml/werminal/dialog/LoadApiDialog.java new file mode 100644 index 0000000..c1eb93f --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/dialog/LoadApiDialog.java @@ -0,0 +1,163 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.dialog; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.gui.Component; +import org.wrml.runtime.Context; +import org.wrml.runtime.rest.ApiLoader; +import org.wrml.runtime.rest.ApiLoaderException; +import org.wrml.runtime.rest.ApiNavigator; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.CancelAction; +import org.wrml.werminal.action.CloseAfterAction; +import org.wrml.werminal.component.WerminalTextBox; +import org.wrml.werminal.terminal.TerminalAppButtonPanel; +import org.wrml.werminal.terminal.TerminalAppTextBoxPanel; +import org.wrml.werminal.terminal.TerminalAppToolBar; +import org.wrml.werminal.window.WerminalWindow; + +import java.net.URI; + +public class LoadApiDialog extends WerminalWindow +{ + + final LoadApiDialogConfirmationAction _ConfirmAction; + + final LoadApiDialogCancelAction _CancelAction; + + private final WerminalTextBox _ApiUriTextBox; + + private boolean _Cancelled; + + public LoadApiDialog(final Werminal werminal, final String title) + { + + super(werminal, title); + + _ConfirmAction = new LoadApiDialogConfirmationAction(werminal); + _CancelAction = new LoadApiDialogCancelAction(werminal); + + setBorder(new Border.Standard()); + + addEmptySpace(); + + _ApiUriTextBox = new WerminalTextBox(werminal, 70, URI.class, _ConfirmAction); + final TerminalAppTextBoxPanel schemaUriTextBoxPanel = new TerminalAppTextBoxPanel(werminal, " REST API (URI): ", _ApiUriTextBox); + addComponent(schemaUriTextBoxPanel); + + addEmptySpace(); + + final TerminalAppToolBar footerToolBar = new TerminalAppToolBar(werminal, new Component[]{ + new TerminalAppButtonPanel(_ConfirmAction), new TerminalAppButtonPanel(_CancelAction)}); + + addComponent(footerToolBar); + + } + + public URI getApiUri() + { + + return _ApiUriTextBox.getValue(); + } + + public void setApiUri(final URI apiUri) + { + + _ApiUriTextBox.setValue(apiUri); + } + + public boolean isCancelled() + { + + return _Cancelled; + } + + class LoadApiDialogCancelAction extends CancelAction + { + + public LoadApiDialogCancelAction(final Werminal werminal) + { + + super(werminal); + } + + @Override + protected boolean doIt() + { + + _Cancelled = true; + return super.doIt(); + } + + } + + class LoadApiDialogConfirmationAction extends CloseAfterAction + { + + + public LoadApiDialogConfirmationAction(final Werminal werminal) + { + + super(werminal, "OK"); + } + + @Override + protected boolean doIt() + { + + _Cancelled = false; + + final Werminal werminal = getWerminal(); + final Context context = werminal.getContext(); + final ApiLoader apiLoader = context.getApiLoader(); + + final LoadApiDialog loadApiDialog = werminal.getLoadApiDialog(); + + final URI apiUri = loadApiDialog.getApiUri(); + if (apiUri == null) + { + werminal.showError("\nPlease enter the (root) URI value to identify the REST API.\n\n "); + return false; + } + + try + { + final ApiNavigator apiNavigator = apiLoader.loadApi(apiUri); + return (apiNavigator != null); + } + catch (ApiLoaderException e) + { + werminal.showError("\nFailed to load REST API metadata from URI:\n\n\t" + apiUri + "\n\nFailure detail message:\n\n" + e.getMessage() + "\n\nPlease enter the (root) URI value to identify the REST API.\n\n "); + return false; + } + + + } + + } + + +} diff --git a/cli/src/main/java/org/wrml/werminal/dialog/NewModelDialog.java b/cli/src/main/java/org/wrml/werminal/dialog/NewModelDialog.java new file mode 100644 index 0000000..8048d11 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/dialog/NewModelDialog.java @@ -0,0 +1,99 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.dialog; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.gui.Component; +import com.googlecode.lanterna.gui.component.Panel.Orientation; +import com.googlecode.lanterna.terminal.TerminalSize; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.WerminalAction; +import org.wrml.werminal.component.HistoryCheckListBox; +import org.wrml.werminal.component.WerminalTextBox; +import org.wrml.werminal.terminal.TerminalAppButtonPanel; +import org.wrml.werminal.terminal.TerminalAppPanel; +import org.wrml.werminal.terminal.TerminalAppTextBoxPanel; +import org.wrml.werminal.terminal.TerminalAppToolBar; +import org.wrml.werminal.window.WerminalWindow; + +import java.net.URI; + +public class NewModelDialog extends WerminalWindow +{ + + private final WerminalTextBox _SchemaUriTextBox; + + private final HistoryCheckListBox _SchemaUriHistoryCheckBoxList; + + public NewModelDialog(final Werminal werminal, final String title, final WerminalAction confirmAction, + final WerminalAction dismissAction) + { + + super(werminal, title); + + setBorder(new Border.Standard()); + + addEmptySpace(); + + _SchemaUriTextBox = new WerminalTextBox(werminal, 70, URI.class, confirmAction); + + final TerminalAppTextBoxPanel schemaUriTextBoxPanel = new TerminalAppTextBoxPanel(werminal, " Schema (URI): ", + _SchemaUriTextBox); + addComponent(schemaUriTextBoxPanel); + + final TerminalAppPanel historyPanel = new TerminalAppPanel(werminal, " History: ", new Border.Standard(), + Orientation.VERTICAL); + _SchemaUriHistoryCheckBoxList = new HistoryCheckListBox(_SchemaUriTextBox, null, confirmAction); + _SchemaUriHistoryCheckBoxList.setPreferredSize(new TerminalSize(70, 10)); + historyPanel.addComponent(_SchemaUriHistoryCheckBoxList); + addComponent(historyPanel); + + final TerminalAppToolBar footerToolBar = new TerminalAppToolBar(werminal, new Component[]{ + new TerminalAppButtonPanel(confirmAction), new TerminalAppButtonPanel(dismissAction)}); + addComponent(footerToolBar); + + } + + public URI getSchemaUri() + { + + return (URI) _SchemaUriTextBox.getValue(); + } + + public HistoryCheckListBox getSchemaUriHistoryCheckBoxList() + { + + return _SchemaUriHistoryCheckBoxList; + } + + public URI setSchemaUri(final URI schemaUri) + { + + final URI oldSchemaUri = (URI) _SchemaUriTextBox.getValue(); + _SchemaUriTextBox.setValue(schemaUri); + return oldSchemaUri; + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/dialog/NewOrOpenModelDialog.java b/cli/src/main/java/org/wrml/werminal/dialog/NewOrOpenModelDialog.java new file mode 100644 index 0000000..2d59431 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/dialog/NewOrOpenModelDialog.java @@ -0,0 +1,130 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.dialog; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.gui.component.EmptySpace; +import com.googlecode.lanterna.gui.component.Label; +import com.googlecode.lanterna.terminal.Terminal.Color; +import org.wrml.runtime.Context; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.NewModelAction; +import org.wrml.werminal.action.OpenModelAction; +import org.wrml.werminal.action.WerminalAction; +import org.wrml.werminal.component.FormField; +import org.wrml.werminal.component.WerminalTextBox; +import org.wrml.werminal.terminal.TerminalAppButtonPanel; +import org.wrml.werminal.terminal.TerminalAppMenu; +import org.wrml.werminal.terminal.TerminalAppPanel; + +import java.lang.reflect.Type; +import java.net.URI; + +public class NewOrOpenModelDialog extends WerminalDialog +{ + + private final FormField _FormField; + + private final OptionsMenu _OptionsMenu; + + public NewOrOpenModelDialog(final Werminal werminal, final String title, final WerminalAction dismissAction, final FormField formField) + { + + super(werminal, title, null, dismissAction); + _FormField = formField; + _OptionsMenu = new OptionsMenu(werminal, title); + render(); + } + + public final FormField getFormField() + { + + return _FormField; + } + + @Override + public void render() + { + + removeAllComponents(); + super.renderHeaderToolBar(); + + addEmptySpace(); + + addComponent(_OptionsMenu); + + addEmptySpace(); + + super.renderFooterToolBar(); + + } + + private class OptionsMenu extends TerminalAppPanel + { + + public OptionsMenu(final Werminal werminal, final String title) + { + + super(werminal, title, new Border.Invisible(), Orientation.VERTICAL, false, false); + + final Context context = werminal.getContext(); + final FormField formField = getFormField(); + final WerminalTextBox valueTextBox = formField.getFieldValueTextBox(); + final Type heapValueType = valueTextBox.getHeapValueType(); + final URI schemaUri = context.getSchemaLoader().getTypeUri(heapValueType); + final String schemaUriString = String.valueOf(schemaUri); + + final TerminalAppMenu newMenu = new TerminalAppMenu(werminal, " New "); + addComponent(newMenu); + + newMenu.addComponent(new EmptySpace(0, 2)); + newMenu.addComponent(new Label("With a new: ")); + final Label newSchemaLabel = new Label(schemaUriString); + newSchemaLabel.setTextColor(Color.RED); + newMenu.addComponent(newSchemaLabel); + + newMenu.addComponent(new EmptySpace(0, 2)); + + final TerminalAppButtonPanel newMenuItem = new TerminalAppButtonPanel(new NewModelAction(werminal, formField)); + newMenu.addComponent(newMenuItem); + + addComponent(new EmptySpace(2, 0)); + + final TerminalAppMenu openMenu = new TerminalAppMenu(werminal, " Open "); + addComponent(openMenu); + openMenu.addComponent(new EmptySpace(0, 2)); + openMenu.addComponent(new Label("With an existing: ")); + final Label openSchemaLabel = new Label(schemaUriString); + openSchemaLabel.setTextColor(Color.RED); + openMenu.addComponent(openSchemaLabel); + + openMenu.addComponent(new EmptySpace(0, 2)); + + final TerminalAppButtonPanel openMenuItem = new TerminalAppButtonPanel(new OpenModelAction(werminal, formField)); + openMenu.addComponent(openMenuItem); + } + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/dialog/OpenModelDialog.java b/cli/src/main/java/org/wrml/werminal/dialog/OpenModelDialog.java new file mode 100644 index 0000000..309acbe --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/dialog/OpenModelDialog.java @@ -0,0 +1,670 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.dialog; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.gui.Component; +import com.googlecode.lanterna.gui.Component.Alignment; +import com.googlecode.lanterna.gui.component.Label; +import com.googlecode.lanterna.gui.component.Panel.Orientation; +import com.googlecode.lanterna.gui.layout.LinearLayout; +import com.googlecode.lanterna.gui.listener.ComponentAdapter; +import com.googlecode.lanterna.terminal.TerminalSize; +import org.wrml.model.rest.Document; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.CompositeKey; +import org.wrml.runtime.Context; +import org.wrml.runtime.Keys; +import org.wrml.runtime.KeysBuilder; +import org.wrml.runtime.rest.ApiLoader; +import org.wrml.runtime.rest.SystemApi; +import org.wrml.runtime.schema.ProtoSlot; +import org.wrml.runtime.schema.Prototype; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.WerminalAction; +import org.wrml.werminal.component.HistoryCheckListBox; +import org.wrml.werminal.component.WerminalTextBox; +import org.wrml.werminal.terminal.*; +import org.wrml.werminal.window.WerminalWindow; + +import java.net.URI; +import java.util.*; + +public class OpenModelDialog extends WerminalWindow +{ + + private static final String DEFAULT_KEYS_PANEL_LABEL = " Keys: "; + + private static final String ENTER_KEYS_BUTTON_LABEL = "Enter Keys..."; + + private static final String SHOW_HISTORY_BUTTON_LABEL = "History..."; + + WerminalTextBox _HeapIdTextBox; + + WerminalTextBox _SchemaUriTextBox; + + TerminalAppPanel _KeysPanel; + + WerminalAction _ConfirmAction; + + Set _KeySlotNames; + + Map _KeyInputs; + + HistoryCheckListBox _SchemaUriHistoryCheckBoxList; + + Map> _CompositeKeyInputs; + + URI _SchemaUri; + + + /** + * for testing -- no need to mock {@code werminal.context} + */ + OpenModelDialog() + { + + super(null, null); + } + + public OpenModelDialog(final Werminal werminal, final String title, final WerminalAction confirmAction, + final WerminalAction dismissAction) + { + + super(werminal, title); + final URI schemaUri = werminal.getContext().getSchemaLoader().getApiSchemaUri(); + init(werminal, confirmAction, dismissAction, schemaUri); + } + + /** + * @param werminal + * @param confirmAction + * @param dismissAction + */ + private void init(final Werminal werminal, final WerminalAction confirmAction, final WerminalAction dismissAction, + final URI schemaUri) + { + + _ConfirmAction = confirmAction; + + _KeyInputs = new LinkedHashMap<>(); + _CompositeKeyInputs = new LinkedHashMap<>(); + _KeySlotNames = new LinkedHashSet<>(); + + setBorder(new Border.Standard()); + + // setBetweenComponentsPadding(0); + + addEmptySpace(); + + // + // Schema ID + // + + final WerminalAction enterKeysAction = new WerminalAction(getWerminal(), ENTER_KEYS_BUTTON_LABEL) + { + + @Override + public void doAction() + { + + _SchemaUri = getSchemaUri(); + updateKeysPanel(_SchemaUri, null); + } + }; + + final TerminalAppButton enterKeysButton = new TerminalAppButton(enterKeysAction); + + _SchemaUriTextBox = new WerminalTextBox(werminal, 60, URI.class, enterKeysAction) + { + + @Override + protected void setText(final String stringValue, final boolean clearValue) + { + + super.setText(stringValue, clearValue); + enterKeysAction.doAction(); + } + + }; + + final TerminalAppTextBoxPanel schemaUriTextBoxPanel = new TerminalAppTextBoxPanel(werminal, " Schema (URI): ", + _SchemaUriTextBox); + + schemaUriTextBoxPanel.addComponent(enterKeysButton); + + _SchemaUriTextBox.addComponentListener(new ComponentAdapter() + { + + @Override + public void onComponentInvalidated(final Component component) + { + + final boolean canEnterKeys; + final String schemaUriText = _SchemaUriTextBox.getText(); + if (schemaUriText == null || schemaUriText.trim().isEmpty()) + { + canEnterKeys = false; + } + else + { + final URI schemaUri = getSchemaUri(); + canEnterKeys = schemaUri != null && schemaUri.equals(_SchemaUri); + } + + // enterKeysButton.setVisible(canEnterKeys); + + if (!canEnterKeys) + { + updateKeysPanel(null, null); + } + } + }); + + addComponent(schemaUriTextBoxPanel); + + addEmptySpace(); + + final TerminalAppPanel historyPanel = new TerminalAppPanel(werminal, " History: ", new Border.Standard(), + Orientation.VERTICAL); + _SchemaUriHistoryCheckBoxList = new HistoryCheckListBox(_SchemaUriTextBox, null, confirmAction); + _SchemaUriHistoryCheckBoxList.setPreferredSize(new TerminalSize(70, 10)); + historyPanel.addComponent(_SchemaUriHistoryCheckBoxList); + addComponent(historyPanel); + + addEmptySpace(); + // + // Keys + // + // addComponent(new Label("Keys: ", 70, Alignment.START), SizePolicy.CONSTANT); + _KeysPanel = new TerminalAppPanel(werminal, DEFAULT_KEYS_PANEL_LABEL, new Border.Bevel(true), + Orientation.VERTICAL); + addComponent(_KeysPanel, LinearLayout.GROWS_VERTICALLY); + + // Heap ID + + _HeapIdTextBox = new WerminalTextBox(werminal, 60, UUID.class, confirmAction); + + addEmptySpace(); + + // + // Dialog buttons + // + final TerminalAppToolBar footerToolBar = new TerminalAppToolBar(werminal, new Component[]{ + new TerminalAppButtonPanel(confirmAction), new TerminalAppButtonPanel(dismissAction)}); + addComponent(footerToolBar); + + setSchemaUri(schemaUri); + + final Context context = werminal.getContext(); + } + + public UUID getHeapId() + { + + return (UUID) _HeapIdTextBox.getValue(); + } + + public Keys getKeys() + { + + final URI schemaUri = getSchemaUri(); + if (schemaUri == null) + { + return null; + } + + final Context context = getApp().getContext(); + final ApiLoader apiLoader = context.getApiLoader(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final URI documentSchemaUri = schemaLoader.getDocumentSchemaUri(); + + final KeysBuilder keysBuilder = new KeysBuilder(); + + final Set keySchemaUris = _KeyInputs.keySet(); + for (final URI keySchemaUri : keySchemaUris) + { + + final WerminalTextBox keyTextBox = _KeyInputs.get(keySchemaUri); + + final Object keyValue; + try + { + keyValue = keyTextBox.getValue(); + } + catch (final Exception e) + { + continue; + } + + if (keyValue != null) + { + keysBuilder.addKey(keySchemaUri, keyValue); + } + } + + if (_KeyInputs.containsKey(documentSchemaUri)) + { + // Build and add the document keys (if uri value != null) + final WerminalTextBox uriTextBox = _KeyInputs.get(documentSchemaUri); + + if (uriTextBox != null) + { + final URI uri = uriTextBox.getValue(); + if (uri != null) + { + Keys surrogateKeys = apiLoader.buildDocumentKeys(uri, schemaUri); + keysBuilder.addAll(surrogateKeys); + } + } + } + + if (!_CompositeKeyInputs.isEmpty()) + { + + final Set compositeKeySchemaUris = _CompositeKeyInputs.keySet(); + + outer: + for (final URI compositeKeySchemaUri : compositeKeySchemaUris) + { + + final SortedMap compositeKeySlots = new TreeMap(); + final Map compositeKeyTextBoxes = _CompositeKeyInputs + .get(compositeKeySchemaUri); + for (final String compositeKeySlotName : compositeKeyTextBoxes.keySet()) + { + + final WerminalTextBox compositeKeyTextBox = compositeKeyTextBoxes.get(compositeKeySlotName); + + final Object keyComponentValue; + try + { + keyComponentValue = compositeKeyTextBox.getValue(); + } + catch (final Exception e) + { + continue outer; + } + + if (keyComponentValue == null) + { + continue outer; + } + + compositeKeySlots.put(compositeKeySlotName, keyComponentValue); + + } + + if (!compositeKeySlots.isEmpty()) + { + keysBuilder.addKey(compositeKeySchemaUri, new CompositeKey(compositeKeySlots)); + } + + } + } + + return keysBuilder.toKeys(); + } + + public void setKeys(final Keys keys) + { + + updateKeysPanel(getSchemaUri(), keys); + } + + public URI getSchemaUri() + { + + try + { + return (URI) _SchemaUriTextBox.getValue(); + } + catch (final Exception e) + { + return null; + } + } + + public HistoryCheckListBox getSchemaUriHistoryCheckBoxList() + { + + return _SchemaUriHistoryCheckBoxList; + } + + public URI setSchemaUri(final URI schemaUri) + { + + _SchemaUri = schemaUri; + final URI oldSchemaUri = (URI) _SchemaUriTextBox.setValue(schemaUri, false); + updateKeysPanel(schemaUri, null); + return oldSchemaUri; + } + + private boolean addKeyInput(final URI schemaUri, final Prototype keyDeclaredPrototype, final Keys keys) + { + + final Werminal werminal = getWerminal(); + final Context context = werminal.getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final URI keyDeclaredSchemaUri = keyDeclaredPrototype.getSchemaUri(); + + if (_KeyInputs.containsKey(keyDeclaredSchemaUri)) + { + return false; + } + + final SortedSet keySlotNames = keyDeclaredPrototype.getDeclaredKeySlotNames(); + if (keySlotNames == null || keySlotNames.isEmpty()) + { + // The schema declare's *zero* key slots + return false; + } + + if (keySlotNames.size() == 1) + { + // The schema declare's *only one* key slot + + final String keySlotName = keySlotNames.first(); + + if (_KeySlotNames.contains(keySlotName)) + { + return false; + } + + final Class keySlotType = (Class) keyDeclaredPrototype.getKeyType(); + final TerminalAppTextBoxPanel keyTextBoxPanel = createKeyInput(schemaUri, keyDeclaredPrototype, + keySlotName, keySlotType, 60); + final WerminalTextBox keyTextBox = (WerminalTextBox) keyTextBoxPanel.getTextBox(); + _KeysPanel.addComponent(keyTextBoxPanel); + _KeysPanel.addEmptySpace(); + + _KeyInputs.put(keyDeclaredSchemaUri, keyTextBox); + _KeySlotNames.add(keySlotName); + + final URI documentSchemaUri = schemaLoader.getDocumentSchemaUri(); + final boolean isDocumentPrototype = keyDeclaredSchemaUri.equals(documentSchemaUri); + if (isDocumentPrototype) + { + + keyTextBox.addComponentListener(new ComponentAdapter() + { + + @Override + public void onComponentInvalidated(final Component component) + { + + final URI uri; + try + { + uri = (URI) keyTextBox.getValue(); + updateKeysPanelDocumentSurrogateKeyInputs(uri); + } + catch (final Exception ex) + { + return; + } + + } + + }); + + } + + return true; + } + else + { + + // The schema declare's *more than one* key slot + + final SortedMap compositeKeyTextBoxes = new TreeMap<>(); + for (final String keySlotName : keySlotNames) + { + + if (_KeySlotNames.contains(keySlotName)) + { + continue; + } + + final ProtoSlot protoSlot = keyDeclaredPrototype.getProtoSlot(keySlotName); + if (protoSlot == null) + { + continue; + } + + final Class keyComponentType = (Class) protoSlot.getHeapValueType(); + final TerminalAppTextBoxPanel keyTextBoxPanel = createKeyInput(schemaUri, keyDeclaredPrototype, + keySlotName, keyComponentType, 60); + final WerminalTextBox keyTextBox = (WerminalTextBox) keyTextBoxPanel.getTextBox(); + compositeKeyTextBoxes.put(keySlotName, keyTextBox); + + _KeysPanel.addComponent(keyTextBoxPanel); + _KeysPanel.addEmptySpace(); + + _KeySlotNames.add(keySlotName); + } + + if (compositeKeyTextBoxes.isEmpty()) + { + return false; + } + + _CompositeKeyInputs.put(keyDeclaredSchemaUri, compositeKeyTextBoxes); + return true; + } + + } + + private void addKeyMessageLabel() + { + + addMessageLabel("Enter a Schema.id and *click* the \"" + ENTER_KEYS_BUTTON_LABEL + "\" button.", + Alignment.LEFT_CENTER); + + } + + private void addMessageLabel(final String message, final Alignment alignment) + { + + final Label label = new Label(message); + label.setAlignment(alignment); + _KeysPanel.addEmptySpace(); + _KeysPanel.addComponent(label, LinearLayout.MAXIMIZES_HORIZONTALLY); + _KeysPanel.addEmptySpace(); + } + + private TerminalAppTextBoxPanel createKeyInput(final URI schemaUri, final Prototype keyDeclaredPrototype, + final String keyInputName, final Class keyInputType, final int keyInputWidth) + { + + final Werminal werminal = getWerminal(); + final WerminalTextBox keyTextBox = new WerminalTextBox(getWerminal(), keyInputWidth, keyInputType, + _ConfirmAction); + + final Class schemaInterface = keyDeclaredPrototype.getSchemaBean().getIntrospectedClass(); + final String schemaTitle = schemaInterface.getSimpleName(); + final String keyInputTypeTitle = keyInputType.getSimpleName(); + final String panelTitle = " " + schemaTitle + "." + keyInputName + " (" + keyInputTypeTitle + "): "; + final TerminalAppTextBoxPanel keyTextBoxPanel = new TerminalAppTextBoxPanel(werminal, panelTitle, keyTextBox); + + final WerminalAction showHistoryAction = new WerminalAction(getWerminal(), SHOW_HISTORY_BUTTON_LABEL) + { + + @Override + public void doAction() + { + + final Prototype prototype = werminal.getContext().getSchemaLoader().getPrototype(schemaUri); + final SortedSet keyHistory = werminal.getSlotValueHistory(schemaUri, keyInputName); + if (keyHistory != null && !keyHistory.isEmpty()) + { + final String popupTitle = "Key History - " + prototype.getTitle() + " - " + panelTitle; + final HistoryPopup historyPopup = new HistoryPopup(werminal, popupTitle, keyTextBox); + + final HistoryCheckListBox keyHistoryCheckListBox = historyPopup.getHistoryCheckListBox(); + + keyHistoryCheckListBox.addItems(keyHistory); + werminal.showWindow(historyPopup); + } + else + { + werminal.showMessageBox("Empty Key History", + "\nUnfortunately, there are no saved history values associated with the \"" + schemaTitle + + "." + keyInputName + "\" key slot."); + } + + setFocus(keyTextBox); + } + + }; + + final TerminalAppButton showHistoryButton = new TerminalAppButton(showHistoryAction); + keyTextBoxPanel.addComponent(showHistoryButton); + return keyTextBoxPanel; + } + + private void updateKeysPanel(final URI schemaUri, final Keys keys) + { + + _KeysPanel.removeAllComponents(); + _KeyInputs.clear(); + _KeySlotNames.clear(); + + if (schemaUri == null) + { + _KeysPanel.setTitle(DEFAULT_KEYS_PANEL_LABEL); + addKeyMessageLabel(); + + return; + } + + final Context context = getWerminal().getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + + final Prototype prototype; + final Class schemaInterface; + try + { + prototype = schemaLoader.getPrototype(schemaUri); + schemaInterface = schemaLoader.getSchemaInterface(schemaUri); + } + catch (final Exception e) + { + + addKeyMessageLabel(); + + return; + } + + final String title = String.format(" %1s%2s", prototype.getSchemaBean().getIntrospectedClass().getSimpleName(), + DEFAULT_KEYS_PANEL_LABEL); + _KeysPanel.setTitle(title); + _KeysPanel.addEmptySpace(); + + URI uri = null; + + // Put Document's key first + if (Document.class.isAssignableFrom(schemaInterface)) + { + final URI documentSchemaUri = schemaLoader.getDocumentSchemaUri(); + final Prototype documentPrototype = schemaLoader.getPrototype(documentSchemaUri); + addKeyInput(schemaUri, documentPrototype, keys); + + if (Schema.class.equals(schemaInterface)) + { + final WerminalTextBox textBox = _KeyInputs.get(documentSchemaUri); + textBox.setText(SystemApi.Schema.getUri().toString() + "/com/example"); + uri = (URI) textBox.getValue(); + + } + } + + // Add all of the other key inputs; skipping Document's since we already made it first. + if (!Document.class.equals(schemaInterface)) + { + + addKeyInput(schemaUri, prototype, keys); + + final Set basePrototypes = prototype.getDeclaredBasePrototypes(); + for (final Prototype basePrototype : basePrototypes) + { + addKeyInput(schemaUri, basePrototype, keys); + } + + } + + /* + * TODO: Need to support opening by heap id? + * + * if (!_KeyInputs.isEmpty()) { // Added some keys. + * + * // or... heap id addMessageLabel("or", Alignment.CENTER); } + * + * // Add the heap id for UUID-based look-ups (for...debugging?) final TerminalAppTextBoxPanel + * heapIdTextBoxPanel = new TerminalAppTextBoxPanel(werminal, " Model.heapId [UUID]: ", _HeapIdTextBox); + * _KeysPanel.addComponent(heapIdTextBoxPanel); + */ + + if (uri != null) + { + updateKeysPanelDocumentSurrogateKeyInputs(uri); + } + } + + private void updateKeysPanelDocumentSurrogateKeyInputs(final URI uri) + { + + if (uri == null) + { + return; + } + + final Context context = getWerminal().getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final ApiLoader apiLoader = context.getApiLoader(); + + final URI documentSchemaUri = schemaLoader.getDocumentSchemaUri(); + final Keys allDocumentKeys = apiLoader.buildDocumentKeys(uri, getSchemaUri()); + if (allDocumentKeys != null && allDocumentKeys.getCount() > 1) + { + final Set keyedSchemaUris = allDocumentKeys.getKeyedSchemaUris(); + for (final URI keyedSchemaUri : keyedSchemaUris) + { + if (!keyedSchemaUri.equals(documentSchemaUri)) + { + if (_KeyInputs.containsKey(keyedSchemaUri)) + { + final WerminalTextBox surrogateKeyTextBox = _KeyInputs.get(keyedSchemaUri); + final Object surrogateKeyValue = allDocumentKeys.getValue(keyedSchemaUri); + surrogateKeyTextBox.setValue(surrogateKeyValue); + } + } + } + } + + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/dialog/PrintDialog.java b/cli/src/main/java/org/wrml/werminal/dialog/PrintDialog.java new file mode 100644 index 0000000..6aa136e --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/dialog/PrintDialog.java @@ -0,0 +1,108 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.dialog; + +import org.wrml.model.Model; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.component.WerminalTextBox; +import org.wrml.werminal.terminal.TerminalAppPanel; + +import java.io.File; +import java.net.URI; + +public class PrintDialog extends WerminalDialog +{ + + private final WerminalTextBox _PrintToFilePathTextBox; + + private URI _FormatUri; + + private Model _Model; + + public PrintDialog(final Werminal werminal, final String title) + { + + super(werminal, title, werminal.getPrintConfirmationAction(), werminal.getCancelAction()); + + _PrintToFilePathTextBox = new WerminalTextBox(werminal, File.class, werminal.getPrintConfirmationAction()); + render(); + } + + public File getPrintToFile() + { + + return _PrintToFilePathTextBox.getValue(); + } + + public void setPrintToFile(final File file) + { + + _PrintToFilePathTextBox.setValue(file); + } + + @Override + public void render() + { + + removeAllComponents(); + + final Werminal werminal = getWerminal(); + + final TerminalAppPanel printToFilePanel = new TerminalAppPanel(werminal, " Print to File: "); + printToFilePanel.addComponent(_PrintToFilePathTextBox); + + addEmptySpace(); + addComponent(printToFilePanel); + addEmptySpace(); + + super.renderFooterToolBar(); + + } + + public URI getFormatUri() + { + + return _FormatUri; + } + + public void setFormatUri(final URI formatUri) + { + + _FormatUri = formatUri; + } + + public Model getModel() + { + + return _Model; + } + + public void setModel(final Model model) + { + + _Model = model; + } +} \ No newline at end of file diff --git a/cli/src/main/java/org/wrml/werminal/dialog/PrintPreviewDialog.java b/cli/src/main/java/org/wrml/werminal/dialog/PrintPreviewDialog.java new file mode 100644 index 0000000..c781468 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/dialog/PrintPreviewDialog.java @@ -0,0 +1,283 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.dialog; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.gui.Component; +import com.googlecode.lanterna.gui.component.Label; +import com.googlecode.lanterna.gui.component.Panel.Orientation; +import com.googlecode.lanterna.terminal.TerminalSize; +import org.wrml.model.Model; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.Context; +import org.wrml.runtime.format.FormatLoader; +import org.wrml.runtime.format.Formatter; +import org.wrml.runtime.format.ModelWritingException; +import org.wrml.runtime.format.SystemFormat; +import org.wrml.runtime.format.application.schema.json.JsonSchema; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.util.AsciiArt; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.WerminalAction; +import org.wrml.werminal.component.HistoryCheckListBox; +import org.wrml.werminal.component.WerminalActionListBox; +import org.wrml.werminal.component.WerminalTextBox; +import org.wrml.werminal.terminal.TerminalAppButtonPanel; +import org.wrml.werminal.terminal.TerminalAppPanel; +import org.wrml.werminal.terminal.TerminalAppTextBoxPanel; +import org.wrml.werminal.terminal.TerminalAppToolBar; +import org.wrml.werminal.window.WerminalWindow; + +import java.io.ByteArrayOutputStream; +import java.net.URI; +import java.util.SortedSet; + +public class PrintPreviewDialog extends WerminalWindow +{ + + private static final int COMPONENT_COLUMNS = 80; + + private final Label _SchemaUriLabel; + + private final HistoryCheckListBox _FormatUriHistoryCheckListBox; + + private final WerminalTextBox _FormatUriTextBox; + + private final WerminalActionListBox _PrintedModelLineListBox; + + private Model _Model; + + public PrintPreviewDialog(final Werminal werminal, final String title, final WerminalAction dismissAction) + { + + super(werminal, title); + + setBorder(new Border.Standard()); + + addEmptySpace(); + + _SchemaUriLabel = new Label("", COMPONENT_COLUMNS); + final TerminalAppPanel schemaPanel = new TerminalAppPanel(werminal, " Schema: "); + schemaPanel.addComponent(_SchemaUriLabel); + + addEmptySpace(); + addComponent(schemaPanel); + + final WerminalAction formatConfirmAction = new WerminalAction(werminal, "Preview Format") + { + + @Override + public void doAction() + { + + updatePreview(); + + } + }; + + _FormatUriTextBox = new WerminalTextBox(werminal, COMPONENT_COLUMNS, URI.class, formatConfirmAction); + final TerminalAppTextBoxPanel formatUriTextBoxPanel = new TerminalAppTextBoxPanel(werminal, " Format [URI]: ", + _FormatUriTextBox); + addEmptySpace(); + addComponent(formatUriTextBoxPanel); + + final TerminalAppPanel formatsPanel = new TerminalAppPanel(werminal, " Formats: ", new Border.Standard(), + Orientation.VERTICAL); + _FormatUriHistoryCheckListBox = new HistoryCheckListBox(_FormatUriTextBox, formatConfirmAction, null); + _FormatUriHistoryCheckListBox.setPreferredSize(new TerminalSize(70, 10)); + formatsPanel.addEmptySpace(); + formatsPanel.addComponent(_FormatUriHistoryCheckListBox); + formatsPanel.addEmptySpace(); + + addComponent(formatsPanel); + + final TerminalAppPanel previewPanel = new TerminalAppPanel(werminal, " Preview: ", new Border.Standard(), + Orientation.VERTICAL); + _PrintedModelLineListBox = new WerminalActionListBox(werminal); + _PrintedModelLineListBox.setPreferredSize(new TerminalSize(COMPONENT_COLUMNS, 30)); + previewPanel.addEmptySpace(); + previewPanel.addComponent(_PrintedModelLineListBox); + previewPanel.addEmptySpace(); + + addEmptySpace(); + addComponent(previewPanel); + + final TerminalAppToolBar footerToolBar = new TerminalAppToolBar(werminal, + new Component[]{new TerminalAppButtonPanel(werminal.getPrintAction()), new TerminalAppButtonPanel(dismissAction)}); + addEmptySpace(); + addComponent(footerToolBar); + + } + + public URI getFormatUri() + { + + return (URI) _FormatUriTextBox.getValue(); + } + + public Model getModel() + { + + return _Model; + } + + public void setModel(final Model model) + { + + _Model = model; + final URI schemaUri = _Model.getSchemaUri(); + _SchemaUriLabel.setText(String.valueOf(schemaUri)); + + _FormatUriHistoryCheckListBox.clearItems(); + + final Context context = model.getContext(); + final FormatLoader formatLoader = context.getFormatLoader(); + final SortedSet formatUris = formatLoader.getLoadedFormatUris(); + final URI defaultFormatUri = formatLoader.getDefaultFormatUri(); + + for (final URI formatUri : formatUris) + { + final Formatter formatter = formatLoader.getFormatter(formatUri); + if (formatter.isApplicableTo(model.getSchemaUri())) + { + _FormatUriHistoryCheckListBox.addItem(formatUri); + + if (formatUri.equals(defaultFormatUri)) + { + _FormatUriHistoryCheckListBox.setCheckedItem(formatUri); + } + + } + } + + updatePreview(); + } + + private void updatePreview() + { + + final Werminal werminal = getWerminal(); + final Model model = getModel(); + + final Context context = model.getContext(); + final FormatLoader formatLoader = context.getFormatLoader(); + + URI formatUri = getFormatUri(); + if (formatUri == null) + { + + formatUri = formatLoader.getDefaultFormatUri(); + } + + _FormatUriHistoryCheckListBox.setCheckedItem(formatUri); + + final String printOut; + if (model instanceof Schema && formatUri.equals(SystemFormat.json_schema.getFormatUri())) + { + final Schema wrmlSchema = (Schema) model; + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final JsonSchema jsonSchema = schemaLoader.getJsonSchemaLoader().load(wrmlSchema); + printOut = AsciiArt.express(jsonSchema.getRootNode()); + } + else + { + + final ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); + + try + { + context.writeModel(byteOut, model, formatUri); + } + catch (final ModelWritingException e) + { + werminal.showError("Unable to express the model " + model.getHeapId() + ", returning null.", e); + return; + } + + final byte[] modelBytes = byteOut.toByteArray(); + printOut = new String(modelBytes); + } + + final String[] unwrappedLines = printOut.split("\n"); + + _PrintedModelLineListBox.clearItems(); + + for (final String line : unwrappedLines) + { + _PrintedModelLineListBox.addAction(new PrintedLineAction(werminal, line)); + } + + } + + private class PrintedLineAction extends WerminalAction + { + + private final String _Line; + + public PrintedLineAction(final Werminal werminal, final String line) + { + + super(werminal, ""); + _Line = line; + } + + @Override + public void doAction() + { + + String line = getLine(); + if (line == null) + { + return; + } + + line = line.trim(); + + if (line.isEmpty()) + { + return; + } + + final Werminal werminal = getWerminal(); + + werminal.showMessageBox("Selected Line", "\n\n" + _Line.trim() + "\n\n"); + } + + public String getLine() + { + + return _Line; + } + + @Override + public String toString() + { + + return getLine(); + } + + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/dialog/SetOriginDialog.java b/cli/src/main/java/org/wrml/werminal/dialog/SetOriginDialog.java new file mode 100644 index 0000000..585585f --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/dialog/SetOriginDialog.java @@ -0,0 +1,137 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.dialog; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.gui.Component; +import com.googlecode.lanterna.gui.component.RadioCheckBoxList; +import com.googlecode.lanterna.input.Key; +import org.wrml.runtime.Context; +import org.wrml.runtime.service.ServiceLoader; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.WerminalAction; +import org.wrml.werminal.terminal.TerminalAppButtonPanel; +import org.wrml.werminal.terminal.TerminalAppKeyboardInteraction; +import org.wrml.werminal.terminal.TerminalAppToolBar; +import org.wrml.werminal.window.WerminalWindow; + +import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; + +public class SetOriginDialog extends WerminalWindow +{ + + private final OriginValuesCheckBoxList _OriginValuesCheckBoxList; + + public SetOriginDialog(final Werminal werminal, final String title, final WerminalAction confirmAction, final WerminalAction dismissAction) + { + + super(werminal, title); + + setBorder(new Border.Standard()); + + _OriginValuesCheckBoxList = new OriginValuesCheckBoxList(werminal, confirmAction); + + addEmptySpace(); + + addComponent(_OriginValuesCheckBoxList); + + final TerminalAppToolBar footerToolBar = new TerminalAppToolBar(werminal, new Component[]{ + new TerminalAppButtonPanel(confirmAction), new TerminalAppButtonPanel(dismissAction)}); + addComponent(footerToolBar); + } + + public final String getSelectedValue() + { + + return (String) _OriginValuesCheckBoxList.getItemAt(_OriginValuesCheckBoxList.getCheckedItemIndex()); + } + + public final void setSelectedValue(final String selectedValue) + { + + _OriginValuesCheckBoxList.clearItems(); + + + final Context context = getWerminal().getContext(); + final ServiceLoader serviceLoader = context.getServiceLoader(); + + final Set serviceNames = serviceLoader.getServiceNames(); + + final SortedSet sortedServiceNames = new TreeSet<>(serviceNames); + + int index = 0; + for (final String serviceName : sortedServiceNames) + { + + _OriginValuesCheckBoxList.addItem(serviceName); + + if (serviceName.equals(selectedValue)) + { + _OriginValuesCheckBoxList.setCheckedItemIndex(index); + } + + index++; + } + + + } + + public static class OriginValuesCheckBoxList extends RadioCheckBoxList + { + + private final TerminalAppKeyboardInteraction _KeyboardInteraction; + + public OriginValuesCheckBoxList(final Werminal werminal, final WerminalAction confirmAction) + { + + _KeyboardInteraction = new TerminalAppKeyboardInteraction(werminal, confirmAction, true); + } + + @Override + public Result keyboardInteraction(final Key key) + { + + if (!isVisible()) + { + return Result.EVENT_HANDLED; + } + + if (key.getKind() == Key.Kind.Enter) + { + super.keyboardInteraction(key); + } + + if (_KeyboardInteraction.handleKeyboardInteraction(key)) + { + return Result.EVENT_HANDLED; + } + + return super.keyboardInteraction(key); + } + + } +} diff --git a/cli/src/main/java/org/wrml/werminal/dialog/WerminalDialog.java b/cli/src/main/java/org/wrml/werminal/dialog/WerminalDialog.java new file mode 100644 index 0000000..ae6e8cd --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/dialog/WerminalDialog.java @@ -0,0 +1,96 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.dialog; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.gui.Component; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.WerminalAction; +import org.wrml.werminal.terminal.TerminalAppButtonPanel; +import org.wrml.werminal.terminal.TerminalAppToolBar; +import org.wrml.werminal.window.WerminalWindow; + +public class WerminalDialog extends WerminalWindow +{ + + private final TerminalAppToolBar _FooterToolBar; + + public WerminalDialog(final Werminal werminal, final String title, final WerminalAction confirmAction, + final WerminalAction dismissAction) + { + + super(werminal, title); + + setBorder(new Border.Standard()); + + final Component[] footerToolBarComponents; + if (confirmAction != null && dismissAction != null) + { + footerToolBarComponents = new Component[]{new TerminalAppButtonPanel(confirmAction), + new TerminalAppButtonPanel(dismissAction)}; + } + else if (confirmAction != null) + { + footerToolBarComponents = new Component[]{new TerminalAppButtonPanel(confirmAction)}; + } + + else if (dismissAction != null) + { + footerToolBarComponents = new Component[]{new TerminalAppButtonPanel(dismissAction)}; + } + else + { + footerToolBarComponents = null; + } + + if (footerToolBarComponents != null) + { + _FooterToolBar = new TerminalAppToolBar(werminal, footerToolBarComponents); + } + else + { + _FooterToolBar = null; + } + render(); + } + + @Override + public void render() + { + + super.render(); + renderFooterToolBar(); + } + + protected final void renderFooterToolBar() + { + + if (_FooterToolBar != null) + { + addComponent(_FooterToolBar); + } + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/model/EntryModel.java b/cli/src/main/java/org/wrml/werminal/model/EntryModel.java new file mode 100644 index 0000000..9cb7865 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/model/EntryModel.java @@ -0,0 +1,36 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.model; + +import org.wrml.model.Model; +import org.wrml.model.Named; + +public interface EntryModel extends Named, Model +{ + + String getValue(); + + String setValue(final String stringValue); +} \ No newline at end of file diff --git a/cli/src/main/java/org/wrml/werminal/model/SlotValueHistoryListModel.java b/cli/src/main/java/org/wrml/werminal/model/SlotValueHistoryListModel.java new file mode 100644 index 0000000..6354c35 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/model/SlotValueHistoryListModel.java @@ -0,0 +1,40 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.model; + +import org.wrml.model.Model; + +import java.net.URI; +import java.util.List; + +public interface SlotValueHistoryListModel extends Model +{ + + URI getHistoryListSchemaUri(); + + List getSlotValueEntries(); + + URI setHistoryListSchemaUri(URI schemaUri); +} diff --git a/cli/src/main/java/org/wrml/werminal/model/WerminalModel.java b/cli/src/main/java/org/wrml/werminal/model/WerminalModel.java new file mode 100644 index 0000000..1d0eeab --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/model/WerminalModel.java @@ -0,0 +1,40 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.model; + +import org.wrml.model.Filed; +import org.wrml.model.Titled; +import org.wrml.model.rest.Document; + +import java.net.URI; +import java.util.List; + +public interface WerminalModel extends Titled, Filed, Document +{ + List getSchemaUriHistoryList(); + + List getSlotValueHistoryLists(); + +} diff --git a/cli/src/main/java/org/wrml/werminal/terminal/TerminalApp.java b/cli/src/main/java/org/wrml/werminal/terminal/TerminalApp.java new file mode 100644 index 0000000..668cff1 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/terminal/TerminalApp.java @@ -0,0 +1,234 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.terminal; + +import com.googlecode.lanterna.TerminalFacade; +import com.googlecode.lanterna.gui.GUIScreen; +import com.googlecode.lanterna.gui.Window; +import com.googlecode.lanterna.gui.dialog.DialogResult; +import com.googlecode.lanterna.gui.dialog.MessageBox; +import com.googlecode.lanterna.terminal.Terminal; +import com.googlecode.lanterna.terminal.text.UnixTerminal; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.runtime.Context; + +import java.nio.charset.Charset; +import java.util.Arrays; +import java.util.LinkedList; + +/** + *

+ * {@link TerminalApp} is a terminal (command line) application. + *

+ */ +public class TerminalApp +{ + + private static final Logger LOG = LoggerFactory.getLogger(TerminalApp.class); + + private final String _AppTitle; + + private final Context _Context; + + private final GUIScreen _GuiScreen; + + private final LinkedList _WindowStack; + + public TerminalApp(final String appTitle, final Context context) throws Exception + { + + this(appTitle, context, TerminalType.Swing); + } + + public TerminalApp(final String appTitle, final Context context, final TerminalType terminalType) throws Exception + { + + _AppTitle = appTitle; + _Context = context; + + final Terminal terminal; + switch (terminalType) + { + + case Swing: + { + /* + * This construction of the GUIScreen leads to the less cool looking + * (but still pretty cool) Swing Terminal emulator. + */ + // Setting to arbitrary large dimensions to scale the window up more. + terminal = TerminalFacade.createSwingTerminal(110, 60); + break; + } + case Unix: + { + /* + * Using the UnixTerminal forces the use of the much cooler looking + * Terminal shell (on Mac OS X at least). + */ + + terminal = new UnixTerminal(System.in, System.out, Charset.forName("UTF8")); + break; + } + default: + throw new TerminalAppException("Unknkown terminal type: " + terminalType, null, this); + } + + _GuiScreen = TerminalFacade.createGUIScreen(terminal); + + _WindowStack = new LinkedList<>(); + + if (_GuiScreen == null) + { + LOG.error("Couldn't allocate a terminal!"); + throw new TerminalAppException("Couldn't allocate a terminal!", null, this); + } + + } + + public final Context getContext() + { + + return _Context; + } + + public final void closeTopWindow() + { + + if (_WindowStack.isEmpty()) + { + return; + } + + final Window topWindowToClose = _WindowStack.peek(); + + // TODO: Check window edited state before closing. + topWindowToClose.close(); + _WindowStack.pop(); + _GuiScreen.getScreen().refresh(); + + } + + /** + * Keeps line breaks in input string but also adds additional to wrap to fit screen. + */ + public final String formatMessageBoxTextToWrap(final String input) + { + + // TODO: Write a better algorithm for preservation of leading whitespace + final String funkyText = "`Z!0"; + final String text = input.replace(" ", funkyText).replace("\t", funkyText); + + final int columns = _GuiScreen.getScreen().getTerminalSize().getColumns(); + final int maxWidth = columns - 10; + final StringBuilder wrapped = new StringBuilder(); + + final String[] lines = text.split("\n"); + + for (final String line : lines) + { + int lineLen = 0; + final String[] words = line.split("\\s+"); + + for (final String word : words) + { + if (lineLen + word.length() > maxWidth) + { + wrapped.append("\n"); + lineLen = 0; + } + + wrapped.append(word); + wrapped.append(" "); + lineLen += word.length() + 1; + } + wrapped.append("\n"); + } + + return wrapped.toString().replace(funkyText, " "); + } + + public final GUIScreen getGuiScreen() + { + + return _GuiScreen; + } + + public final Window getTopWindow() + { + + return _WindowStack.peek(); + } + + public final void showError(final String errorMessage) + { + + showError(errorMessage, null); + } + + public final void showError(final String errorMessage, final Throwable t) + { + + if (t != null) + { + showMessageBox("Error", "\n" + errorMessage + "\n\nError Details:\n\n" + t + "\n\nError Stack:\n\n" + Arrays.deepToString(t.getStackTrace())); + } + else + { + showMessageBox("Error", "\n" + errorMessage); + } + } + + public final DialogResult showMessageBox(final String title, final String message) + { + + final StringBuilder titleBuilder = new StringBuilder(" ").append(getAppTitle()).append(" - ") + .append(title).append(" "); + + return MessageBox.showMessageBox(_GuiScreen, titleBuilder.toString(), formatMessageBoxTextToWrap(message)); + } + + public final String getAppTitle() + { + + return _AppTitle; + } + + public final void showWindow(final Window window) + { + + showWindow(window, GUIScreen.Position.CENTER); + } + + public final void showWindow(final Window window, final GUIScreen.Position position) + { + + _WindowStack.push(window); + _GuiScreen.showWindow(window, position); + } + + +} diff --git a/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppAction.java b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppAction.java new file mode 100644 index 0000000..2335c16 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppAction.java @@ -0,0 +1,69 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.terminal; + +import com.googlecode.lanterna.gui.Action; +import org.wrml.runtime.Context; + +public abstract class TerminalAppAction implements Action +{ + + private final TerminalApp _App; + + private String _Title; + + public TerminalAppAction(final TerminalApp app, final String title) + { + + _App = app; + _Title = title; + } + + @SuppressWarnings("unchecked") + public final T getApp() + { + + return (T) _App; + } + + public final Context getContext() + { + + return getApp().getContext(); + } + + public final String getTitle() + { + + return _Title; + } + + public final void setTitle(final String title) + { + + _Title = title; + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppButton.java b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppButton.java new file mode 100644 index 0000000..f39b2ed --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppButton.java @@ -0,0 +1,112 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.terminal; + +import com.googlecode.lanterna.gui.component.Button; +import com.googlecode.lanterna.input.Key; +import com.googlecode.lanterna.terminal.TerminalSize; + +public class TerminalAppButton extends Button +{ + + private final TerminalAppKeyboardInteraction _KeyboardInteraction; + + private TerminalAppAction _Action; + + private TerminalSize _PreferredSize; + + public TerminalAppButton(final TerminalAppAction action) + { + + super(action.getTitle()); + setAction(action); + _KeyboardInteraction = new TerminalAppKeyboardInteraction(action.getApp(), action, true); + } + + public TerminalAppAction getAction() + { + + return _Action; + } + + @SuppressWarnings("unchecked") + public T getApp() + { + + return (T) getAction().getApp(); + } + + @Override + public final TerminalSize getPreferredSize() + { + + if (_PreferredSize == null) + { + return super.getPreferredSize(); + } + + return _PreferredSize; + } + + @Override + public Result keyboardInteraction(final Key key) + { + + if (!isVisible()) + { + return Result.EVENT_HANDLED; + } + + if (_KeyboardInteraction.handleKeyboardInteraction(key)) + { + return Result.EVENT_HANDLED; + } + + return super.keyboardInteraction(key); + + } + + public void setAction(final TerminalAppAction action) + { + + _Action = action; + setText(_Action.getTitle()); + } + + @Override + public final void setPreferredSize(final TerminalSize preferredSize) + { + + _PreferredSize = preferredSize; + } + + @Override + public String toString() + { + + return "TerminalButton (" + super.toString() + ")"; + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppButtonPanel.java b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppButtonPanel.java new file mode 100644 index 0000000..e93b594 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppButtonPanel.java @@ -0,0 +1,54 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.terminal; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.gui.component.Panel; + +public class TerminalAppButtonPanel extends TerminalAppPanel +{ + + private final TerminalAppButton _Button; + + public TerminalAppButtonPanel(final TerminalAppAction action) + { + + this(new TerminalAppButton(action)); + } + + public TerminalAppButtonPanel(final TerminalAppButton button) + { + + super(button.getApp(), new Border.Standard(), Panel.Orientation.HORISONTAL); + _Button = button; + addComponent(_Button); + } + + public TerminalAppButton getButton() + { + + return _Button; + } +} diff --git a/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppException.java b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppException.java new file mode 100644 index 0000000..2af91c1 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppException.java @@ -0,0 +1,50 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.terminal; + +/** + * The {@link TerminalApp}'s associated error type. + */ +public class TerminalAppException extends RuntimeException +{ + + private static final long serialVersionUID = 1L; + + private final TerminalApp _App; + + protected TerminalAppException(final String message, final Throwable cause, final TerminalApp app) + { + + super(message, cause); + _App = app; + } + + @SuppressWarnings("unchecked") + public T getApp() + { + + return (T) _App; + } +} diff --git a/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppKeyboardInteraction.java b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppKeyboardInteraction.java new file mode 100644 index 0000000..153f8d7 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppKeyboardInteraction.java @@ -0,0 +1,99 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.terminal; + +import com.googlecode.lanterna.gui.Action; +import com.googlecode.lanterna.input.Key; +import com.googlecode.lanterna.input.Key.Kind; + +public class TerminalAppKeyboardInteraction +{ + + private final TerminalApp _App; + + private final Action _EnterAction; + + private final boolean _CloseOnEscape; + + public TerminalAppKeyboardInteraction(final TerminalApp app, final Action enterAction, final boolean closeOnEscape) + { + + _App = app; + _EnterAction = enterAction; + _CloseOnEscape = closeOnEscape; + } + + public TerminalApp getApp() + { + + return _App; + } + + public Action getEnterAction() + { + + return _EnterAction; + } + + public boolean handleKeyboardInteraction(final Key key) + { + + final Kind kind = key.getKind(); + + boolean handled = false; + switch (kind) + { + + case Enter: + { + + if (_EnterAction != null) + { + _EnterAction.doAction(); + handled = true; + } + + break; + } + case Escape: + { + if (_CloseOnEscape) + { + _App.closeTopWindow(); + handled = true; + } + + break; + } + default: + { + break; + } + } + + return handled; + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppMenu.java b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppMenu.java new file mode 100644 index 0000000..6526cdc --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppMenu.java @@ -0,0 +1,44 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.terminal; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.gui.component.Panel; + +public class TerminalAppMenu extends TerminalAppPanel +{ + + public TerminalAppMenu(final TerminalApp app) + { + + this(app, null); + } + + public TerminalAppMenu(final TerminalApp app, final String title) + { + + super(app, title, new Border.Bevel(true), Panel.Orientation.VERTICAL); + } +} diff --git a/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppMenuWindow.java b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppMenuWindow.java new file mode 100644 index 0000000..823d52a --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppMenuWindow.java @@ -0,0 +1,71 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.terminal; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.gui.Component; +import com.googlecode.lanterna.gui.component.EmptySpace; + +public class TerminalAppMenuWindow extends TerminalAppWindow +{ + + private final TerminalAppPanel _MenuBar; + + private final Component _FooterComponent; + + public TerminalAppMenuWindow(final TerminalApp app, final String title, final TerminalAppPanel menuBar, + final Component footerComponent) + { + + super(app, " " + title + " "); + + _MenuBar = menuBar; + _FooterComponent = footerComponent; + + setBorder(new Border.Bevel(false)); + + // setBetweenComponentsPadding(0); + + addComponent(new EmptySpace(0, 1)); + + addComponent(_MenuBar); + + // Refactoring note (may be deleted) + // closeButtonPanel.getButton().setPreferredSize(new TerminalSize(10, + // 1)); + + if (_FooterComponent != null) + { + addComponent(_FooterComponent); + } + } + + public TerminalAppPanel getMenuBar() + { + + return _MenuBar; + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppNameValueLabel.java b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppNameValueLabel.java new file mode 100644 index 0000000..cf0c31c --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppNameValueLabel.java @@ -0,0 +1,80 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.terminal; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.gui.component.Label; +import com.googlecode.lanterna.gui.layout.LinearLayout; +import com.googlecode.lanterna.terminal.Terminal; + +public class TerminalAppNameValueLabel extends TerminalAppPanel +{ + + private final Label _NameLabel; + + private final Label _ValueLabel; + + public TerminalAppNameValueLabel(final TerminalApp app, final String name, final int nameWidth, + final Terminal.Color nameColor, final boolean nameBold, final Alignment nameAlignment, final String value, + final int valueWidth, final Terminal.Color valueColor, final boolean valueBold, + final Alignment valueAlignment) + { + + super(app, "", new Border.Invisible(), Orientation.HORISONTAL, false, false); + + // setBetweenComponentsPadding(0); + + _NameLabel = new Label(name, nameWidth, nameColor, nameBold); + _NameLabel.setAlignment(nameAlignment); + addComponent(_NameLabel); + + _ValueLabel = new Label(value, valueWidth, valueColor, valueBold); + _ValueLabel.setAlignment(valueAlignment); + addComponent(_ValueLabel, LinearLayout.GROWS_HORIZONTALLY); + + } + + public TerminalAppNameValueLabel(final TerminalApp app, final String name, final int nameWidth, + final Terminal.Color nameColor, final boolean nameBold, final String value, final int valueWidth, + final Terminal.Color valueColor, final boolean valueBold) + { + + this(app, name, nameWidth, nameColor, nameBold, Alignment.RIGHT_CENTER, value, valueWidth, valueColor, + valueBold, Alignment.LEFT_CENTER); + } + + public Label getNameLabel() + { + + return _NameLabel; + } + + public Label getValueLabel() + { + + return _ValueLabel; + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppPanel.java b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppPanel.java new file mode 100644 index 0000000..4e515f1 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppPanel.java @@ -0,0 +1,149 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.terminal; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.gui.component.EmptySpace; +import com.googlecode.lanterna.gui.component.Panel; +import com.googlecode.lanterna.terminal.TerminalSize; + +public class TerminalAppPanel extends Panel +{ + + private final TerminalApp _App; + + private TerminalSize _PreferredSize; + + private boolean _HorizontallyMaximized; + + private boolean _VerticallyMaximized; + + public TerminalAppPanel(final TerminalApp app) + { + + this(app, "", new Border.Standard(), Orientation.VERTICAL, false, false); + } + + public TerminalAppPanel(final TerminalApp app, final Border border, final Orientation orientation) + { + + this(app, "", border, orientation, false, false); + } + + public TerminalAppPanel(final TerminalApp app, final String title) + { + + this(app, title, new Border.Standard(), Orientation.VERTICAL, false, false); + } + + public TerminalAppPanel(final TerminalApp app, final String title, final Border border, + final Orientation orientation) + { + + this(app, title, border, orientation, false, false); + } + + public TerminalAppPanel(final TerminalApp app, final String title, final Border border, + final Orientation orientation, final boolean horizontallyMaximized, final boolean verticallyMaximized) + { + + super(title, border, orientation); + _App = app; + // setBetweenComponentsPadding(0); + + _HorizontallyMaximized = horizontallyMaximized; + _VerticallyMaximized = verticallyMaximized; + } + + public void addEmptySpace() + { + // addComponent(new Label()); + addComponent(new EmptySpace(0, 1)); + } + + @SuppressWarnings("unchecked") + public T getApp() + { + + return (T) _App; + } + + @Override + public final TerminalSize getPreferredSize() + { + + if (_PreferredSize == null) + { + return super.getPreferredSize(); + } + + return _PreferredSize; + } + + public boolean isHorizontallyMaximized() + { + + return _HorizontallyMaximized; + } + + public boolean isVerticallyMaximized() + { + + return _VerticallyMaximized; + } + + @Override + public final boolean maximisesHorisontally() + { + + return _HorizontallyMaximized; + } + + @Override + public final boolean maximisesVertically() + { + + return _VerticallyMaximized; + } + + public void setHorizontallyMaximized(final boolean horizontallyMaximized) + { + + _HorizontallyMaximized = horizontallyMaximized; + } + + @Override + public final void setPreferredSize(final TerminalSize preferredSize) + { + + _PreferredSize = preferredSize; + } + + public void setVerticallyMaximized(final boolean verticallyMaximized) + { + + _VerticallyMaximized = verticallyMaximized; + } +} diff --git a/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppTextArea.java b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppTextArea.java new file mode 100644 index 0000000..9aba90b --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppTextArea.java @@ -0,0 +1,75 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.terminal; + +import com.googlecode.lanterna.gui.component.TextArea; +import com.googlecode.lanterna.input.Key; +import com.googlecode.lanterna.terminal.TerminalSize; + +public class TerminalAppTextArea extends TextArea +{ + + private final TerminalApp _App; + + private final TerminalAppKeyboardInteraction _KeyboardInteraction; + + public TerminalAppTextArea(final TerminalApp app, final TerminalSize preferredSize, final String text) + { + + super(preferredSize, text); + _App = app; + _KeyboardInteraction = createTerminalAppKeyboardInteraction(); + } + + @SuppressWarnings("unchecked") + public T getApp() + { + + return (T) _App; + } + + @Override + public Result keyboardInteraction(final Key key) + { + + if (!isVisible()) + { + return Result.EVENT_HANDLED; + } + + if (_KeyboardInteraction.handleKeyboardInteraction(key)) + { + return Result.EVENT_HANDLED; + } + + return super.keyboardInteraction(key); + } + + protected TerminalAppKeyboardInteraction createTerminalAppKeyboardInteraction() + { + + return new TerminalAppKeyboardInteraction(getApp(), null, true); + } +} diff --git a/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppTextBox.java b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppTextBox.java new file mode 100644 index 0000000..6ec876f --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppTextBox.java @@ -0,0 +1,152 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.terminal; + +import com.googlecode.lanterna.gui.component.TextBox; +import com.googlecode.lanterna.input.Key; +import com.googlecode.lanterna.terminal.TerminalSize; +import org.wrml.werminal.util.ClipboardUtils; + +public class TerminalAppTextBox extends TextBox +{ + + private final TerminalApp _App; + + private final TerminalAppKeyboardInteraction _KeyboardInteraction; + + private TerminalSize _PreferredSize; + + public TerminalAppTextBox(final TerminalApp app) + { + + this(app, 10, null); + } + + public TerminalAppTextBox(final TerminalApp app, final int width) + { + + this(app, width, null); + } + + public TerminalAppTextBox(final TerminalApp app, final int width, final String title) + { + + super(title, width); + _App = app; + _KeyboardInteraction = createTerminalAppKeyboardInteraction(); + + } + + public TerminalAppTextBox(final TerminalApp app, final String title) + { + + this(app, 10, title); + } + + @SuppressWarnings("unchecked") + public T getApp() + { + + return (T) _App; + } + + @Override + public final TerminalSize getPreferredSize() + { + + if (_PreferredSize == null) + { + return super.getPreferredSize(); + } + + return _PreferredSize; + } + + @Override + public final void setPreferredSize(final TerminalSize preferredSize) + { + + _PreferredSize = preferredSize; + } + + @Override + public Result keyboardInteraction(final Key key) + { + + if (!isVisible()) + { + return Result.EVENT_HANDLED; + } + + if (_KeyboardInteraction.handleKeyboardInteraction(key)) + { + return Result.EVENT_HANDLED; + } + + if (key.getKind() == Key.Kind.NormalKey) + { + if (key.isCtrlPressed()) + { + + final char keyCharacter = key.getCharacter(); + if (keyCharacter == 'C' || keyCharacter == 'c') + { + // COPY + ClipboardUtils.setClipboardText(getText()); + return Result.EVENT_HANDLED; + } + else if (keyCharacter == 'V' || keyCharacter == 'v') + { + // PASTE + final String text = ClipboardUtils.getClipboardText(); + if (text != null && !text.isEmpty()) + { + setText(text); + return Result.EVENT_HANDLED; + } + + } + else if (keyCharacter == 'X' || keyCharacter == 'x') + { + // CUT + ClipboardUtils.setClipboardText(getText()); + setText(""); + return Result.EVENT_HANDLED; + } + + } + } + + + return super.keyboardInteraction(key); + } + + protected TerminalAppKeyboardInteraction createTerminalAppKeyboardInteraction() + { + + return new TerminalAppKeyboardInteraction(getApp(), null, true); + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppTextBoxPanel.java b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppTextBoxPanel.java new file mode 100644 index 0000000..9b3ef4c --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppTextBoxPanel.java @@ -0,0 +1,54 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.terminal; + +import com.googlecode.lanterna.gui.Border; + +public class TerminalAppTextBoxPanel extends TerminalAppPanel +{ + + private final TerminalAppTextBox _TextBox; + + public TerminalAppTextBoxPanel(final TerminalApp app, final String title, final int textBoxWidth) + { + + this(app, title, new TerminalAppTextBox(app, textBoxWidth)); + } + + public TerminalAppTextBoxPanel(final TerminalApp app, final String title, final TerminalAppTextBox terminalTextBox) + { + + super(app, title, new Border.Standard(), Orientation.HORISONTAL, false, false); + _TextBox = terminalTextBox; + addComponent(_TextBox); + } + + public TerminalAppTextBox getTextBox() + { + + return _TextBox; + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppTheme.java b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppTheme.java new file mode 100644 index 0000000..cbe11af --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppTheme.java @@ -0,0 +1,69 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.terminal; + +import com.googlecode.lanterna.gui.Theme; + +import java.util.HashMap; +import java.util.Map; + +public abstract class TerminalAppTheme> extends Theme +{ + + private final Map _Definitions; + + private final Map _CategorizedDefinitions; + + private final Class _DefinitionEnumClass; + + public TerminalAppTheme(final Class definitionEnumClass) + { + + _DefinitionEnumClass = definitionEnumClass; + _Definitions = new HashMap<>(); + _CategorizedDefinitions = new HashMap<>(); + } + + protected Map getCategorizedDefinitions() + { + + return _CategorizedDefinitions; + } + + + protected Map getDefinitions() + { + + return _Definitions; + } + + @Override + public Definition getDefinition(final Category category) + { + + return _CategorizedDefinitions.get(category); + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppToolBar.java b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppToolBar.java new file mode 100644 index 0000000..f1910bb --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppToolBar.java @@ -0,0 +1,59 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.terminal; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.gui.Component; +import com.googlecode.lanterna.gui.component.EmptySpace; + +public class TerminalAppToolBar extends TerminalAppPanel +{ + + private final Component[] _Components; + + public TerminalAppToolBar(final TerminalApp app, final Component[] components) + { + + super(app, "", new Border.Invisible(), Orientation.HORISONTAL); + + _Components = components; + + // setBetweenComponentsPadding(0); + + for (final Component component : components) + { + addComponent(component); + addComponent(new EmptySpace(2, 0)); + } + + } + + public Component[] getComponents() + { + + return _Components; + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppWindow.java b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppWindow.java new file mode 100644 index 0000000..178e317 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/terminal/TerminalAppWindow.java @@ -0,0 +1,66 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.terminal; + +import com.googlecode.lanterna.gui.Interactable; +import com.googlecode.lanterna.gui.Interactable.FocusChangeDirection; +import com.googlecode.lanterna.gui.Window; + +public class TerminalAppWindow extends Window +{ + + private final TerminalApp _App; + + public TerminalAppWindow(final TerminalApp app, final String title) + { + + super(title); + + _App = app; + + } + + @SuppressWarnings("unchecked") + public T getApp() + { + + return (T) _App; + } + + @Override + public void setFocus(final Interactable newFocus) + { + + super.setFocus(newFocus); + } + + @Override + public void setFocus(final Interactable newFocus, final FocusChangeDirection direction) + { + + super.setFocus(newFocus, direction); + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/terminal/TerminalType.java b/cli/src/main/java/org/wrml/werminal/terminal/TerminalType.java new file mode 100644 index 0000000..c9ba2e4 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/terminal/TerminalType.java @@ -0,0 +1,32 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.terminal; + +public enum TerminalType +{ + + Swing, + Unix; +} diff --git a/cli/src/main/java/org/wrml/werminal/theme/DefaultSplashTheme.java b/cli/src/main/java/org/wrml/werminal/theme/DefaultSplashTheme.java new file mode 100644 index 0000000..2e1e155 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/theme/DefaultSplashTheme.java @@ -0,0 +1,128 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.theme; + +import com.googlecode.lanterna.gui.Theme; +import com.googlecode.lanterna.terminal.Terminal; +import org.wrml.werminal.terminal.TerminalAppTheme; +import org.wrml.werminal.theme.DefaultSplashTheme.DefaultSplashThemeDefinition; + +import java.util.Map; + +// TODO: Redesign this class to enable greater reuse +public class DefaultSplashTheme extends TerminalAppTheme +{ + + public DefaultSplashTheme() + { + + super(DefaultSplashThemeDefinition.class); + + final Map definitions = getDefinitions(); + final Map categorizedDefinitions = getCategorizedDefinitions(); + + final DefaultSplashThemeDefinition[] wrmlThemeDefinitions = DefaultSplashThemeDefinition.values(); + + for (final DefaultSplashThemeDefinition wrmlThemeDefinition : wrmlThemeDefinitions) + { + + final Definition definition = new Theme.Definition(wrmlThemeDefinition.getForegroundColor(), + wrmlThemeDefinition.getBackgroundColor(), wrmlThemeDefinition.isHighlighted(), + wrmlThemeDefinition.isUnderlined()); + + definitions.put(wrmlThemeDefinition, definition); + categorizedDefinitions.put(wrmlThemeDefinition.toCategory(), definition); + } + + } + + static enum DefaultSplashThemeDefinition + { + + BORDER(Terminal.Color.BLACK, Terminal.Color.RED, false, false), + BUTTON_ACTIVE(Terminal.Color.BLACK, Terminal.Color.BLACK, false, true), + BUTTON_INACTIVE(Terminal.Color.BLACK, Terminal.Color.BLACK, false, true), + BUTTON_LABEL_ACTIVE(Terminal.Color.BLACK, Terminal.Color.RED, true, true), + BUTTON_LABEL_INACTIVE(Terminal.Color.BLACK, Terminal.Color.RED, false, false), + CHECKBOX(Terminal.Color.BLACK, Terminal.Color.RED, false, false), + CHECKBOX_SELECTED(Terminal.Color.BLACK, Terminal.Color.RED, true, false), + DIALOG_AREA(Terminal.Color.BLACK, Terminal.Color.RED, false, false), + LIST_ITEM(Terminal.Color.BLACK, Terminal.Color.RED, false, false), + LIST_ITEM_SELECTED(Terminal.Color.BLACK, Terminal.Color.RED, true, false), + RAISED_BORDER(Terminal.Color.BLACK, Terminal.Color.RED, false, false), + SCREEN_BACKGROUND(Terminal.Color.BLACK, Terminal.Color.BLACK, false, false), + SHADOW(Terminal.Color.BLACK, Terminal.Color.BLACK, false, false), + TEXTBOX(Terminal.Color.BLACK, Terminal.Color.WHITE, false, false), + TEXTBOX_FOCUSED(Terminal.Color.BLACK, Terminal.Color.WHITE, false, false); + + private final Terminal.Color _BackgroundColor; + + private final Terminal.Color _ForegroundColor; + + private final boolean _Highlighted; + + private final boolean _Underlined; + + private DefaultSplashThemeDefinition(final Terminal.Color backgroundColor, + final Terminal.Color foregroundColor, final boolean highlighted, final boolean underlined) + { + + _BackgroundColor = backgroundColor; + _ForegroundColor = foregroundColor; + _Highlighted = highlighted; + _Underlined = underlined; + } + + public Terminal.Color getBackgroundColor() + { + + return _BackgroundColor; + } + + public Terminal.Color getForegroundColor() + { + + return _ForegroundColor; + } + + public boolean isHighlighted() + { + + return _Highlighted; + } + + public boolean isUnderlined() + { + + return _Underlined; + } + + public Category toCategory() + { + + return Category.valueOf(String.valueOf(this)); + } + } +} diff --git a/cli/src/main/java/org/wrml/werminal/theme/DefaultWindowTheme.java b/cli/src/main/java/org/wrml/werminal/theme/DefaultWindowTheme.java new file mode 100644 index 0000000..e3e0e4a --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/theme/DefaultWindowTheme.java @@ -0,0 +1,127 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.theme; + +import com.googlecode.lanterna.gui.Theme; +import com.googlecode.lanterna.terminal.Terminal; +import org.wrml.werminal.terminal.TerminalAppTheme; +import org.wrml.werminal.theme.DefaultWindowTheme.DefaultWindowThemeDefinition; + +import java.util.Map; + +//TODO: Redesign this class to enable greater reuse +public class DefaultWindowTheme extends TerminalAppTheme +{ + + public DefaultWindowTheme() + { + + super(DefaultWindowThemeDefinition.class); + + final Map definitions = getDefinitions(); + final Map categorizedDefinitions = getCategorizedDefinitions(); + + final DefaultWindowThemeDefinition[] wrmlThemeDefinitions = DefaultWindowThemeDefinition.values(); + + for (final DefaultWindowThemeDefinition wrmlThemeDefinition : wrmlThemeDefinitions) + { + + final Definition definition = new Theme.Definition(wrmlThemeDefinition.getForegroundColor(), + wrmlThemeDefinition.getBackgroundColor(), wrmlThemeDefinition.isHighlighted(), + wrmlThemeDefinition.isUnderlined()); + + definitions.put(wrmlThemeDefinition, definition); + categorizedDefinitions.put(wrmlThemeDefinition.toCategory(), definition); + } + } + + static enum DefaultWindowThemeDefinition + { + + BORDER(Terminal.Color.WHITE, Terminal.Color.BLACK, false, false), + BUTTON_ACTIVE(Terminal.Color.WHITE, Terminal.Color.RED, false, true), + BUTTON_INACTIVE(Terminal.Color.WHITE, Terminal.Color.BLACK, false, true), + BUTTON_LABEL_ACTIVE(Terminal.Color.WHITE, Terminal.Color.RED, true, true), + BUTTON_LABEL_INACTIVE(Terminal.Color.WHITE, Terminal.Color.BLACK, false, false), + CHECKBOX(Terminal.Color.WHITE, Terminal.Color.BLACK, false, false), + CHECKBOX_SELECTED(Terminal.Color.WHITE, Terminal.Color.RED, false, false), + DIALOG_AREA(Terminal.Color.WHITE, Terminal.Color.BLACK, false, false), + LIST_ITEM(Terminal.Color.WHITE, Terminal.Color.BLACK, false, false), + LIST_ITEM_SELECTED(Terminal.Color.WHITE, Terminal.Color.RED, false, false), + RAISED_BORDER(Terminal.Color.WHITE, Terminal.Color.RED, false, false), + SCREEN_BACKGROUND(Terminal.Color.BLACK, Terminal.Color.RED, false, false), + SHADOW(Terminal.Color.RED, Terminal.Color.RED, false, false), + TEXTBOX(Terminal.Color.WHITE, Terminal.Color.BLACK, false, false), + TEXTBOX_FOCUSED(Terminal.Color.WHITE, Terminal.Color.RED, false, false); + + private final Terminal.Color _BackgroundColor; + + private final Terminal.Color _ForegroundColor; + + private final boolean _Highlighted; + + private final boolean _Underlined; + + private DefaultWindowThemeDefinition(final Terminal.Color backgroundColor, + final Terminal.Color foregroundColor, final boolean highlighted, final boolean underlined) + { + + _BackgroundColor = backgroundColor; + _ForegroundColor = foregroundColor; + _Highlighted = highlighted; + _Underlined = underlined; + } + + public Terminal.Color getBackgroundColor() + { + + return _BackgroundColor; + } + + public Terminal.Color getForegroundColor() + { + + return _ForegroundColor; + } + + public boolean isHighlighted() + { + + return _Highlighted; + } + + public boolean isUnderlined() + { + + return _Underlined; + } + + public Category toCategory() + { + + return Category.valueOf(String.valueOf(this)); + } + } +} diff --git a/cli/src/main/java/org/wrml/werminal/theme/LightTheme.java b/cli/src/main/java/org/wrml/werminal/theme/LightTheme.java new file mode 100644 index 0000000..c6d684a --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/theme/LightTheme.java @@ -0,0 +1,127 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.theme; + +import com.googlecode.lanterna.gui.Theme; +import com.googlecode.lanterna.terminal.Terminal; +import org.wrml.werminal.terminal.TerminalAppTheme; +import org.wrml.werminal.theme.LightTheme.LightThemeDefinition; + +import java.util.Map; + +//TODO: Redesign this class to enable greater reuse +public class LightTheme extends TerminalAppTheme +{ + + public LightTheme() + { + + super(LightThemeDefinition.class); + + final Map definitions = getDefinitions(); + final Map categorizedDefinitions = getCategorizedDefinitions(); + + final LightThemeDefinition[] wrmlThemeDefinitions = LightThemeDefinition.values(); + + for (final LightThemeDefinition wrmlThemeDefinition : wrmlThemeDefinitions) + { + + final Definition definition = new Theme.Definition(wrmlThemeDefinition.getForegroundColor(), + wrmlThemeDefinition.getBackgroundColor(), wrmlThemeDefinition.isHighlighted(), + wrmlThemeDefinition.isUnderlined()); + + definitions.put(wrmlThemeDefinition, definition); + categorizedDefinitions.put(wrmlThemeDefinition.toCategory(), definition); + } + } + + static enum LightThemeDefinition + { + + BORDER(Terminal.Color.WHITE, Terminal.Color.BLACK, false, false), + BUTTON_ACTIVE(Terminal.Color.WHITE, Terminal.Color.RED, false, true), + BUTTON_INACTIVE(Terminal.Color.WHITE, Terminal.Color.BLACK, false, true), + BUTTON_LABEL_ACTIVE(Terminal.Color.WHITE, Terminal.Color.RED, true, true), + BUTTON_LABEL_INACTIVE(Terminal.Color.WHITE, Terminal.Color.BLACK, false, false), + CHECKBOX(Terminal.Color.WHITE, Terminal.Color.BLACK, false, false), + CHECKBOX_SELECTED(Terminal.Color.WHITE, Terminal.Color.RED, false, false), + DIALOG_AREA(Terminal.Color.WHITE, Terminal.Color.BLACK, false, false), + LIST_ITEM(Terminal.Color.WHITE, Terminal.Color.BLACK, false, false), + LIST_ITEM_SELECTED(Terminal.Color.WHITE, Terminal.Color.RED, false, false), + RAISED_BORDER(Terminal.Color.WHITE, Terminal.Color.RED, false, false), + SCREEN_BACKGROUND(Terminal.Color.WHITE, Terminal.Color.RED, false, false), + SHADOW(Terminal.Color.RED, Terminal.Color.RED, false, false), + TEXTBOX(Terminal.Color.WHITE, Terminal.Color.BLACK, false, false), + TEXTBOX_FOCUSED(Terminal.Color.WHITE, Terminal.Color.RED, false, false); + + private final Terminal.Color _BackgroundColor; + + private final Terminal.Color _ForegroundColor; + + private final boolean _Highlighted; + + private final boolean _Underlined; + + private LightThemeDefinition(final Terminal.Color backgroundColor, final Terminal.Color foregroundColor, + final boolean highlighted, final boolean underlined) + { + + _BackgroundColor = backgroundColor; + _ForegroundColor = foregroundColor; + _Highlighted = highlighted; + _Underlined = underlined; + } + + public Terminal.Color getBackgroundColor() + { + + return _BackgroundColor; + } + + public Terminal.Color getForegroundColor() + { + + return _ForegroundColor; + } + + public boolean isHighlighted() + { + + return _Highlighted; + } + + public boolean isUnderlined() + { + + return _Underlined; + } + + public Category toCategory() + { + + return Category.valueOf(String.valueOf(this)); + } + } +} diff --git a/cli/src/main/java/org/wrml/werminal/util/ClipboardUtils.java b/cli/src/main/java/org/wrml/werminal/util/ClipboardUtils.java new file mode 100644 index 0000000..8f3f261 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/util/ClipboardUtils.java @@ -0,0 +1,72 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.util; + +import java.awt.*; +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.StringSelection; +import java.awt.datatransfer.Transferable; + +public class ClipboardUtils +{ + + public static String getClipboardText() + { + + String text = null; + final Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); + + final Transferable contents = clipboard.getContents(null); + final boolean hasTransferableText = (contents != null) + && contents.isDataFlavorSupported(DataFlavor.stringFlavor); + if (hasTransferableText) + { + try + { + text = (String) contents.getTransferData(DataFlavor.stringFlavor); + } + catch (final Exception e) + { + } + } + + return text; + } + + public static void setClipboardText(final String text) + { + + final StringSelection stringSelection = new StringSelection(text); + try + { + final Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); + clipboard.setContents(stringSelection, null); + } + catch (final Exception e) + { + } + } +} diff --git a/cli/src/main/java/org/wrml/werminal/util/History.java b/cli/src/main/java/org/wrml/werminal/util/History.java new file mode 100644 index 0000000..c861b22 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/util/History.java @@ -0,0 +1,146 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.util; + +import java.util.Collection; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Set; + +public class History +{ + + private final HistoryMap _Map; + + public History() + { + + _Map = new HistoryMap<>(); + } + + public History(final Collection initialState) + { + + _Map = new HistoryMap(initialState); + } + + public History(final int initialCapcity) + { + + _Map = new HistoryMap(initialCapcity); + } + + public void add(final E element) + { + + if (_Map.containsKey(element)) + { + _Map.get(element); + } + else + { + _Map.put(element, element); + } + } + + public void addAll(final Collection elements) + { + + _Map.addAll(elements); + } + + public void clear() + { + + _Map.clear(); + } + + public Set getElementSet() + { + + return _Map.keySet(); + } + + public void remove(final E element) + { + + _Map.remove(element); + } + + private class HistoryMap extends LinkedHashMap + { + + private static final int DEFAULT_EXTRA_INITIAL_CAPACITY = 64; + + private static final float DEFAULT_LOAD_FACTOR = 0.75f; + + private static final int DEFAULT_MAX_ENTRIES = 250; + + private static final long serialVersionUID = 1L; + + public HistoryMap() + { + + this(DEFAULT_EXTRA_INITIAL_CAPACITY); + } + + public HistoryMap(final Collection initialElements) + { + + this(initialElements.size() + DEFAULT_EXTRA_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR); + addAll(initialElements); + } + + public HistoryMap(final int initialCapacity) + { + + this(initialCapacity, DEFAULT_LOAD_FACTOR); + } + + public HistoryMap(final int initialCapacity, final float loadFactor) + { + + super(initialCapacity, loadFactor, true); + } + + public void addAll(final Collection elements) + { + + for (final T element : elements) + { + put(element, element); + } + + } + + @Override + protected boolean removeEldestEntry(@SuppressWarnings("rawtypes") final Map.Entry eldest) + { + + return size() > DEFAULT_MAX_ENTRIES; + } + + } +} diff --git a/cli/src/main/java/org/wrml/werminal/window/FormPanelWindow.java b/cli/src/main/java/org/wrml/werminal/window/FormPanelWindow.java new file mode 100644 index 0000000..7256e71 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/window/FormPanelWindow.java @@ -0,0 +1,185 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.window; + +import com.googlecode.lanterna.gui.Component; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.FormFieldOpenAction; +import org.wrml.werminal.component.FormField; +import org.wrml.werminal.component.FormPanel; +import org.wrml.werminal.component.WerminalPanel; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +public class FormPanelWindow extends WerminalPanelWindow +{ + + public final static int FIELDS_PER_PANEL = 10; + + public final static int HEADER_FIELD_NAME_LABEL_WIDTH = 12; + + public final static int HEADER_FIELD_VALUE_LABEL_WIDTH = 100; + + public FormPanelWindow(final Werminal werminal, final String title, final Component[] toolBarComponents) + { + + super(werminal, title, toolBarComponents); + } + + public void addFormField(final String panelTitle, final Type fieldType, final Object value) + { + + goToLastPanel(); + + FormPanel form = (FormPanel) getCurrentPanel(); + final FormField formField; + if (form == null) + { + final Map fieldMap = new LinkedHashMap<>(); + final String fieldZeroSlotName = "0"; + fieldMap.put(fieldZeroSlotName, fieldType); + initPanels(panelTitle, fieldMap); + formField = getFormField(fieldZeroSlotName); + } + else + { + final FormFieldOpenAction formFieldOpenAction = new FormFieldOpenAction(getWerminal()); + formField = new FormField(String.valueOf((FormPanelWindow.FIELDS_PER_PANEL * form.getPanelIndex()) + + form.getFieldCount()), fieldType, formFieldOpenAction); + formFieldOpenAction.setFormField(formField); + + if (form.getFieldCount() == FormPanelWindow.FIELDS_PER_PANEL) + { + final Map formFields = new LinkedHashMap<>(); + formFields.put(formField.getFieldName(), formField); + form = addFormPanel(panelTitle, formFields); + setCurrentPanel(form); + } + + form.addFormField(formField); + } + + formField.getFieldValueTextBox().setValue(value); + } + + public FormPanel addFormPanel(final String panelTitle, final Map formFields) + { + + final List panels = getPanels(); + final int oldPanelCount = panels.size(); + final int newPanelCount = panels.size() + 1; + + for (final WerminalPanel panel : panels) + { + panel.setPanelCount(newPanelCount); + } + + final FormPanel formPanel = createFormPanel(panelTitle, formFields, oldPanelCount, newPanelCount, FormPanelWindow.FIELDS_PER_PANEL); + panels.add(formPanel); + return formPanel; + } + + public final FormField getFormField(final String fieldName) + { + + for (final WerminalPanel panel : getPanels()) + { + + if (panel instanceof FormPanel) + { + final FormPanel formPanel = (FormPanel) panel; + final FormField field = formPanel.getFormField(fieldName); + if (field != null) + { + return field; + } + } + + } + + return null; + } + + public final void initPanels(final String panelTitle, final Map fieldMap) + { + + final List panels = getPanels(); + panels.clear(); + + final List allFieldNames = new ArrayList<>(fieldMap.keySet()); + + final int totalFieldCount = allFieldNames.size(); + final int fullFieldPanelCount = totalFieldCount / FormPanelWindow.FIELDS_PER_PANEL; + final int leftoverFieldCount = totalFieldCount % FormPanelWindow.FIELDS_PER_PANEL; + final boolean needOddLastPanel = (leftoverFieldCount != 0); + final int panelCount = (fullFieldPanelCount) + (needOddLastPanel ? 1 : 0); + + final int lastPanelFieldCount = (panelCount == 1) ? totalFieldCount + : (leftoverFieldCount == 0) ? FormPanelWindow.FIELDS_PER_PANEL : leftoverFieldCount; + + for (int panelIndex = 0; panelIndex < panelCount; panelIndex++) + { + + final boolean isLastPanel = (panelIndex == (panelCount - 1)); + + final int panelFieldStartIndex = panelIndex * FormPanelWindow.FIELDS_PER_PANEL; + final int panelFieldCount = (isLastPanel) ? lastPanelFieldCount : FormPanelWindow.FIELDS_PER_PANEL; + final int panelFieldEndIndex = panelFieldStartIndex + panelFieldCount; + final Map formFields = new LinkedHashMap<>(); + for (int fieldIndex = panelFieldStartIndex; fieldIndex < panelFieldEndIndex; fieldIndex++) + { + final String fieldName = allFieldNames.get(fieldIndex); + final Type fieldType = fieldMap.get(fieldName); + final FormFieldOpenAction formFieldOpenAction = new FormFieldOpenAction(getWerminal()); + final FormField formField = new FormField(fieldName, fieldType, formFieldOpenAction); + formFieldOpenAction.setFormField(formField); + formFields.put(fieldName, formField); + } + + final FormPanel formPanel = createFormPanel(panelTitle, formFields, panelIndex, panelCount, FormPanelWindow.FIELDS_PER_PANEL); + panels.add(formPanel); + } + + if (panels.size() > 0) + { + setCurrentPanel(panels.get(0)); + } + } + + protected FormPanel createFormPanel(final String panelTitle, final Map formFields, + final int panelIndex, final int panelCount, final int fieldsPerPanel) + { + + final FormPanel formPanel = new FormPanel(getWerminal(), panelTitle, formFields, getNextAction(), getPreviousAction(), fieldsPerPanel); + formPanel.setPanelIndex(panelIndex); + formPanel.setPanelCount(panelCount); + return formPanel; + + } +} diff --git a/cli/src/main/java/org/wrml/werminal/window/ModelWindow.java b/cli/src/main/java/org/wrml/werminal/window/ModelWindow.java new file mode 100644 index 0000000..1d6ac01 --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/window/ModelWindow.java @@ -0,0 +1,297 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.window; + +import com.googlecode.lanterna.gui.Component; +import com.googlecode.lanterna.terminal.Terminal; +import org.wrml.model.Model; +import org.wrml.model.Titled; +import org.wrml.model.rest.Api; +import org.wrml.model.rest.Document; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.rest.ApiLoader; +import org.wrml.runtime.schema.Prototype; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.LoadAction; +import org.wrml.werminal.component.FormField; +import org.wrml.werminal.component.FormPanel; +import org.wrml.werminal.component.WerminalPanel; +import org.wrml.werminal.component.WerminalTextBox; +import org.wrml.werminal.terminal.TerminalAppButtonPanel; +import org.wrml.werminal.terminal.TerminalAppNameValueLabel; +import org.wrml.werminal.terminal.TerminalAppToolBar; + +import java.lang.reflect.Type; +import java.net.URI; +import java.util.*; + +/** + *

+ * {@link org.wrml.werminal.Werminal}'s primary {@link Model} view/edit {@link WerminalWindow}. + *

+ */ +public class ModelWindow extends FormPanelWindow +{ + + private final TerminalAppNameValueLabel _HeapIdLabel; + + private final TerminalAppNameValueLabel _SchemaUriLabel; + + private final TerminalAppNameValueLabel _OriginServiceLabel; + + private final TerminalAppButtonPanel _LoadButton; + + private Model _Model; + + public ModelWindow(final Werminal werminal, final String title, final Component[] toolBarComponents) + { + + super(werminal, title, toolBarComponents); + + _SchemaUriLabel = new TerminalAppNameValueLabel(werminal, "Schema: ", + FormPanelWindow.HEADER_FIELD_NAME_LABEL_WIDTH, Terminal.Color.BLACK, true, "", + FormPanelWindow.HEADER_FIELD_VALUE_LABEL_WIDTH, Terminal.Color.BLACK, false); + + _HeapIdLabel = new TerminalAppNameValueLabel(werminal, "Heap ID: ", + FormPanelWindow.HEADER_FIELD_NAME_LABEL_WIDTH, Terminal.Color.BLACK, true, "", + FormPanelWindow.HEADER_FIELD_VALUE_LABEL_WIDTH, Terminal.Color.BLACK, false); + + _OriginServiceLabel = new TerminalAppNameValueLabel(werminal, "Origin: ", + FormPanelWindow.HEADER_FIELD_NAME_LABEL_WIDTH, Terminal.Color.BLACK, true, "", + FormPanelWindow.HEADER_FIELD_VALUE_LABEL_WIDTH, Terminal.Color.BLACK, false); + + _LoadButton = new TerminalAppButtonPanel(werminal.getLoadAction()); + + render(); + } + + public final static String getModelWindowTitle(final Model model) + { + + final StringBuilder modelWindowTitleBuilder = new StringBuilder("Model - ").append(model.getPrototype() + .getTitle()); + if (model instanceof Titled) + { + final String modelTitle = ((Titled) model).getTitle(); + if (modelTitle != null) + { + final String trimmedTitle = modelTitle.trim(); + if (!trimmedTitle.isEmpty()) + { + modelWindowTitleBuilder.append(" - ").append(trimmedTitle); + } + } + + } + + return modelWindowTitleBuilder.toString(); + + } + + public final Model getModel() + { + + return _Model; + } + + public final void setModel(final Model model) + { + + _Model = model; + + final Werminal werminal = getWerminal(); + + final URI schemaUri = _Model.getSchemaUri(); + _SchemaUriLabel.getValueLabel().setText(schemaUri.toString()); + + final UUID heapId = _Model.getHeapId(); + _HeapIdLabel.getValueLabel().setText(String.valueOf(heapId)); + + + final Prototype prototype = _Model.getPrototype(); + + werminal.addToSchemaUriHistory(schemaUri); + + if (_Model instanceof Schema) + { + werminal.addToSchemaUriHistory(((Schema) _Model).getUri()); + } + + final Map fieldMap = new LinkedHashMap<>(); + + final Set keySlotNameSet = prototype.getAllKeySlotNames(); + final List allKeySlotNames = new ArrayList(keySlotNameSet); + for (final String keySlotName : allKeySlotNames) + { + fieldMap.put(keySlotName, prototype.getProtoSlot(keySlotName).getHeapValueType()); + } + + final List allSlotNames = new ArrayList(prototype.getAllSlotNames()); + + for (final String slotName : allSlotNames) + { + if (!keySlotNameSet.contains(slotName)) + { + fieldMap.put(slotName, prototype.getProtoSlot(slotName).getHeapValueType()); + } + } + + initPanels("Slots", fieldMap); + + for (final String slotName : allSlotNames) + { + + // Note: the _Model field reference is used because of the getModel side-effect (funny smell) + final Object value = _Model.getSlotValue(slotName); + final FormField formField = getFormField(slotName); + if (formField == null) + { + werminal.showError("The slot named \"" + slotName + "\" has no associated form field."); + break; + } + final WerminalTextBox valueTextBox = formField.getFieldValueTextBox(); + valueTextBox.setValue(value); + + } + + if (_Model instanceof Schema) + { + final Schema schema = (Schema) _Model; + final URI uri = schema.getUri(); + if (uri == null) + { + + final URI newSchemaUri = werminal.createSchemaUri("MyNewSchema"); + + final FormField documentKeyFormField = getFormField(Document.SLOT_NAME_URI); + documentKeyFormField.getFieldValueTextBox().setText(newSchemaUri.toString()); + } + } + + updateLoadButton(); + + } + + public final Model syncModel() + { + + final Model model = getModel(); + final List panels = getPanels(); + for (final WerminalPanel panel : panels) + { + + if (panel instanceof FormPanel) + { + final FormPanel formPanel = (FormPanel) panel; + for (final String slotName : formPanel.getFieldNames()) + { + + final FormField field = formPanel.getFormField(slotName); + final WerminalTextBox valueTextBox = field.getFieldValueTextBox(); + if (valueTextBox.isValueChanged()) + { + + final Object slotValue = valueTextBox.getValue(); + model.setSlotValue(slotName, slotValue); + + } + } + } + } + return model; + } + + @Override + public void render() + { + + removeAllComponents(); + renderHeaderToolBar(); + renderDimensionsPanel(); + renderCurrentPanel(); + } + + public void updateLoadButton() + { + + final TerminalAppToolBar headerToolBar = getHeaderToolBar(); + if (headerToolBar == null) + { + return; + } + + final Model model = getModel(); + final boolean isLoadButtonAlreadyVisible = headerToolBar.containsComponent(_LoadButton); + final boolean shouldLoadButtonBeVisible = LoadAction.appliesTo(model); + + String loadButtonTitleText = "Load"; + if (model instanceof Api) + { + if (shouldLoadButtonBeVisible) + { + final ApiLoader apiLoader = model.getContext().getApiLoader(); + if (apiLoader.getLoadedApi(model.getKeys()) != null) + { + loadButtonTitleText = "Reload"; + } + } + } + + _LoadButton.getButton().setText(loadButtonTitleText); + + if (isLoadButtonAlreadyVisible != shouldLoadButtonBeVisible) + { + if (shouldLoadButtonBeVisible) + { + headerToolBar.addComponent(_LoadButton); + } + else + { + headerToolBar.removeComponent(_LoadButton); + } + } + } + + private void renderDimensionsPanel() + { + + + if (_Model != null) + { + final String originServiceName = _Model.getOriginServiceName(); + final String labelText = (originServiceName != null) ? originServiceName : ""; + _OriginServiceLabel.getValueLabel().setText(labelText); + } + + + addEmptySpace(); + addComponent(_SchemaUriLabel); + addComponent(_HeapIdLabel); + addComponent(_OriginServiceLabel); + addEmptySpace(); + + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/window/SplashWindow.java b/cli/src/main/java/org/wrml/werminal/window/SplashWindow.java new file mode 100644 index 0000000..fa187dd --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/window/SplashWindow.java @@ -0,0 +1,160 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.window; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.gui.component.EmptySpace; +import com.googlecode.lanterna.gui.component.TextArea; +import com.googlecode.lanterna.input.Key; +import com.googlecode.lanterna.terminal.TerminalSize; +import org.wrml.util.AsciiArt; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.terminal.TerminalAppMenu; +import org.wrml.werminal.terminal.TerminalAppMenuWindow; +import org.wrml.werminal.terminal.TerminalAppPanel; +import org.wrml.werminal.terminal.TerminalAppTextArea; + +import java.util.Calendar; + +public class SplashWindow extends TerminalAppMenuWindow +{ + + public final static String WERMINAL_SPLASH_SCREEN; + + static + { + + final int currentYear = Calendar.getInstance().get(Calendar.YEAR); + final String attribution = "Mark Masse (WRML.org)"; + + final StringBuilder splash = new StringBuilder(); + splash.append('\n'); + splash.append('\n'); + splash.append('\n'); + splash.append(" Web Resource Modeling Language"); + splash.append('\n'); + splash.append(AsciiArt.LOGO); + splash.append('\n'); + splash.append('\n'); + splash.append('\n'); + splash.append('\n'); + splash.append('\n'); + splash.append(" Welcome to Werminal"); + splash.append('\n'); + splash.append('\n'); + splash.append(" A keyboard-only terminal/console app"); + splash.append('\n'); + splash.append('\n'); + splash.append('\n'); + splash.append('\n'); + splash.append('\n'); + splash.append('\n'); + splash.append('\n'); + splash.append('\n'); + splash.append(" < Please press any key to start modeling >"); + splash.append('\n'); + splash.append('\n'); + splash.append('\n'); + splash.append('\n'); + splash.append('\n'); + splash.append('\n'); + splash.append('\n'); + splash.append('\n'); + splash.append(" Copyright (C) " + currentYear + " " + attribution); + splash.append('\n'); + + WERMINAL_SPLASH_SCREEN = splash.toString(); + + } + + private final static TerminalSize PREFERRED_MENU_SIZE = new TerminalSize(78, 40); + + private final static TerminalSize PREFERRED_TEXT_SIZE = new TerminalSize(70, 38); + + public SplashWindow(final Werminal werminal) + { + + super(werminal, "", new SplashPanel(werminal), null); + + setBorder(new Border.Invisible()); + setSoloWindow(true); + } + + public static class SplashPanel extends TerminalAppPanel + { + + public SplashPanel(final Werminal werminal) + { + + super(werminal, "", new Border.Invisible(), Orientation.HORISONTAL, true, false); + + addComponent(new EmptySpace(2, 0)); + + final TerminalAppMenu textMenu = new TerminalAppMenu(werminal); + textMenu.setPreferredSize(SplashWindow.PREFERRED_MENU_SIZE); + addComponent(textMenu); + + final TextArea textArea = new AsciiTextArea(werminal, SplashWindow.PREFERRED_TEXT_SIZE, + WERMINAL_SPLASH_SCREEN); + textMenu.addComponent(textArea); + + addComponent(new EmptySpace(2, 0)); + } + + @Override + public boolean isScrollable() + { + + return false; + } + } + + private static class AsciiTextArea extends TerminalAppTextArea + { + + public AsciiTextArea(final Werminal werminal, final TerminalSize preferredSize, final String text) + { + + super(werminal, preferredSize, text); + } + + @Override + public boolean isScrollable() + { + + return false; + } + + @Override + public Result keyboardInteraction(final Key key) + { + + getApp().closeTopWindow(); + return Result.EVENT_HANDLED; + } + + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/window/WerminalPanelWindow.java b/cli/src/main/java/org/wrml/werminal/window/WerminalPanelWindow.java new file mode 100644 index 0000000..11e602f --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/window/WerminalPanelWindow.java @@ -0,0 +1,215 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.window; + +import com.googlecode.lanterna.gui.Component; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.WerminalAction; +import org.wrml.werminal.component.WerminalPanel; +import org.wrml.werminal.terminal.TerminalAppButtonPanel; +import org.wrml.werminal.terminal.TerminalAppToolBar; + +import java.util.ArrayList; +import java.util.List; + +public class WerminalPanelWindow extends WerminalWindow +{ + + private final static int PREVIOUS_BUTTON_INDEX = 0; + + private final static int NEXT_BUTTON_INDEX = 2; + + private WerminalPanel _CurrentPanel; + + private final List _Panels; + + private final WerminalAction _NextAction; + + private final WerminalAction _PreviousAction; + + public WerminalPanelWindow(final Werminal werminal, final String title, final Component[] toolBarComponents) + { + + super(werminal, title, toolBarComponents); + + _Panels = new ArrayList(); + + _NextAction = new NextAction(werminal); + _PreviousAction = new PreviousAction(werminal); + } + + public final WerminalPanel getCurrentPanel() + { + + return _CurrentPanel; + } + + public final WerminalAction getNextAction() + { + + return _NextAction; + } + + public final int getPanelCount() + { + + return _Panels.size(); + } + + @SuppressWarnings("unchecked") + public final List getPanels() + { + + return (List) _Panels; + } + + public final WerminalAction getPreviousAction() + { + + return _PreviousAction; + } + + public final void goToFirstPanel() + { + + if (_Panels.isEmpty()) + { + return; + } + setCurrentPanel(_Panels.get(0)); + } + + public final void goToLastPanel() + { + + if (_Panels.isEmpty()) + { + return; + } + setCurrentPanel(_Panels.get(_Panels.size() - 1)); + } + + public final void goToNextPanel() + { + + if (_Panels.isEmpty()) + { + return; + } + directPanel(false); + } + + public final void goToPreviousPanel() + { + + if (_Panels.isEmpty()) + { + return; + } + directPanel(true); + } + + public final void setCurrentPanel(final WerminalPanel currentPanel) + { + + _CurrentPanel = currentPanel; + render(); + } + + protected final void directPanel(final boolean reverse) + { + + final int panelIndexIncrement = (reverse) ? -1 : 1; + + setCurrentPanel(_Panels.get(getCurrentPanel().getPanelIndex() + panelIndexIncrement)); + + final TerminalAppToolBar toolBar = getCurrentPanel().getToolBar(); + if (toolBar != null) + { + final int toolBarComponentCount = toolBar.getComponents().length; + int toolBarButtonIndex = (reverse) ? WerminalPanelWindow.PREVIOUS_BUTTON_INDEX + : WerminalPanelWindow.NEXT_BUTTON_INDEX; + toolBarButtonIndex = (toolBarButtonIndex < toolBarComponentCount) ? toolBarButtonIndex : 0; + final Component focusComponent = toolBar.getComponents()[toolBarButtonIndex]; + if (focusComponent instanceof TerminalAppButtonPanel) + { + setFocus(((TerminalAppButtonPanel) focusComponent).getButton()); + } + } + } + + @Override + public void render() + { + + super.render(); + renderCurrentPanel(); + } + + protected void renderCurrentPanel() + { + + if (_CurrentPanel != null) + { + addComponent(_CurrentPanel); + } + } + + private class NextAction extends WerminalAction + { + + protected NextAction(final Werminal werminal) + { + + super(werminal, "Next"); + } + + @Override + public void doAction() + { + + goToNextPanel(); + } + + } + + private class PreviousAction extends WerminalAction + { + + protected PreviousAction(final Werminal werminal) + { + + super(werminal, "Previous"); + } + + @Override + public void doAction() + { + + goToPreviousPanel(); + } + } + +} diff --git a/cli/src/main/java/org/wrml/werminal/window/WerminalWindow.java b/cli/src/main/java/org/wrml/werminal/window/WerminalWindow.java new file mode 100644 index 0000000..f4b162d --- /dev/null +++ b/cli/src/main/java/org/wrml/werminal/window/WerminalWindow.java @@ -0,0 +1,109 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.window; + +import com.googlecode.lanterna.gui.Border; +import com.googlecode.lanterna.gui.Component; +import com.googlecode.lanterna.gui.component.EmptySpace; +import com.googlecode.lanterna.gui.component.Separator; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.terminal.TerminalAppToolBar; +import org.wrml.werminal.terminal.TerminalAppWindow; + +public class WerminalWindow extends TerminalAppWindow +{ + + private TerminalAppToolBar _HeaderToolBar; + + public WerminalWindow(final Werminal werminal, final String title) + { + + this(werminal, title, null); + } + + public WerminalWindow(final Werminal werminal, final String title, final Component[] toolBarComponents) + { + + super(werminal, getTitle(werminal, title)); + + setBorder(new Border.Standard()); + + if (toolBarComponents != null) + { + _HeaderToolBar = new TerminalAppToolBar(werminal, toolBarComponents); + } + + render(); + } + + private static String getTitle(final Werminal werminal, final String title) + { + + // NOTE: This check is needed to support mocking tests + if (werminal == null) + { + return title; + } + + String werminalTitle = werminal.getAppTitle(); + return String.format(" %s - %s ", werminalTitle, title); + } + + public void addEmptySpace() + { + + addComponent(new EmptySpace(0, 1)); + } + + public TerminalAppToolBar getHeaderToolBar() + { + + return _HeaderToolBar; + } + + public Werminal getWerminal() + { + + return getApp(); + } + + public void render() + { + + removeAllComponents(); + renderHeaderToolBar(); + } + + protected void renderHeaderToolBar() + { + + if (_HeaderToolBar != null) + { + addComponent(_HeaderToolBar); + addComponent(new Separator()); + } + } + +} diff --git a/cli/src/main/resources/headers/JavaFileHeader-latest.txt b/cli/src/main/resources/headers/JavaFileHeader-latest.txt new file mode 100644 index 0000000..2212b4b --- /dev/null +++ b/cli/src/main/resources/headers/JavaFileHeader-latest.txt @@ -0,0 +1,22 @@ +WRML - Web Resource Modeling Language + __ __ ______ __ __ __ +/\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ +\ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +http://www.wrml.org + +Copyright (C) ${year} Mark Masse (OSS project WRML.org) + +Licensed 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. diff --git a/cli/src/main/resources/headers/JavaFileHeader-version-00.txt b/cli/src/main/resources/headers/JavaFileHeader-version-00.txt new file mode 100644 index 0000000..f792205 --- /dev/null +++ b/cli/src/main/resources/headers/JavaFileHeader-version-00.txt @@ -0,0 +1,22 @@ +WRML - Web Resource Modeling Language + __ __ ______ __ __ __ +/\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ +\ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +http://www.wrml.org + +Copyright 2012 Mark Masse (OSS project WRML.org) + +Licensed 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. diff --git a/cli/src/main/resources/headers/JavaFileHeader-version-01.txt b/cli/src/main/resources/headers/JavaFileHeader-version-01.txt new file mode 100644 index 0000000..2212b4b --- /dev/null +++ b/cli/src/main/resources/headers/JavaFileHeader-version-01.txt @@ -0,0 +1,22 @@ +WRML - Web Resource Modeling Language + __ __ ______ __ __ __ +/\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ +\ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +http://www.wrml.org + +Copyright (C) ${year} Mark Masse (OSS project WRML.org) + +Licensed 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. diff --git a/cli/src/main/resources/headers/JavaFileHeader-version-02.txt b/cli/src/main/resources/headers/JavaFileHeader-version-02.txt new file mode 100644 index 0000000..2552fba --- /dev/null +++ b/cli/src/main/resources/headers/JavaFileHeader-version-02.txt @@ -0,0 +1,22 @@ +WRML - Web Resource Modeling Language + __ __ ______ __ __ __ +/\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ +\ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +http://www.wrml.org + +Copyright (C) 2013 Mark Masse (OSS project WRML.org) + +Licensed 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. diff --git a/cli/src/main/resources/logback.xml b/cli/src/main/resources/logback.xml new file mode 100644 index 0000000..bd7f767 --- /dev/null +++ b/cli/src/main/resources/logback.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + ${logging.dir}/wrml.log + + ${logging.dir}/wrml.%d{yyyy-MM-dd}.log + 7 + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cli/src/test/java/org/wrml/werminal/dialog/OpenModelDialogTest.java b/cli/src/test/java/org/wrml/werminal/dialog/OpenModelDialogTest.java new file mode 100644 index 0000000..2a4f16c --- /dev/null +++ b/cli/src/test/java/org/wrml/werminal/dialog/OpenModelDialogTest.java @@ -0,0 +1,189 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.dialog; + +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.internal.util.MockUtil; +import org.mockito.runners.MockitoJUnitRunner; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.rest.ApiLoader; +import org.wrml.runtime.schema.Prototype; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.util.JavaBean; +import org.wrml.werminal.Werminal; +import org.wrml.werminal.action.WerminalAction; +import org.wrml.werminal.component.WerminalTextBox; +import org.wrml.werminal.terminal.TerminalAppPanel; + +import java.net.URI; +import java.util.Map; +import java.util.Set; + +import static org.junit.Assert.*; +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +/** + * Test for {@link OpenModelDialog}. + *

+ * Only select high-value JUnit tests were added for coverage. The highest-profiled hotspot is + * {@link OpenModelDialog#updateKeysPanel}. + *

+ * Some dependencies could not be (Power)Mocked due to java/inheritance limitations, complexities. + * + * @author JJ Zabkar + */ +@RunWith(MockitoJUnitRunner.class) +// @RunWith(PowerMockRunner.class) +// @PrepareForTest({ WerminalWindow.class }) // no worky (stackmap err) +// @PrepareForTest({ TerminalApp.class }) // no worky (stackmap err) +// @PrepareForTest({ JavaBean.class }) +@Ignore +public class OpenModelDialogTest +{ + + private final URI mockSchemaUri = URI.create("mockSchemaUri"); + + private final Object mockSchemaUriOld = URI.create("mockSchemaUriOld"); + + /** + * class under test + */ + OpenModelDialog _OpenModelDialog; + + @Mock + private WerminalAction mockConfirmAction; + + @Mock + private TerminalAppPanel mockKeysPanel; + + @Mock + private Set mockKeySlotNames; + + @Mock + private Map mockKeyInputs; + + @Mock + private WerminalTextBox mockWerminalTextBox; + + @Mock + private SchemaLoader mockSchemaLoader; + + // @Mock + private Prototype mockPrototype; + + @Before + public void setUp() throws Exception + { + + MockUtil mockUtil = new MockUtil(); + + _OpenModelDialog = new OpenModelDialog(); + _OpenModelDialog._SchemaUriTextBox = mockWerminalTextBox; + _OpenModelDialog._KeysPanel = mockKeysPanel; + _OpenModelDialog._ConfirmAction = mockConfirmAction; + _OpenModelDialog._KeySlotNames = mockKeySlotNames; + _OpenModelDialog._KeyInputs = mockKeyInputs; + _OpenModelDialog._SchemaUri = mockSchemaUri; + + //_OpenModelDialog._SchemaLoader = mock(SchemaLoader.class, Mockito.RETURNS_DEEP_STUBS); + //_OpenModelDialog._ApiLoader = mock(ApiLoader.class); + mockPrototype = mock(Prototype.class, Mockito.RETURNS_DEEP_STUBS); + + assertNotNull(mockWerminalTextBox); + assertTrue(mockUtil.isMock(mockWerminalTextBox)); + + when(mockWerminalTextBox.setValue(any(Object.class))).thenReturn(mockSchemaUriOld); + when(mockSchemaLoader.getPrototype(any(URI.class))).thenReturn(mockPrototype); + + } + + /** + * fails on NPE due to unmockable inherited context + */ + @Test(expected = NullPointerException.class) + public void testConstructor4ArgNull() + { + + _OpenModelDialog = new OpenModelDialog(null, null, null, null); + fail("expected NPE"); + } + + @Test + @Ignore + public void testConstructor() throws Exception + { + + Werminal mockWerminal = mock(Werminal.class, Mockito.RETURNS_DEEP_STUBS); + // deep stub: http://docs.mockito.googlecode.com/hg/org/mockito/Mockito.html#RETURNS_DEEP_STUBS + when(mockWerminal.getContext().getSchemaLoader().getApiSchemaUri()).thenReturn(mockSchemaUri); + _OpenModelDialog = new OpenModelDialog(mockWerminal, null, null, null); + } + + @Test + public void testDefaultConstructor() + { + + assertNotNull(_OpenModelDialog); + } + + @Test + public void testSetKeys() + { + + _OpenModelDialog.setKeys(null); + } + + @Test + public void testSetSchemaUriNull() + { + + _OpenModelDialog.setSchemaUri(null); + } + + /** + * Fails on NPE related to {@link JavaBean}. Worth troubleshooting deep mocking? + */ + @SuppressWarnings({"rawtypes", "unchecked"}) + @Test + @Ignore + public void testSetSchemaUri() throws ClassNotFoundException + { + + JavaBean mockJavaBean = mock(JavaBean.class); + Class mockSchemaInterface = Schema.class; + when(mockSchemaLoader.getSchemaInterface(mockSchemaUri)).thenReturn(mockSchemaInterface); + when(mockPrototype.getSchemaBean()).thenReturn(mockJavaBean); + + _OpenModelDialog.setSchemaUri(mockSchemaUri); + } +} diff --git a/cli/src/test/java/org/wrml/werminal/terminal/TerminalAppTest.java b/cli/src/test/java/org/wrml/werminal/terminal/TerminalAppTest.java new file mode 100644 index 0000000..253badd --- /dev/null +++ b/cli/src/test/java/org/wrml/werminal/terminal/TerminalAppTest.java @@ -0,0 +1,160 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.werminal.terminal; + +import com.googlecode.lanterna.TerminalFacade; +import com.googlecode.lanterna.gui.GUIScreen; +import com.googlecode.lanterna.gui.GUIScreen.Position; +import com.googlecode.lanterna.gui.Window; +import com.googlecode.lanterna.gui.dialog.DialogResult; +import com.googlecode.lanterna.gui.dialog.MessageBox; +import com.googlecode.lanterna.screen.Screen; +import com.googlecode.lanterna.terminal.Terminal; +import com.googlecode.lanterna.terminal.TerminalSize; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; +import org.wrml.runtime.Context; + +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.when; +import static org.powermock.api.mockito.PowerMockito.mockStatic; + +/** + * Test for {@link TerminalApp}. + *

+ * Initial goal is to hit most-used methods based on profiling results. + * + * @author JJ Zabkar + */ +@RunWith(PowerMockRunner.class) +@PrepareForTest({MessageBox.class, TerminalFacade.class, DialogResult.class, Position.class}) +public class TerminalAppTest +{ + + /** + * class under test + */ + private TerminalApp _TerminalApp; + + @Mock + private Context mockContext; + + @Mock + private String mockErrorMessage; + + @Mock + private String mockTitle; + + @Mock + private String mockMessage; + + @Mock + private DialogResult mockDialogResult; + + @Mock + private Throwable mockThrowable; + + @Mock + private Window mockWindow; + + @Mock + private Position mockPosition; + + @Mock + private GUIScreen mockGUIScreen; + + @Mock + private Screen mockScreen; + + @Mock + private TerminalSize mockTerminalSize; + + @Before + public void setUp() throws Exception + { + + mockStatic(MessageBox.class); + mockStatic(TerminalFacade.class); + + when(MessageBox.showMessageBox(any(GUIScreen.class), any(String.class), any(String.class))).thenReturn( + mockDialogResult); + when(TerminalFacade.createGUIScreen(any(Terminal.class))).thenReturn(mockGUIScreen); + when(TerminalFacade.createScreen(any(Terminal.class))).thenReturn(mockScreen); + when(mockGUIScreen.getScreen()).thenReturn(mockScreen); + when(mockScreen.getTerminalSize()).thenReturn(mockTerminalSize); + when(mockTerminalSize.getColumns()).thenReturn(100); + + _TerminalApp = new TerminalApp("Test", mockContext); + } + + @After + public void tearDown() throws Exception + { + + _TerminalApp = null; + } + + @Test + public void testShowErrorString() + { + + _TerminalApp.showError(mockErrorMessage); + } + + @Test + public void testShowErrorStringThrowable() + { + + _TerminalApp.showError(mockErrorMessage, mockThrowable); + } + + @Test + public void testShowMessageBox() + { + + _TerminalApp.showMessageBox(mockTitle, mockMessage); + } + + @Test + public void testShowWindowWindow() + { + + _TerminalApp.showWindow(mockWindow); + } + + @Test + public void testShowWindowWindowPosition() + { + + _TerminalApp.showWindow(mockWindow, mockPosition); + } + +} diff --git a/cli/src/test/resources/fileSystemServiceRootDirectory/placeholder.txt b/cli/src/test/resources/fileSystemServiceRootDirectory/placeholder.txt new file mode 100644 index 0000000..b367646 --- /dev/null +++ b/cli/src/test/resources/fileSystemServiceRootDirectory/placeholder.txt @@ -0,0 +1,4 @@ +placeholder.txt + +This file is a placeholder to ensure that this test resource directory is +version controlled in case there are issues with empty directories. \ No newline at end of file diff --git a/cli/src/test/resources/logback-test.xml b/cli/src/test/resources/logback-test.xml new file mode 100644 index 0000000..4fa1903 --- /dev/null +++ b/cli/src/test/resources/logback-test.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cli/src/test/resources/schemaClassRootDirectory/placeholder.txt b/cli/src/test/resources/schemaClassRootDirectory/placeholder.txt new file mode 100644 index 0000000..b367646 --- /dev/null +++ b/cli/src/test/resources/schemaClassRootDirectory/placeholder.txt @@ -0,0 +1,4 @@ +placeholder.txt + +This file is a placeholder to ensure that this test resource directory is +version controlled in case there are issues with empty directories. \ No newline at end of file diff --git a/cli/src/test/resources/wrml.json b/cli/src/test/resources/wrml.json new file mode 100644 index 0000000..7e3a51a --- /dev/null +++ b/cli/src/test/resources/wrml.json @@ -0,0 +1,48 @@ +{ + + "context" : + { + "modelCache" : + { + "name":"Cache", + "implementation":"org.wrml.runtime.service.cache.ShardedModelCache" + }, + + "schemaLoader" : + { + + "factory" : "org.wrml.runtime.schema.DefaultSchemaLoaderFactory", + "schemaClassRootDirectory":"./src/test/resources/schemaClassRootDirectory" + }, + + "serviceLoader" : + { + "services" : + [ + { + "name" : "File", + "implementation" : "org.wrml.runtime.service.file.FileSystemService", + "settings" : + { + "rootDirectory" : "./src/test/resources/fileSystemServiceRootDirectory" + } + }, + { + "name" : "ApiDesigner", + "implementation" : "org.wrml.runtime.service.apiDesigner.ApiDesignerService", + "settings" : + { + "apiUri" : "http://design.api.wrml.org" + } + } + + ], + + "serviceMapping" : + { + "http://schema.api.wrml.org/org/wrml/runtime/service/apiDesigner/*" : "ApiDesigner", + "*" : "File" + } + } + } +} \ No newline at end of file diff --git a/contrib/.gitignore b/contrib/.gitignore new file mode 100644 index 0000000..a448b58 --- /dev/null +++ b/contrib/.gitignore @@ -0,0 +1,4 @@ +bin +.project +.classpath +.settings diff --git a/contrib/contrib.iml b/contrib/contrib.iml new file mode 100644 index 0000000..b475024 --- /dev/null +++ b/contrib/contrib.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/contrib/maven/.gitignore b/contrib/maven/.gitignore new file mode 100644 index 0000000..eb5a316 --- /dev/null +++ b/contrib/maven/.gitignore @@ -0,0 +1 @@ +target diff --git a/contrib/maven/maven.iml b/contrib/maven/maven.iml new file mode 100644 index 0000000..7d40b66 --- /dev/null +++ b/contrib/maven/maven.iml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/contrib/maven/pom.xml b/contrib/maven/pom.xml new file mode 100644 index 0000000..d3c7636 --- /dev/null +++ b/contrib/maven/pom.xml @@ -0,0 +1,57 @@ + + 4.0.0 + + org.wrml + contrib + 1.0-SNAPSHOT + + + Mark Masse (OSS project WRML.org) + http://www.wrml.org + + org.wrml.contrib + pom + maven + Contributions that may optionally be used along with the WRML core. + + UTF-8 + UTF-8 + + + + + + + junit + junit + test + + + org.mockito + mockito-all + test + + + + + + ./schema-builder-plugin + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + + + + maven + diff --git a/contrib/maven/schema-builder-plugin/.gitignore b/contrib/maven/schema-builder-plugin/.gitignore new file mode 100644 index 0000000..42eda58 --- /dev/null +++ b/contrib/maven/schema-builder-plugin/.gitignore @@ -0,0 +1,7 @@ +target +bin +logs +.classpath +.project +.settings +dependency-reduced-pom.xml diff --git a/contrib/maven/schema-builder-plugin/example-models/.gitignore b/contrib/maven/schema-builder-plugin/example-models/.gitignore new file mode 100644 index 0000000..42eda58 --- /dev/null +++ b/contrib/maven/schema-builder-plugin/example-models/.gitignore @@ -0,0 +1,7 @@ +target +bin +logs +.classpath +.project +.settings +dependency-reduced-pom.xml diff --git a/contrib/maven/schema-builder-plugin/example-models/pom.xml b/contrib/maven/schema-builder-plugin/example-models/pom.xml new file mode 100644 index 0000000..4d34bd9 --- /dev/null +++ b/contrib/maven/schema-builder-plugin/example-models/pom.xml @@ -0,0 +1,57 @@ + + 4.0.0 + org.wrml.contrib.examples + example-models + 1.0-SNAPSHOT + + + + org.wrml + schema-builder-plugin + 1.0-SNAPSHOT + + + process-resources + + model + + + + + + + + + + org.eclipse.m2e + lifecycle-mapping + 1.0.0 + + + + + + org.wrml + + schema-builder-plugin + + + [1.0-SNAPSHOT,) + + + model + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contrib/maven/schema-builder-plugin/example-models/src/main/json-schema/org/wrml/test/Person.json b/contrib/maven/schema-builder-plugin/example-models/src/main/json-schema/org/wrml/test/Person.json new file mode 100644 index 0000000..d7c55dc --- /dev/null +++ b/contrib/maven/schema-builder-plugin/example-models/src/main/json-schema/org/wrml/test/Person.json @@ -0,0 +1,19 @@ +{ + "title": "Person Schema", + "type": "object", + "properties": { + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "age": { + "description": "Age in years", + "type": "integer", + "minimum": 0, + "maximum": 150 + } + }, + "required": ["firstName", "lastName"] +} \ No newline at end of file diff --git a/contrib/maven/schema-builder-plugin/example-models/src/main/wrml-model/org/wrml/test/Alphabet.mdl b/contrib/maven/schema-builder-plugin/example-models/src/main/wrml-model/org/wrml/test/Alphabet.mdl new file mode 100644 index 0000000..b34d306 --- /dev/null +++ b/contrib/maven/schema-builder-plugin/example-models/src/main/wrml-model/org/wrml/test/Alphabet.mdl @@ -0,0 +1,33 @@ +{ + "uniqueName" : "org/wrml/test/Alphabet", + "list" : + [ + "alf", + "buckarooBanzai", + "capricaSix", + "darkwingDuck", + "et", + "flashGordon", + "gandalf", + "heMan", + "I", + "J", + "k", + "l", + "m", + "n", + "o", + "p", + "q", + "r", + "s", + "T", + "u", + "V", + "W", + "x", + "y", + "zippy" + ], + "version" : 1 +} \ No newline at end of file diff --git a/contrib/maven/schema-builder-plugin/example-models/src/main/wrml-model/org/wrml/test/WrmlLetters.mdl b/contrib/maven/schema-builder-plugin/example-models/src/main/wrml-model/org/wrml/test/WrmlLetters.mdl new file mode 100644 index 0000000..263ca7b --- /dev/null +++ b/contrib/maven/schema-builder-plugin/example-models/src/main/wrml-model/org/wrml/test/WrmlLetters.mdl @@ -0,0 +1,11 @@ +{ + "uniqueName" : "org/wrml/test/WrmlLetters", + "list" : + [ + "W", + "R", + "M", + "L" + ], + "version" : 1 +} \ No newline at end of file diff --git a/contrib/maven/schema-builder-plugin/pom.xml b/contrib/maven/schema-builder-plugin/pom.xml new file mode 100644 index 0000000..bd82a8e --- /dev/null +++ b/contrib/maven/schema-builder-plugin/pom.xml @@ -0,0 +1,70 @@ + + + 4.0.0 + + org.wrml.contrib + maven + 1.0-SNAPSHOT + + schema-builder-plugin + maven-plugin + schema-builder-plugin Maven Mojo + http://maven.apache.org + + Mark Masse (OSS project WRML.org) + http://www.wrml.org + + + + + + + com.mycila.maven-license-plugin + maven-license-plugin + + true +

src/main/resources/headers/JavaFileHeader-latest.txt
+ + src/**/*.java + + UTF-8 + + src/main/resources/headers/JavaFileHeader-version-00.txt + src/main/resources/headers/JavaFileHeader-version-01.txt + src/main/resources/headers/JavaFileHeader-version-02.txt + + + + + test + + check + + + + + + + + + commons-io + commons-io + + + org.apache.maven + maven-plugin-api + + + junit + junit + test + + + org.wrml + core + + + diff --git a/contrib/maven/schema-builder-plugin/schema-builder-plugin.iml b/contrib/maven/schema-builder-plugin/schema-builder-plugin.iml new file mode 100644 index 0000000..a831b85 --- /dev/null +++ b/contrib/maven/schema-builder-plugin/schema-builder-plugin.iml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/contrib/maven/schema-builder-plugin/src/main/java/org/wrml/mojo/schema/builder/SchemaBuilderMojo.java b/contrib/maven/schema-builder-plugin/src/main/java/org/wrml/mojo/schema/builder/SchemaBuilderMojo.java new file mode 100644 index 0000000..1134fd7 --- /dev/null +++ b/contrib/maven/schema-builder-plugin/src/main/java/org/wrml/mojo/schema/builder/SchemaBuilderMojo.java @@ -0,0 +1,224 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) ${year} Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.mojo.schema.builder; + +import java.io.File; +import java.io.FileFilter; +import java.io.FileInputStream; +import java.io.FilenameFilter; +import java.io.IOException; +import java.io.InputStream; +import java.net.URI; +import java.nio.file.Path; +import java.util.List; + +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.DefaultEngine; +import org.wrml.runtime.Engine; +import org.wrml.runtime.EngineConfiguration; +import org.wrml.runtime.format.application.schema.json.JsonSchema; +import org.wrml.runtime.format.application.schema.json.JsonSchemaLoader; +import org.wrml.runtime.rest.SystemApi; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.runtime.service.file.FileSystemService; + +/** + * Goal which touches a timestamp file. + * + * @goal model + * + * @phase process-resources + */ +public class SchemaBuilderMojo extends AbstractMojo { + + public static final String MANIFEST_NAME = "manifest.txt"; + /** + * Project's source directory as specified in the POM. + * + * @parameter expression="${project.build.sourceDirectory}" + * @readonly + * @required + */ + private File resourcesDirectory; + /** + * Location of the file. + * + * @parameter expression="${project.build.outputDirectory}" + * @required + */ + private File outputDirectory; + + private Engine engine; + private URI rootJsonSchemaUri; + @SuppressWarnings("unused") + private URI rootWrmlModelUri; + + private enum SourceType { JSON_SCHEMA, WRML_MODEL }; + + public void execute() throws MojoExecutionException { + /* + * Recursive decent into the resourcesDirectory looking for files with + * the extension .mdl These are JSON files that describe a model. Read + * each .mdl file and generate a class in the target directory that + * implements the model. + */ + File mainDir = resourcesDirectory.getParentFile(); + if (!mainDir.isDirectory()) + throw new MojoExecutionException(String.format( + "%s is not a directory.", resourcesDirectory.getPath())); + + + File rootWrmlModelDir = new File(mainDir, "wrml-model"); + File rootJsonSchemaDir = new File(mainDir, "json-schema"); + + getLog().info("Expected JsonSchema Location: " + rootJsonSchemaDir.toString()); + getLog().info("Expected Wrml Model location: " + rootWrmlModelDir.toString()); + Path rootWrmlModelPath = rootWrmlModelDir.toPath(); + Path rootJsonSchemaPath = rootJsonSchemaDir.toPath(); + + rootWrmlModelUri = rootWrmlModelPath.toUri(); + rootJsonSchemaUri = rootJsonSchemaPath.toUri(); + + try { + engine = createEngine(); + } catch (IOException e) { + throw new MojoExecutionException("Error creating wrml engine.", e); + } + + try { + if(rootJsonSchemaDir.isDirectory()) { + getLog().info("Processing: " + rootJsonSchemaDir.toString()); + File manifest = new File(rootJsonSchemaDir + File.separator + MANIFEST_NAME); + if(manifest.exists() && manifest.isFile()) { + getLog().info("Using file Manifest..."); + decendManifest(manifest); + } else { + getLog().info("No Manifest at " + manifest.getAbsolutePath() + ", decending per directories..."); + decend(rootJsonSchemaDir, SourceType.JSON_SCHEMA); + } + } + if(rootWrmlModelDir.isDirectory()) { + getLog().info("Processing: " + rootWrmlModelDir.toString()); + decend(rootWrmlModelDir, SourceType.WRML_MODEL); + } + } catch (Exception e) { + throw new MojoExecutionException("Error generating models.", e); + } + } + + // Only do this for JsonSchemas.... + private void decendManifest(File manifestFile) throws IOException, ClassNotFoundException + { + List files = IOUtils.readLines(new FileInputStream(manifestFile)); + String relPath = manifestFile.getParentFile().getAbsolutePath(); + for(String file : files) + { + File rawSchema = new File(relPath + File.separator + file); + generateJsonSchema(rawSchema); + } + } + + private void decend(File parentDir, SourceType sourceType) throws IOException, ClassNotFoundException { + if(sourceType == SourceType.JSON_SCHEMA) { + File models[] = parentDir.listFiles(new FilenameFilter() { + public boolean accept(File dir, String name) { + return name.toLowerCase().endsWith(".json"); + } + }); + for (File model : models) { + generateJsonSchema(model); + } + } else if(sourceType == SourceType.WRML_MODEL) { + /* TODO: Uncomment the contents of this block when the + * generateWrmlModel method is fixed to work correctly. + * + File models[] = parentDir.listFiles(new FilenameFilter() { + public boolean accept(File dir, String name) { + return name.toLowerCase().endsWith(".mdl"); + } + }); + + for (File model : models) { + generateWrmlModel(model); + } + */ + } + + File subDirectories[] = parentDir.listFiles(new FileFilter() { + public boolean accept(File pathname) { + return pathname.isDirectory(); + } + }); + for (File subDirectory : subDirectories) + decend(subDirectory, sourceType); + } + + private URI createModelUri(File sourceFile, URI rootUri) { + URI relativeUri = rootUri.relativize(sourceFile.toPath().toUri()); + String modelUriString = SystemApi.Schema.getUri().toString() + "/" + relativeUri.toString(); + modelUriString = modelUriString.substring(0, modelUriString.lastIndexOf(".")); + getLog().info("Model URI created from " + relativeUri + ", and root " + rootUri + ", is " + modelUriString); + return URI.create(modelUriString); + } + + private void generateJsonSchema(File sourceFile) throws IOException, ClassNotFoundException { + getLog().info("Working: " + sourceFile.getAbsolutePath()); + SchemaLoader loader = engine.getContext().getSchemaLoader(); + InputStream in = FileUtils.openInputStream(sourceFile); + JsonSchemaLoader jsonSchemaLoader = loader.getJsonSchemaLoader(); + JsonSchema jsonSchema = jsonSchemaLoader.load(in, createModelUri(sourceFile, rootJsonSchemaUri)); + Schema schema = loader.load(jsonSchema); + Class classz = loader.getSchemaInterface(schema.getUri()); + getLog().info("Created: " + classz.getName()); + } + + /* TODO: Uncomment and fix this so that it works + private void generateWrmlModel(File sourceFile) throws IOException, ClassNotFoundException { + SchemaLoader loader = engine.getContext().getSchemaLoader(); + Schema schema = loader.load(sourceFile.toURI()); + Class classz = loader.getSchemaInterface(schema.getUri()); + getLog().info("Created: " + classz.getName()); + } + */ + + private EngineConfiguration createEngineConfig() throws IOException { + EngineConfiguration config = EngineConfiguration.load(this.getClass(), "wrml.json"); + config.getContext().getSchemaLoader().setSchemaClassRootDirectory(outputDirectory); + getLog().info("config.context.schemaLoader.schemaClassRootDirectory = " + + config.getContext().getSchemaLoader().getSchemaClassRootDirectory().toString() ); + return config; + } + + public final Engine createEngine() throws IOException { + final Engine engine = new DefaultEngine(); + engine.init(createEngineConfig()); + return engine; + } +} + \ No newline at end of file diff --git a/contrib/maven/schema-builder-plugin/src/main/resources/headers/JavaFileHeader-latest.txt b/contrib/maven/schema-builder-plugin/src/main/resources/headers/JavaFileHeader-latest.txt new file mode 100644 index 0000000..2212b4b --- /dev/null +++ b/contrib/maven/schema-builder-plugin/src/main/resources/headers/JavaFileHeader-latest.txt @@ -0,0 +1,22 @@ +WRML - Web Resource Modeling Language + __ __ ______ __ __ __ +/\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ +\ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +http://www.wrml.org + +Copyright (C) ${year} Mark Masse (OSS project WRML.org) + +Licensed 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. diff --git a/contrib/maven/schema-builder-plugin/src/main/resources/headers/JavaFileHeader-version-00.txt b/contrib/maven/schema-builder-plugin/src/main/resources/headers/JavaFileHeader-version-00.txt new file mode 100644 index 0000000..f792205 --- /dev/null +++ b/contrib/maven/schema-builder-plugin/src/main/resources/headers/JavaFileHeader-version-00.txt @@ -0,0 +1,22 @@ +WRML - Web Resource Modeling Language + __ __ ______ __ __ __ +/\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ +\ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +http://www.wrml.org + +Copyright 2012 Mark Masse (OSS project WRML.org) + +Licensed 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. diff --git a/contrib/maven/schema-builder-plugin/src/main/resources/headers/JavaFileHeader-version-01.txt b/contrib/maven/schema-builder-plugin/src/main/resources/headers/JavaFileHeader-version-01.txt new file mode 100644 index 0000000..2212b4b --- /dev/null +++ b/contrib/maven/schema-builder-plugin/src/main/resources/headers/JavaFileHeader-version-01.txt @@ -0,0 +1,22 @@ +WRML - Web Resource Modeling Language + __ __ ______ __ __ __ +/\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ +\ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +http://www.wrml.org + +Copyright (C) ${year} Mark Masse (OSS project WRML.org) + +Licensed 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. diff --git a/contrib/maven/schema-builder-plugin/src/main/resources/headers/JavaFileHeader-version-02.txt b/contrib/maven/schema-builder-plugin/src/main/resources/headers/JavaFileHeader-version-02.txt new file mode 100644 index 0000000..2552fba --- /dev/null +++ b/contrib/maven/schema-builder-plugin/src/main/resources/headers/JavaFileHeader-version-02.txt @@ -0,0 +1,22 @@ +WRML - Web Resource Modeling Language + __ __ ______ __ __ __ +/\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ +\ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +http://www.wrml.org + +Copyright (C) 2013 Mark Masse (OSS project WRML.org) + +Licensed 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. diff --git a/contrib/maven/schema-builder-plugin/src/main/resources/org/wrml/mojo/schema/builder/wrml.json b/contrib/maven/schema-builder-plugin/src/main/resources/org/wrml/mojo/schema/builder/wrml.json new file mode 100644 index 0000000..fc3e808 --- /dev/null +++ b/contrib/maven/schema-builder-plugin/src/main/resources/org/wrml/mojo/schema/builder/wrml.json @@ -0,0 +1,39 @@ +{ + + "context" : + { + "modelCache" : + { + "name":"Cache", + "implementation":"org.wrml.runtime.service.cache.ShardedModelCache" + }, + + "schemaLoader" : + { + + "factory" : "org.wrml.runtime.schema.DefaultSchemaLoaderFactory", + + "schemaClassRootDirectory":"", + "jsonSchemaIds": + [ + "http://www.my.schemas/schemas/my-schema.json" + ] + }, + + "serviceLoader" : + { + "services" : + [ + + ], + + "serviceChains" : + { + "*": + [ + + ] + } + } + } +} \ No newline at end of file diff --git a/contrib/pom.xml b/contrib/pom.xml new file mode 100644 index 0000000..79d5db5 --- /dev/null +++ b/contrib/pom.xml @@ -0,0 +1,40 @@ + + 4.0.0 + + org.wrml + wrml + 1.0-SNAPSHOT + + + + Mark Masse (OSS project WRML.org) + http://www.wrml.org + + + + contrib + pom + wrml-contrib + Contributions that may optionally be used along with the WRML core. + + + runtime + maven + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + + + + diff --git a/contrib/runtime/pom.xml b/contrib/runtime/pom.xml new file mode 100644 index 0000000..be1546c --- /dev/null +++ b/contrib/runtime/pom.xml @@ -0,0 +1,36 @@ + + 4.0.0 + + org.wrml + contrib + 1.0-SNAPSHOT + + + + Mark Masse (OSS project WRML.org) + http://www.wrml.org + + + org.wrml.contrib + runtime + pom + wrml-contrib-runtime + Contributions that may optionally be used along with the WRML core runtime. + + + service + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + + diff --git a/contrib/runtime/runtime.iml b/contrib/runtime/runtime.iml new file mode 100644 index 0000000..b475024 --- /dev/null +++ b/contrib/runtime/runtime.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/contrib/runtime/service/README.txt b/contrib/runtime/service/README.txt new file mode 100644 index 0000000..34dc768 --- /dev/null +++ b/contrib/runtime/service/README.txt @@ -0,0 +1 @@ +This project is home to Service contributions. \ No newline at end of file diff --git a/contrib/runtime/service/groovy/.gitignore b/contrib/runtime/service/groovy/.gitignore new file mode 100644 index 0000000..35cb9d1 --- /dev/null +++ b/contrib/runtime/service/groovy/.gitignore @@ -0,0 +1,3 @@ +target +dependency-reduced-pom.xml + diff --git a/contrib/runtime/service/groovy/groovy.iml b/contrib/runtime/service/groovy/groovy.iml new file mode 100644 index 0000000..8b341c5 --- /dev/null +++ b/contrib/runtime/service/groovy/groovy.iml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/contrib/runtime/service/groovy/logs/wrml.log b/contrib/runtime/service/groovy/logs/wrml.log new file mode 100644 index 0000000..c7ceaa2 --- /dev/null +++ b/contrib/runtime/service/groovy/logs/wrml.log @@ -0,0 +1,189 @@ +2013-03-27 01:57:56,615 0 [main] ERROR org.wrml.contrib.runtime.service.groovy.GroovyTemplateService getGroovyClass - Unable to compile target file [/Users/mark/Documents/WRML/code/WRML/contrib/runtime/service/groovy/target/test-classes/org/wrml/contrib/runtime/service/groovy/groovyTemplates/bad/jargon.groovy] +org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: +/Users/mark/Documents/WRML/code/WRML/contrib/runtime/service/groovy/target/test-classes/org/wrml/contrib/runtime/service/groovy/groovyTemplates/bad/jargon.groovy: 1: expecting EOF, found 'Javalang' @ line 1, column 19. + crappy != compile Javalang Moose + ^ + +1 error + + at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:309) + at org.codehaus.groovy.control.ErrorCollector.addFatalError(ErrorCollector.java:149) + at org.codehaus.groovy.control.ErrorCollector.addError(ErrorCollector.java:119) + at org.codehaus.groovy.control.ErrorCollector.addError(ErrorCollector.java:131) + at org.codehaus.groovy.control.SourceUnit.addError(SourceUnit.java:359) + at org.codehaus.groovy.antlr.AntlrParserPlugin.transformCSTIntoAST(AntlrParserPlugin.java:142) + at org.codehaus.groovy.antlr.AntlrParserPlugin.parseCST(AntlrParserPlugin.java:108) + at org.codehaus.groovy.control.SourceUnit.parse(SourceUnit.java:236) + at org.codehaus.groovy.control.CompilationUnit$1.call(CompilationUnit.java:163) + at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:912) + at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:575) + at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:551) + at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:528) + at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:279) + at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:258) + at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:244) + at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:185) + at org.wrml.contrib.runtime.service.groovy.GroovyTemplateService.getGroovyClass(GroovyTemplateService.java:141) + at org.wrml.contrib.runtime.service.groovy.GroovyTemplateService.getGroovyTemplate(GroovyTemplateService.java:161) + at org.wrml.contrib.runtime.service.groovy.GroovyTemplateService.loadGroovyTemplate(GroovyTemplateService.java:113) + at org.wrml.contrib.runtime.service.groovy.GroovyTemplateService.get(GroovyTemplateService.java:91) + at org.wrml.contrib.runtime.service.groovy.GroovyTemplateServiceTest.testLoadJargonTemplate(GroovyTemplateServiceTest.java:149) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:19) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-03-27 01:57:56,621 6 [main] WARN org.wrml.contrib.runtime.service.groovy.GroovyTemplateService loadGroovyTemplate - Failed to load template from location /Users/mark/Documents/WRML/code/WRML/contrib/runtime/service/groovy/target/test-classes/org/wrml/contrib/runtime/service/groovy/groovyTemplates/, proceeding to next root. +2013-03-29 17:39:21,192 0 [main] ERROR org.wrml.contrib.runtime.service.groovy.GroovyTemplateService getGroovyClass - Unable to compile target file [/Users/mark/Documents/WRML/code/WRML/contrib/runtime/service/groovy/target/test-classes/org/wrml/contrib/runtime/service/groovy/groovyTemplates/bad/jargon.groovy] +org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: +/Users/mark/Documents/WRML/code/WRML/contrib/runtime/service/groovy/target/test-classes/org/wrml/contrib/runtime/service/groovy/groovyTemplates/bad/jargon.groovy: 1: expecting EOF, found 'Javalang' @ line 1, column 19. + crappy != compile Javalang Moose + ^ + +1 error + + at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:309) + at org.codehaus.groovy.control.ErrorCollector.addFatalError(ErrorCollector.java:149) + at org.codehaus.groovy.control.ErrorCollector.addError(ErrorCollector.java:119) + at org.codehaus.groovy.control.ErrorCollector.addError(ErrorCollector.java:131) + at org.codehaus.groovy.control.SourceUnit.addError(SourceUnit.java:359) + at org.codehaus.groovy.antlr.AntlrParserPlugin.transformCSTIntoAST(AntlrParserPlugin.java:142) + at org.codehaus.groovy.antlr.AntlrParserPlugin.parseCST(AntlrParserPlugin.java:108) + at org.codehaus.groovy.control.SourceUnit.parse(SourceUnit.java:236) + at org.codehaus.groovy.control.CompilationUnit$1.call(CompilationUnit.java:163) + at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:912) + at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:575) + at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:551) + at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:528) + at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:279) + at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:258) + at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:244) + at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:185) + at org.wrml.contrib.runtime.service.groovy.GroovyTemplateService.getGroovyClass(GroovyTemplateService.java:141) + at org.wrml.contrib.runtime.service.groovy.GroovyTemplateService.getGroovyTemplate(GroovyTemplateService.java:161) + at org.wrml.contrib.runtime.service.groovy.GroovyTemplateService.loadGroovyTemplate(GroovyTemplateService.java:113) + at org.wrml.contrib.runtime.service.groovy.GroovyTemplateService.get(GroovyTemplateService.java:91) + at org.wrml.contrib.runtime.service.groovy.GroovyTemplateServiceTest.testLoadJargonTemplate(GroovyTemplateServiceTest.java:149) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:19) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-03-29 17:39:21,199 7 [main] WARN org.wrml.contrib.runtime.service.groovy.GroovyTemplateService loadGroovyTemplate - Failed to load template from location /Users/mark/Documents/WRML/code/WRML/contrib/runtime/service/groovy/target/test-classes/org/wrml/contrib/runtime/service/groovy/groovyTemplates/, proceeding to next root. +2013-03-30 11:13:47,766 0 [main] ERROR org.wrml.contrib.runtime.service.groovy.GroovyTemplateService getGroovyClass - Unable to compile target file [/Users/mark/Documents/WRML/code/WRML/contrib/runtime/service/groovy/target/test-classes/org/wrml/contrib/runtime/service/groovy/groovyTemplates/bad/jargon.groovy] +org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: +/Users/mark/Documents/WRML/code/WRML/contrib/runtime/service/groovy/target/test-classes/org/wrml/contrib/runtime/service/groovy/groovyTemplates/bad/jargon.groovy: 1: expecting EOF, found 'Javalang' @ line 1, column 19. + crappy != compile Javalang Moose + ^ + +1 error + + at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:309) + at org.codehaus.groovy.control.ErrorCollector.addFatalError(ErrorCollector.java:149) + at org.codehaus.groovy.control.ErrorCollector.addError(ErrorCollector.java:119) + at org.codehaus.groovy.control.ErrorCollector.addError(ErrorCollector.java:131) + at org.codehaus.groovy.control.SourceUnit.addError(SourceUnit.java:359) + at org.codehaus.groovy.antlr.AntlrParserPlugin.transformCSTIntoAST(AntlrParserPlugin.java:142) + at org.codehaus.groovy.antlr.AntlrParserPlugin.parseCST(AntlrParserPlugin.java:108) + at org.codehaus.groovy.control.SourceUnit.parse(SourceUnit.java:236) + at org.codehaus.groovy.control.CompilationUnit$1.call(CompilationUnit.java:163) + at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:912) + at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:575) + at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:551) + at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:528) + at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:279) + at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:258) + at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:244) + at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:185) + at org.wrml.contrib.runtime.service.groovy.GroovyTemplateService.getGroovyClass(GroovyTemplateService.java:141) + at org.wrml.contrib.runtime.service.groovy.GroovyTemplateService.getGroovyTemplate(GroovyTemplateService.java:161) + at org.wrml.contrib.runtime.service.groovy.GroovyTemplateService.loadGroovyTemplate(GroovyTemplateService.java:113) + at org.wrml.contrib.runtime.service.groovy.GroovyTemplateService.get(GroovyTemplateService.java:91) + at org.wrml.contrib.runtime.service.groovy.GroovyTemplateServiceTest.testLoadJargonTemplate(GroovyTemplateServiceTest.java:149) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:19) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-03-30 11:13:47,772 6 [main] WARN org.wrml.contrib.runtime.service.groovy.GroovyTemplateService loadGroovyTemplate - Failed to load template from location /Users/mark/Documents/WRML/code/WRML/contrib/runtime/service/groovy/target/test-classes/org/wrml/contrib/runtime/service/groovy/groovyTemplates/, proceeding to next root. diff --git a/contrib/runtime/service/groovy/pom.xml b/contrib/runtime/service/groovy/pom.xml new file mode 100644 index 0000000..2991547 --- /dev/null +++ b/contrib/runtime/service/groovy/pom.xml @@ -0,0 +1,119 @@ + + 4.0.0 + + org.wrml.contrib.runtime + service + 1.0-SNAPSHOT + + + + Mark Masse (OSS project WRML.org) + http://www.wrml.org + + + org.wrml.contrib.runtime.service + groovy + wrml-contrib-runtime-service-groovy + The Groovy template language as a WRML service. + + + + + org.wrml + core + + + org.wrml + core + test-jar + test + + + + + org.codehaus.groovy + groovy-all + + + + + ch.qos.logback + logback-classic + + + + + junit + junit + test + + + org.mockito + mockito-all + test + + + + + + + + + org.apache.maven.plugins + maven-eclipse-plugin + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + + org.apache.maven.plugins + maven-jar-plugin + + + + org.wrml.cli.Wrml + + + + + + + org.apache.maven.plugins + maven-shade-plugin + + + + + org.wrml:core:*:* + + + + + + package + + shade + + + + + + + + + + + + diff --git a/contrib/runtime/service/groovy/src/main/java/org/wrml/contrib/runtime/service/groovy/EmbeddedGroovyService.java b/contrib/runtime/service/groovy/src/main/java/org/wrml/contrib/runtime/service/groovy/EmbeddedGroovyService.java new file mode 100644 index 0000000..08b25ac --- /dev/null +++ b/contrib/runtime/service/groovy/src/main/java/org/wrml/contrib/runtime/service/groovy/EmbeddedGroovyService.java @@ -0,0 +1,127 @@ + +package org.wrml.contrib.runtime.service.groovy; + +import groovy.lang.GroovyClassLoader; +import org.codehaus.groovy.control.CompilationFailedException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.Model; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.service.AbstractService; +import org.wrml.runtime.service.ServiceConfiguration; +import org.wrml.runtime.service.ServiceException; + +import java.io.File; +import java.io.IOException; +import java.net.URL; +import java.util.Map; + +public class EmbeddedGroovyService extends AbstractService +{ + public static final String SERVICE_ABS_LOCATION_KEY = "absGroovyService"; + + public static final String SERVICE_RES_LOCATION_KEY = "resGroovyService"; + + private static final Logger LOG = LoggerFactory.getLogger(EmbeddedGroovyService.class); + + private GroovyClassLoader _Loader; + + private GroovyServiceInterface _GroovyService; + + public GroovyServiceInterface getGroovyService() + { + + return _GroovyService; + } + + @Override + public void initFromConfiguration(final ServiceConfiguration serviceConfig) + { + + Map config = serviceConfig.getSettings(); + File scriptLocation = null; + String givenLocation; + if (config.containsKey(SERVICE_ABS_LOCATION_KEY)) + { + givenLocation = config.get(SERVICE_ABS_LOCATION_KEY); + scriptLocation = new File(givenLocation); + } + else if (config.containsKey(SERVICE_RES_LOCATION_KEY)) + { + givenLocation = config.get(SERVICE_RES_LOCATION_KEY); + URL resourceLocation = getClass().getResource(givenLocation); + if (resourceLocation == null) + { + throw new ServiceException("Service script specified not found. " + givenLocation, null, this); + } + scriptLocation = new File(resourceLocation.getFile()); + } + else + { + throw new ServiceException("No service script specified to start EmbeddedGroovy.", null, this); + } + + ClassLoader parent = getClass().getClassLoader(); + _Loader = new GroovyClassLoader(parent); + + Class groovyServiceClass; + try + { + groovyServiceClass = _Loader.parseClass(scriptLocation); + } + catch (CompilationFailedException | IOException ex) + { + String message = "Unable to parse given script into class. " + scriptLocation; + LOG.error(message, ex); + throw new ServiceException(message, ex, this); + } + + try + { + _GroovyService = (GroovyServiceInterface) groovyServiceClass.newInstance(); + } + catch (InstantiationException | IllegalAccessException ex) + { + String message = "Unable to instantiate Groovy Service class " + scriptLocation + "."; + LOG.error(message, ex); + throw new ServiceException(message, ex, this); + } + + // TODO, comment out + if (_GroovyService == null) + { + throw new ServiceException("Unable to find given script name to load. " + scriptLocation, null, this); + } + } + + @Override + public void delete(Keys keys, final Dimensions dimensions) + { + + _GroovyService.delete(getContext(), keys); + } + + @Override + public Model get(Keys keys, Dimensions dimensions) + { + + final Context context = getContext(); + // Create an instance of the model + Model model = context.newModel(dimensions); + + _GroovyService.get(context, model, keys, dimensions); + + return model; + } + + @Override + public Model save(Model model) + { + + model = _GroovyService.save(model); + + return model; + } +} diff --git a/contrib/runtime/service/groovy/src/main/java/org/wrml/contrib/runtime/service/groovy/GroovyServiceInterface.java b/contrib/runtime/service/groovy/src/main/java/org/wrml/contrib/runtime/service/groovy/GroovyServiceInterface.java new file mode 100644 index 0000000..2a40273 --- /dev/null +++ b/contrib/runtime/service/groovy/src/main/java/org/wrml/contrib/runtime/service/groovy/GroovyServiceInterface.java @@ -0,0 +1,18 @@ + +package org.wrml.contrib.runtime.service.groovy; + +import java.util.SortedMap; +import org.wrml.model.Model; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; + +public interface GroovyServiceInterface +{ + + public void delete(Context context, Keys keys); + + public M get(Context context, M model, Keys keys, Dimensions dimensions); + + public M save(M model); +} diff --git a/contrib/runtime/service/groovy/src/main/java/org/wrml/contrib/runtime/service/groovy/GroovyTemplate.java b/contrib/runtime/service/groovy/src/main/java/org/wrml/contrib/runtime/service/groovy/GroovyTemplate.java new file mode 100644 index 0000000..eea458b --- /dev/null +++ b/contrib/runtime/service/groovy/src/main/java/org/wrml/contrib/runtime/service/groovy/GroovyTemplate.java @@ -0,0 +1,12 @@ + +package org.wrml.contrib.runtime.service.groovy; + +import org.wrml.model.Model; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; + +public interface GroovyTemplate +{ + public M fill(Context context, M model, Keys keys, Dimensions dimensions); +} diff --git a/contrib/runtime/service/groovy/src/main/java/org/wrml/contrib/runtime/service/groovy/GroovyTemplateService.java b/contrib/runtime/service/groovy/src/main/java/org/wrml/contrib/runtime/service/groovy/GroovyTemplateService.java new file mode 100644 index 0000000..99dc8fc --- /dev/null +++ b/contrib/runtime/service/groovy/src/main/java/org/wrml/contrib/runtime/service/groovy/GroovyTemplateService.java @@ -0,0 +1,233 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.contrib.runtime.service.groovy; + +import groovy.lang.GroovyClassLoader; +import java.io.File; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.Model; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.service.AbstractService; +import org.wrml.runtime.service.ServiceConfiguration; +import org.wrml.runtime.service.ServiceException; + +import java.io.IOException; +import java.net.URI; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.codehaus.groovy.control.CompilationFailedException; + +public class GroovyTemplateService extends AbstractService +{ + + public static final String TEMPLATE_ROOT_LOCATION = "templateRoots"; + + public static final String ROOTS_SEP = ","; + + private static final Logger LOG = LoggerFactory.getLogger(GroovyTemplateService.class); + + private List _Roots; + + private GroovyClassLoader _Loader; + + private Map _Templates; + + public Map getTemplates() + { + return _Templates; + } + + public void clearTemplates() + { + _Templates.clear(); + } + + public List getRoots() + { + return _Roots; + } + + @Override + public Model get(Keys keys, Dimensions dimensions) + { + // Create an instance of the model + Model model = getContext().newModel(dimensions); + + // Pass arguments to the engine, cross fingers + GroovyTemplate template = _Templates.get(dimensions.getSchemaUri()); + if (template == null) + { + template = loadGroovyTemplate(dimensions.getSchemaUri()); + _Templates.put(dimensions.getSchemaUri(), template); + } + + template.fill(getContext(), model, keys, dimensions); + + // Return the model + return model; + } + + private GroovyTemplate loadGroovyTemplate(URI schemaUri) + { + GroovyTemplate template = null; + File scriptLocation; + for(String rootPath : _Roots) + { + String scriptAttempt = rootPath + schemaUri; + scriptLocation = new File(scriptAttempt); + if(scriptLocation.exists() && scriptLocation.isFile()) + { + try + { + template = getGroovyTemplate(scriptLocation); + break; + } + catch(Exception e) + { + LOG.warn("Failed to load template from location {}, proceeding to next root.", new Object[]{rootPath}); + } + } + else + { + scriptLocation = null; + } + } + + if(template == null) + { + String message = "No template found to match the requested resource, " + schemaUri; + throw new ServiceException(message, null, this); + } + + return template; + } + + private Class getGroovyClass(File location) + { + Class groovyTemplateClass; + try + { + groovyTemplateClass = _Loader.parseClass(location); + } + catch (CompilationFailedException cfe) + { + String message = "Unable to compile target file [" + location + "]"; + LOG.error(message, cfe); + throw new ServiceException(message, cfe, this); + } + catch (IOException ioe) + { + String message = "Unable to read/locate file [" + location + "]"; + LOG.error(message, ioe); + throw new ServiceException(message, ioe, this); + } + + return groovyTemplateClass; + } + + private GroovyTemplate getGroovyTemplate(File scriptLocation) + { + Class groovyTemplateClass = getGroovyClass(scriptLocation); + + GroovyTemplate template; + try + { + template = (GroovyTemplate)groovyTemplateClass.newInstance(); + } + catch (InstantiationException ie) + { + String message = "Unable to instantiate instance of groovy template."; + LOG.error(message, ie); + throw new ServiceException(message, ie, this); + } + catch (IllegalAccessException iae) + { + String message = "Unable to access class for instantiation."; + LOG.error(message, iae); + throw new ServiceException(message, iae, this); + } + + return template; + } + + @Override + protected void initFromConfiguration(final ServiceConfiguration config) + { + + if (config == null) + { + final ServiceException e = new ServiceException("The config cannot be null.", null, this); + LOG.error(e.getMessage(), e); + throw e; + } + + final Map settings = config.getSettings(); + if (settings == null) + { + final ServiceException e = new ServiceException("The config settings cannot be null.", null, this); + LOG.error(e.getMessage(), e); + throw e; + } + + String rootsString = settings.get(TEMPLATE_ROOT_LOCATION); + if (rootsString == null || rootsString.equals("")) + { + LOG.error("No root path param passed to GroovyTemplateService."); + throw new ServiceException("Unable to instantiate GroovyTemplateService, the template roots are null or empty.", null, this); + } + + String[] rootStrings = rootsString.split(ROOTS_SEP); + List tempRoots = Arrays.asList(rootStrings); + _Roots = new ArrayList(); + + for (String rootPath : tempRoots) + { + File root = new File(rootPath); + if (root.exists() && root.isDirectory()) + { + _Roots.add(root.getAbsolutePath() + File.separator); + } + else + { + LOG.error("Removing {} from the list of roots, unable to locate.", new Object[]{rootPath}); + } + } + + if (_Roots.isEmpty()) + { + throw new ServiceException("No viable roots configured.", null, this); + } + + ClassLoader parent = getClass().getClassLoader(); + _Loader = new GroovyClassLoader(parent); + _Templates = new HashMap(); + } +} diff --git a/contrib/runtime/service/groovy/src/test/java/org/wrml/contrib/runtime/service/groovy/EmbeddedGroovyServiceTest.java b/contrib/runtime/service/groovy/src/test/java/org/wrml/contrib/runtime/service/groovy/EmbeddedGroovyServiceTest.java new file mode 100644 index 0000000..88d35ba --- /dev/null +++ b/contrib/runtime/service/groovy/src/test/java/org/wrml/contrib/runtime/service/groovy/EmbeddedGroovyServiceTest.java @@ -0,0 +1,210 @@ + +package org.wrml.contrib.runtime.service.groovy; + +import groovy.lang.GroovyObject; +import java.net.URI; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; +import java.util.SortedMap; +import java.util.TreeMap; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import static org.junit.Assert.*; +import org.wrml.runtime.Context; +import org.wrml.runtime.service.ServiceException; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.mockito.Mockito.verify; + +import org.wrml.model.Model; +import org.wrml.model.rest.Document; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.service.DefaultServiceConfiguration; + +public class EmbeddedGroovyServiceTest +{ + private static final String GROOVY_SERVICE_RES_LOCATION = "groovyTemplates/Server.groovy"; + private static final String GROOVY_SERVICE_REL_LOCATION = "src/test/resources/org/wrml/contrib/runtime/service/groovy/groovyTemplates/Server.groovy"; + + private static final String SERVER_CACHE_METHOD = "getCache"; + private static final String SERVER_CALL_COUNT_METHOD = "getCallCount"; + + private static final URI DOC_SCHEMA_ID = URI.create("moose/squirrel"); + private static final String DOC_KEY_VALUE = "Bulwinkle"; + + private EmbeddedGroovyService _Service; + private Context _Context; + + + @Before + public void setUp() + { + _Service = new EmbeddedGroovyService(); + + // Init + SortedMap config = new TreeMap<>(); + config.put(EmbeddedGroovyService.SERVICE_RES_LOCATION_KEY, GROOVY_SERVICE_RES_LOCATION); + final DefaultServiceConfiguration defaultServiceConfiguration = new DefaultServiceConfiguration(); + defaultServiceConfiguration.setSettings(config); + + _Context = mock(Context.class); + _Service.init(_Context, defaultServiceConfiguration); + } + + @After + public void tearDown() + { + _Service = null; + _Context = null; + } + + @Test(expected=ServiceException.class) + public void testInitNullConfig() + { + _Service.init(null, null); + } + + @Test(expected=ServiceException.class) + public void testInitBadAbsoluteLocation() + { + SortedMap config = new TreeMap<>(); + config.put(EmbeddedGroovyService.SERVICE_ABS_LOCATION_KEY, "xkzy"); + final DefaultServiceConfiguration defaultServiceConfiguration = new DefaultServiceConfiguration(); + defaultServiceConfiguration.setSettings(config); + + _Service.init(null, defaultServiceConfiguration); + } + + @Test(expected=ServiceException.class) + public void testInitBadResourceLocation() + { + SortedMap config = new TreeMap<>(); + config.put(EmbeddedGroovyService.SERVICE_RES_LOCATION_KEY, "xkzy"); + final DefaultServiceConfiguration defaultServiceConfiguration = new DefaultServiceConfiguration(); + defaultServiceConfiguration.setSettings(config); + + _Service.init(null, defaultServiceConfiguration); + } + + @Test + public void testInitRes() + { + SortedMap config = new TreeMap<>(); + config.put(EmbeddedGroovyService.SERVICE_RES_LOCATION_KEY, GROOVY_SERVICE_RES_LOCATION); + final DefaultServiceConfiguration defaultServiceConfiguration = new DefaultServiceConfiguration(); + defaultServiceConfiguration.setSettings(config); + + _Context = mock(Context.class); + _Service.init(_Context, defaultServiceConfiguration); + + GroovyServiceInterface serv = _Service.getGroovyService(); + assertTrue(serv != null); + } + + @Test + public void testInitRel() + { + SortedMap config = new TreeMap<>(); + config.put(EmbeddedGroovyService.SERVICE_ABS_LOCATION_KEY, GROOVY_SERVICE_REL_LOCATION); + final DefaultServiceConfiguration defaultServiceConfiguration = new DefaultServiceConfiguration(); + defaultServiceConfiguration.setSettings(config); + + _Context = mock(Context.class); + _Service.init(_Context, defaultServiceConfiguration); + + GroovyServiceInterface serv = _Service.getGroovyService(); + assertTrue(serv != null); + } + + @Test + public void testGetBasic() + { + Dimensions dims = mock(Dimensions.class); + Document doc = mock(Document.class); + when(doc.getSchemaUri()).thenReturn(DOC_SCHEMA_ID); + when(_Context.newModel(dims)).thenReturn(doc); + Keys keys = mock(Keys.class); + when(keys.getValue(DOC_SCHEMA_ID)).thenReturn(DOC_KEY_VALUE); + + Model value = _Service.get(keys, dims); + + assertTrue(value.equals(doc)); + } + + @Test + public void testPutGetBasic() + { + Dimensions dims = mock(Dimensions.class); + Document doc = mock(Document.class); + when(doc.getSchemaUri()).thenReturn(DOC_SCHEMA_ID); + when(_Context.newModel(dims)).thenReturn(doc); + Keys keys = mock(Keys.class); + when(keys.getValue(DOC_SCHEMA_ID)).thenReturn(DOC_KEY_VALUE); + when(doc.getKeys()).thenReturn(keys); + + Model value = _Service.save(doc); + + assertTrue(value != null); + assertTrue(doc.equals(value)); + + Model value2 = _Service.get(keys, dims); + + assertTrue(value != null); + assertTrue(doc.equals(value2)); + + GroovyServiceInterface serv = _Service.getGroovyService(); + GroovyObject obj = (GroovyObject)serv; + + Map cache = (Map)obj.invokeMethod(SERVER_CACHE_METHOD, null); + + assertTrue(cache.size() == 1); + + int callCount = Integer.valueOf(obj.invokeMethod(SERVER_CALL_COUNT_METHOD, null).toString()); + + assertTrue(callCount == 2); + } + + @Test + public void testPutDeleteGet() + { + GroovyServiceInterface serv = _Service.getGroovyService(); + GroovyObject obj = (GroovyObject)serv; + + Map cache = (Map)obj.invokeMethod(SERVER_CACHE_METHOD, null); + + int callCount = Integer.valueOf(obj.invokeMethod(SERVER_CALL_COUNT_METHOD, null).toString()); + + assertTrue(cache.size() == 0); + assertTrue(callCount == 0); + + Dimensions dims = mock(Dimensions.class); + Document doc = mock(Document.class); + when(doc.getSchemaUri()).thenReturn(DOC_SCHEMA_ID); + when(_Context.newModel(dims)).thenReturn(doc); + Keys keys = mock(Keys.class); + Set schemaUris = new HashSet<>(); + schemaUris.add(DOC_SCHEMA_ID); + when(keys.getKeyedSchemaUris()).thenReturn(schemaUris); + when(keys.getValue(DOC_SCHEMA_ID)).thenReturn(DOC_KEY_VALUE); + when(doc.getKeys()).thenReturn(keys); + + Model value = _Service.save(doc); + + callCount = Integer.valueOf(obj.invokeMethod(SERVER_CALL_COUNT_METHOD, null).toString()); + + assertTrue(value != null); + assertTrue(doc.equals(value)); + assertTrue(cache.size() == 1); + assertTrue(callCount == 1); + + _Service.delete(keys, value.getDimensions()); + + callCount = Integer.valueOf(obj.invokeMethod(SERVER_CALL_COUNT_METHOD, null).toString()); + + assertTrue(callCount == 2); + assertTrue(cache.size() == 0); + } +} diff --git a/contrib/runtime/service/groovy/src/test/java/org/wrml/contrib/runtime/service/groovy/GroovyTemplateServiceTest.java b/contrib/runtime/service/groovy/src/test/java/org/wrml/contrib/runtime/service/groovy/GroovyTemplateServiceTest.java new file mode 100644 index 0000000..7c19091 --- /dev/null +++ b/contrib/runtime/service/groovy/src/test/java/org/wrml/contrib/runtime/service/groovy/GroovyTemplateServiceTest.java @@ -0,0 +1,299 @@ + +package org.wrml.contrib.runtime.service.groovy; + +import java.net.URI; +import java.util.*; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.wrml.model.Model; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.service.DefaultServiceConfiguration; +import org.wrml.runtime.service.ServiceConfiguration; +import org.wrml.runtime.service.ServiceException; + +// TODO: This import isn't working out-of-the box with our current maven setup +//import org.wrml.service.ServiceTest; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.times; +import static org.junit.Assert.assertTrue; +import org.junit.Ignore; + +import org.wrml.model.rest.Document; +import org.wrml.runtime.Context; + +// TODO: extends ServiceTest +public class GroovyTemplateServiceTest //extends ServiceTest +{ + private GroovyTemplateService _Service; + private Context _Context; + + private static final String RESOURCES = "org/wrml/contrib/runtime/service/groovy/groovyTemplates"; + + private static final String BASIC_SCRIPT_NAME = "TTL.groovy"; + private static final String NO_SCRIPT_NAME = "bulhunky.groovy"; + private static final String JARGON_SCRIPT_NAME = "bad/jargon.groovy"; + private static final String DEEP_SET_SCRIPT_NAME = "TTLDeep.groovy"; + private static final String SCRIPT_INPUT_KEY = "ttl"; + private static final Long TTL_VALUE = 8L; + + @Before + public void setUp() + { + _Service = new GroovyTemplateService(); + + // initialize + SortedMap settings = new TreeMap<>(); + settings.put(GroovyTemplateService.TEMPLATE_ROOT_LOCATION, getClass().getClassLoader().getResource(RESOURCES).getFile()); + + _Context = mock(Context.class); + _Service.init(_Context, createServiceConfiguration(settings)); + } + + @After + public void tearDown() + { + _Service = null; + _Context = null; + } + + @Test(expected=ServiceException.class) + public void testInitNull() + { + _Service = null; + _Service = new GroovyTemplateService(); + _Service.init(null, null); + } + + @Test(expected=ServiceException.class) + public void testInitEmpty() + { + _Service = null; + _Service = new GroovyTemplateService(); + + _Service.init(null, createServiceConfiguration()); + } + + @Test(expected=ServiceException.class) + public void testInitBadName() + { + _Service = null; + _Service = new GroovyTemplateService(); + + SortedMap settings = new TreeMap<>(); + settings.put("random", "moose"); + _Service.init(null, createServiceConfiguration(settings)); + } + + @Test(expected=ServiceException.class) + public void testInitBadLocation() + { + _Service = null; + _Service = new GroovyTemplateService(); + + SortedMap settings = new TreeMap<>(); + settings.put(GroovyTemplateService.TEMPLATE_ROOT_LOCATION, "moose"); + _Service.init(null, createServiceConfiguration(settings)); + } + + @Test + public void testInitGood() + { + _Service = null; + _Service = new GroovyTemplateService(); + + SortedMap settings = new TreeMap<>(); + settings.put(GroovyTemplateService.TEMPLATE_ROOT_LOCATION, getClass().getClassLoader().getResource(RESOURCES).getFile()); + _Service.init(_Context, createServiceConfiguration(settings)); + + assertTrue(_Service.getRoots().size() == 1); + assertTrue(_Service.getTemplates().isEmpty()); + } + + @Test(expected=ServiceException.class) + public void testLoadNoTemplate() + { + Context context = mock(Context.class); + Keys keys = mock(Keys.class); + Set args = new HashSet<>(); + args.add(URI.create(SCRIPT_INPUT_KEY)); + when(keys.getKeyedSchemaUris()).thenReturn(args); + when(keys.getValue(URI.create(SCRIPT_INPUT_KEY))).thenReturn("Bulwinkle"); + Dimensions dimensions = mock(Dimensions.class); + Document doc = mock(Document.class); + when(context.newModel(dimensions)).thenReturn(doc); + URI scriptSchemaName = URI.create(NO_SCRIPT_NAME); + when(dimensions.getSchemaUri()).thenReturn(scriptSchemaName); + Model model = _Service.get(keys, dimensions); + } + + @Test(expected=ServiceException.class) + public void testLoadJargonTemplate() + { + Context context = mock(Context.class); + Keys keys = mock(Keys.class); + Set args = new HashSet<>(); + args.add(URI.create(SCRIPT_INPUT_KEY)); + when(keys.getKeyedSchemaUris()).thenReturn(args); + when(keys.getValue(URI.create(SCRIPT_INPUT_KEY))).thenReturn("Bulwinkle"); + Dimensions dimensions = mock(Dimensions.class); + Document doc = mock(Document.class); + when(context.newModel(dimensions)).thenReturn(doc); + URI scriptSchemaName = URI.create(JARGON_SCRIPT_NAME); + when(dimensions.getSchemaUri()).thenReturn(scriptSchemaName); + Model model = _Service.get(keys, dimensions); + } + + @Test + public void testGetBasic() + { + Keys keys = mock(Keys.class); + Set args = new HashSet<>(); + args.add(URI.create(SCRIPT_INPUT_KEY)); + when(keys.getKeyedSchemaUris()).thenReturn(args); + when(keys.getValue(URI.create(SCRIPT_INPUT_KEY))).thenReturn(TTL_VALUE); + Dimensions dimensions = mock(Dimensions.class); + Document doc = mock(Document.class); + when(_Context.newModel(dimensions)).thenReturn(doc); + URI scriptSchemaName = URI.create(BASIC_SCRIPT_NAME); + when(dimensions.getSchemaUri()).thenReturn(scriptSchemaName); + Model model = _Service.get(keys, dimensions); + + // Assert the model has what we hope + assertTrue(model.equals(doc)); + assertTrue(_Service.getRoots().size() == 1); + assertTrue(_Service.getTemplates().size() == 1); + } + + @Test + public void testGetSet() + { + Keys keys = mock(Keys.class); + Set args = new HashSet<>(); + args.add(URI.create(SCRIPT_INPUT_KEY)); + when(keys.getKeyedSchemaUris()).thenReturn(args); + when(keys.getValue(URI.create(SCRIPT_INPUT_KEY))).thenReturn(TTL_VALUE); + Dimensions dimensions = mock(Dimensions.class); + Document doc = mock(Document.class); + when(_Context.newModel(dimensions)).thenReturn(doc); + URI scriptSchemaName = URI.create(BASIC_SCRIPT_NAME); + when(dimensions.getSchemaUri()).thenReturn(scriptSchemaName); + Model model = _Service.get(keys, dimensions); + + // Assert the model has what we hope + assertTrue(model.equals(doc)); + assertTrue(_Service.getRoots().size() == 1); + assertTrue(_Service.getTemplates().size() == 1); + verify(doc, times(1)).setSecondsToLive(TTL_VALUE); + } + + @Test + public void testMultipleGets() + { + Keys keys = mock(Keys.class); + Set args = new HashSet<>(); + args.add(URI.create(SCRIPT_INPUT_KEY)); + when(keys.getKeyedSchemaUris()).thenReturn(args); + when(keys.getValue(URI.create(SCRIPT_INPUT_KEY))).thenReturn(TTL_VALUE); + Dimensions dimensions = mock(Dimensions.class); + Document doc = mock(Document.class); + when(_Context.newModel(dimensions)).thenReturn(doc); + URI scriptSchemaName = URI.create(BASIC_SCRIPT_NAME); + when(dimensions.getSchemaUri()).thenReturn(scriptSchemaName); + Model model = _Service.get(keys, dimensions); + + // Assert the model has what we hope + assertTrue(model.equals(doc)); + assertTrue(_Service.getRoots().size() == 1); + assertTrue(_Service.getTemplates().size() == 1); + verify(doc, times(1)).setSecondsToLive(TTL_VALUE); + + model = _Service.get(keys, dimensions); + model = _Service.get(keys, dimensions); + model = _Service.get(keys, dimensions); + verify(doc, times(4)).setSecondsToLive(TTL_VALUE); + assertTrue(_Service.getRoots().size() == 1); + assertTrue(_Service.getTemplates().size() == 1); + + } + + @Test + public void testDeepTemplates() + { + Keys keys = mock(Keys.class); + Set args = new HashSet<>(); + args.add(URI.create(SCRIPT_INPUT_KEY)); + when(keys.getKeyedSchemaUris()).thenReturn(args); + when(keys.getValue(URI.create(SCRIPT_INPUT_KEY))).thenReturn("Bulwinkle"); + Dimensions dimensions = mock(Dimensions.class); + Document doc = mock(Document.class); + when(_Context.newModel(dimensions)).thenReturn(doc); + URI scriptSchemaName = URI.create(DEEP_SET_SCRIPT_NAME); + when(dimensions.getSchemaUri()).thenReturn(scriptSchemaName); + Model model = _Service.get(keys, dimensions); + + // Assert the model has what we hope + assertTrue(model.equals(doc)); + verify(doc, times(1)).setSecondsToLive(0L); + model = _Service.get(keys, dimensions); + + // Assert the model has what we hope + assertTrue(model.equals(doc)); + verify(doc, times(1)).setSecondsToLive(1L); + model = _Service.get(keys, dimensions); + + // Assert the model has what we hope + assertTrue(model.equals(doc)); + verify(doc, times(1)).setSecondsToLive(2L); + model = _Service.get(keys, dimensions); + + // Assert the model has what we hope + assertTrue(model.equals(doc)); + verify(doc, times(1)).setSecondsToLive(3L); + } + + @Test + public void testClearTemplates() + { + Map templates = _Service.getTemplates(); + assertTrue(templates.isEmpty()); + + testGetSet(); + + assertTrue(templates.size() == 1); + + _Service.clearTemplates(); + + assertTrue(templates.size() == 0); + } + + + // TODO: Reuse this from ServletTest base class + protected ServiceConfiguration createServiceConfiguration() + { + + return createServiceConfiguration(null); + } + + // TODO: Reuse this from ServletTest base class + protected ServiceConfiguration createServiceConfiguration(final Map props) + { + + final DefaultServiceConfiguration defaultServiceConfiguration = new DefaultServiceConfiguration(); + final SortedMap settings = new TreeMap<>(); + + if (props != null) + { + settings.putAll(props); + } + + defaultServiceConfiguration.setSettings(settings); + return defaultServiceConfiguration; + } + +} diff --git a/contrib/runtime/service/groovy/src/test/resources/org/wrml/contrib/runtime/service/groovy/groovyTemplates/Deeper.groovy b/contrib/runtime/service/groovy/src/test/resources/org/wrml/contrib/runtime/service/groovy/groovyTemplates/Deeper.groovy new file mode 100644 index 0000000..7d9fea0 --- /dev/null +++ b/contrib/runtime/service/groovy/src/test/resources/org/wrml/contrib/runtime/service/groovy/groovyTemplates/Deeper.groovy @@ -0,0 +1,11 @@ +package org.wrml.contrib.runtime.service.groovy.groovyTemplates + +class Deeper +{ + long count = 0L + + long getAndIncCount() + { + return count++ + } +} \ No newline at end of file diff --git a/contrib/runtime/service/groovy/src/test/resources/org/wrml/contrib/runtime/service/groovy/groovyTemplates/ExampleConfig.groovy b/contrib/runtime/service/groovy/src/test/resources/org/wrml/contrib/runtime/service/groovy/groovyTemplates/ExampleConfig.groovy new file mode 100644 index 0000000..d4f4163 --- /dev/null +++ b/contrib/runtime/service/groovy/src/test/resources/org/wrml/contrib/runtime/service/groovy/groovyTemplates/ExampleConfig.groovy @@ -0,0 +1,4 @@ +def static getAddress() +{ + 8L +} diff --git a/contrib/runtime/service/groovy/src/test/resources/org/wrml/contrib/runtime/service/groovy/groovyTemplates/Server.groovy b/contrib/runtime/service/groovy/src/test/resources/org/wrml/contrib/runtime/service/groovy/groovyTemplates/Server.groovy new file mode 100644 index 0000000..47cab43 --- /dev/null +++ b/contrib/runtime/service/groovy/src/test/resources/org/wrml/contrib/runtime/service/groovy/groovyTemplates/Server.groovy @@ -0,0 +1,57 @@ +class Server implements org.wrml.contrib.runtime.service.groovy.GroovyServiceInterface +{ + def callCount = 0; + def cache = new java.util.HashMap() + + // Introspection Methods + def getCallCount() + { + return callCount + } + + def getCache() + { + return cache + } + + // Service methods + def void delete(org.wrml.runtime.Context context, org.wrml.runtime.Keys keys) + { + callCount++ + def keyURIs = keys.getKeyedSchemaUris() + + for (uri in keyURIs) + { + def key = keys.getValue(uri) + cache.remove(key) + } + } + + //def get(model, keys, dimensions) + def org.wrml.model.Model get(org.wrml.runtime.Context context, org.wrml.model.Model model, org.wrml.runtime.Keys keys, org.wrml.runtime.Dimensions dimensions) + { + callCount++ + def key = keys.getValue(model.getSchemaUri()) + + if ( cache.containsKey(key) ) + { + return cache[key] + } + + return model + } + + def void init(java.util.SortedMap map) + { + println "Doing something awesome..." + } + + def save(model) + { + callCount++ + def keys = model.getKeys() + def key = keys.getValue(model.getSchemaUri()) + cache[key] = model + return model + } +} diff --git a/contrib/runtime/service/groovy/src/test/resources/org/wrml/contrib/runtime/service/groovy/groovyTemplates/TTL.groovy b/contrib/runtime/service/groovy/src/test/resources/org/wrml/contrib/runtime/service/groovy/groovyTemplates/TTL.groovy new file mode 100644 index 0000000..dbad5d6 --- /dev/null +++ b/contrib/runtime/service/groovy/src/test/resources/org/wrml/contrib/runtime/service/groovy/groovyTemplates/TTL.groovy @@ -0,0 +1,14 @@ +import org.wrml.model.Model +import org.wrml.runtime.Context +import org.wrml.runtime.Dimensions +import org.wrml.runtime.Keys +import org.wrml.contrib.runtime.service.groovy.GroovyTemplate + +class Hello implements GroovyTemplate +{ + def Model fill(Context context, Model model, Keys keys, Dimensions dimensions) + { + model.setSecondsToLive(8L) + return model + } +} diff --git a/contrib/runtime/service/groovy/src/test/resources/org/wrml/contrib/runtime/service/groovy/groovyTemplates/TTLDeep.groovy b/contrib/runtime/service/groovy/src/test/resources/org/wrml/contrib/runtime/service/groovy/groovyTemplates/TTLDeep.groovy new file mode 100644 index 0000000..da4a3f5 --- /dev/null +++ b/contrib/runtime/service/groovy/src/test/resources/org/wrml/contrib/runtime/service/groovy/groovyTemplates/TTLDeep.groovy @@ -0,0 +1,22 @@ +import org.wrml.model.Model +import org.wrml.runtime.Context +import org.wrml.runtime.Dimensions +import org.wrml.runtime.Keys +import org.wrml.contrib.runtime.service.groovy.GroovyTemplate +import org.wrml.contrib.runtime.service.groovy.groovyTemplates.Deeper + +class TTLDeeper implements GroovyTemplate +{ + def deeper + + TTLDeeper() + { + deeper = new Deeper() + } + + def Model fill(Context context, Model model, Keys keys, Dimensions dimensions) + { + model.setSecondsToLive(deeper.getAndIncCount()) + return model + } +} \ No newline at end of file diff --git a/contrib/runtime/service/mongo/.gitignore b/contrib/runtime/service/mongo/.gitignore new file mode 100644 index 0000000..42eda58 --- /dev/null +++ b/contrib/runtime/service/mongo/.gitignore @@ -0,0 +1,7 @@ +target +bin +logs +.classpath +.project +.settings +dependency-reduced-pom.xml diff --git a/contrib/runtime/service/mongo/Werminal.json b/contrib/runtime/service/mongo/Werminal.json new file mode 100644 index 0000000..3923978 --- /dev/null +++ b/contrib/runtime/service/mongo/Werminal.json @@ -0,0 +1,3 @@ +{ + "title" : "Werminal" +} \ No newline at end of file diff --git a/contrib/runtime/service/mongo/mongo.iml b/contrib/runtime/service/mongo/mongo.iml new file mode 100644 index 0000000..a2c1251 --- /dev/null +++ b/contrib/runtime/service/mongo/mongo.iml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/contrib/runtime/service/mongo/pom.xml b/contrib/runtime/service/mongo/pom.xml new file mode 100644 index 0000000..8d88256 --- /dev/null +++ b/contrib/runtime/service/mongo/pom.xml @@ -0,0 +1,116 @@ + + 4.0.0 + + org.wrml.contrib.runtime + service + 1.0-SNAPSHOT + + + + Mark Masse (OSS project WRML.org) + http://www.wrml.org + + + org.wrml.contrib.runtime.service + mongo + wrml-contrib-runtime-service-mongo + The mongoDB NoSQL mongoDatabase as a WRML service. See also: http://www.mongodb.org + + + + + org.wrml + core + + + org.wrml + core + test-jar + test + + + + + ch.qos.logback + logback-classic + provided + + + + + org.mongodb + mongo-java-driver + + + + + junit + junit + test + + + org.mockito + mockito-all + test + + + + + + + + org.apache.maven.plugins + maven-eclipse-plugin + + + org.apache.maven.plugins + maven-compiler-plugin + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + org.apache.maven.plugins + maven-jar-plugin + + + + org.wrml.cli.Wrml + + + + + + + + + + + + diff --git a/contrib/runtime/service/mongo/src/main/java/org/wrml/contrib/runtime/service/mongo/MongoService.java b/contrib/runtime/service/mongo/src/main/java/org/wrml/contrib/runtime/service/mongo/MongoService.java new file mode 100644 index 0000000..9af46a4 --- /dev/null +++ b/contrib/runtime/service/mongo/src/main/java/org/wrml/contrib/runtime/service/mongo/MongoService.java @@ -0,0 +1,485 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.contrib.runtime.service.mongo; + +import com.mongodb.*; +import com.mongodb.util.JSON; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.Model; +import org.wrml.model.rest.Document; +import org.wrml.model.rest.Embedded; +import org.wrml.runtime.CompositeKey; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.format.ModelReadingException; +import org.wrml.runtime.format.SystemFormat; +import org.wrml.runtime.schema.*; +import org.wrml.runtime.search.SearchCriteria; +import org.wrml.runtime.service.AbstractService; +import org.wrml.runtime.service.ServiceConfiguration; +import org.wrml.runtime.service.ServiceException; +import org.wrml.runtime.syntax.SyntaxLoader; +import org.wrml.util.UniqueName; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.net.URI; +import java.net.UnknownHostException; +import java.util.*; + +/** + * The marvellous mongoDB as a WRML Service. + * + * @see 10gen + * @see Java API for mongoDB + */ +public class MongoService extends AbstractService +{ + + public static final String DEFAULT_HOST = "localhost"; + + public static final int DEFAULT_PORT = 27017; + + public static final String DEFAULT_DATABASE_NAME = "test"; + + public static final String DEFAULT_URI_STRING = "mongodb://" + DEFAULT_HOST + ":" + DEFAULT_PORT + "/" + DEFAULT_DATABASE_NAME; + + public static final String MONGO_URI_SETTING_NAME = "uri"; + + public static final String MONGO_COLLECTION_PREFIX_SETTING_NAME = "collectionPrefix"; + + private static Logger LOG = LoggerFactory.getLogger(MongoService.class); + + private DB _Mongo; + + private String _CollectionPrefix; + + @Override + public Model save(final Model model) + { + + final URI schemaUri = model.getSchemaUri(); + final String collectionName = convertToCollectionName(schemaUri); + + final Keys keys = model.getKeys(); + DBObject mongoKeys = createMongoKeys(keys); + + if (!_Mongo.collectionExists(collectionName)) + { + final DBCollection mongoCollection = _Mongo.getCollection(collectionName); + + final DBObject collectionIndex = new BasicDBObject(); + final Set indexKeySet = mongoKeys.keySet(); + for (final String indexKey : indexKeySet) + { + collectionIndex.put(indexKey, 1); + } + + final DBObject options = new BasicDBObject(); + options.put("background", true); + + mongoCollection.ensureIndex(collectionIndex, options); + } + + final DBObject mongoObject = convertToMongoObject(model); + + final DBCollection mongoCollection = _Mongo.getCollection(collectionName); + if (mongoCollection == null) + { + // Should not happen + final String logMessage = getConfiguration().getName() + " - Collection should exist. Name:\n" + collectionName; + + LOG.error(logMessage); + throw new ServiceException(logMessage, null, this); + } + + + final DBObject existingMongoObject = mongoCollection.findOne(mongoKeys); + if (existingMongoObject != null) + { + mongoObject.put("_id", existingMongoObject.get("_id")); + } + + String errorMessage = null; + Throwable throwable = null; + try + { + final WriteResult mongoWriteResult = mongoCollection.save(mongoObject); + errorMessage = mongoWriteResult.getError(); + } + catch (Throwable t) + { + errorMessage = t.getMessage(); + throwable = t; + } + + if (errorMessage != null || throwable != null) + { + final String logMessage = getConfiguration().getName() + " - Error saving model (" + errorMessage + ")."; + + LOG.error(logMessage); + throw new ServiceException(logMessage, throwable, this); + } + + return model; + + } + + @Override + public Model get(final Keys keys, final Dimensions dimensions) + { + + final URI schemaUri = dimensions.getSchemaUri(); + final String collectionName = convertToCollectionName(schemaUri); + if (!_Mongo.collectionExists(collectionName)) + { + LOG.debug(getConfiguration().getName() + " - Collection does not exist. Name:\n" + collectionName); + return null; + } + + final DBCollection mongoCollection = _Mongo.getCollection(collectionName); + if (mongoCollection == null) + { + // Should not happen + LOG.error(getConfiguration().getName() + " - Collection should exist. Name:\n" + collectionName); + return null; + } + + final DBObject mongoKeys = createMongoKeys(keys); + final DBObject mongoObject = mongoCollection.findOne(mongoKeys); + if (mongoObject == null) + { + LOG.debug(getConfiguration().getName() + " - Failed to find model. Keys:\n" + keys); + return null; + } + + Model model = null; + + try + { + model = convertToModel(mongoObject, keys, dimensions); + } + catch (ModelReadingException e) + { + LOG.error(e.getMessage(), e); + } + + return model; + } + + @Override + public void delete(final Keys keys, final Dimensions dimensions) + { + + final DBObject mongoKeys = createMongoKeys(keys); + + for (final URI schemaUri : keys.getKeyedSchemaUris()) + { + + final String collectionName = convertToCollectionName(schemaUri); + if (!_Mongo.collectionExists(collectionName)) + { + continue; + } + + final DBCollection mongoCollection = _Mongo.getCollection(collectionName); + if (mongoCollection == null) + { + continue; + } + + final DBObject mongoObject = mongoCollection.findOne(mongoKeys); + + if (mongoObject != null) + { + final WriteResult mongoWriteResult = mongoCollection.remove(mongoObject); + + final String errorMessage = mongoWriteResult.getError(); + if (errorMessage != null) + { + LOG.error(getConfiguration().getName() + " - Error deleting model (" + errorMessage + "). Keys:\n" + keys); + } + } + } + } + + @Override + public Set search(final SearchCriteria searchCriteria) throws UnsupportedOperationException + { + + final Set resultSet = new LinkedHashSet<>(); + + + final QueryBuilder mongoQueryBuilder = new QueryBuilder(); + + + // TODO: Implement search + + + return resultSet; + } + + @Override + protected void initFromConfiguration(final ServiceConfiguration config) + { + + if (config == null) + { + final ServiceException e = new ServiceException("The config cannot be null.", null, this); + LOG.error(e.getMessage(), e); + throw e; + } + + + final Map settings = config.getSettings(); + String mongoUriString = DEFAULT_URI_STRING; + + if (settings != null) + { + if (settings.containsKey(MONGO_URI_SETTING_NAME)) + { + mongoUriString = settings.get(MONGO_URI_SETTING_NAME); + } + + if (settings.containsKey(MONGO_COLLECTION_PREFIX_SETTING_NAME)) + { + _CollectionPrefix = settings.get(MONGO_COLLECTION_PREFIX_SETTING_NAME); + } + } + + // TODO: Look into MongoClientURI replacement + final MongoURI mongoUri = new MongoURI(mongoUriString); + try + { + _Mongo = mongoUri.connectDB(); + + if (!_Mongo.isAuthenticated() && mongoUri.getPassword() != null) + { + _Mongo.authenticate(mongoUri.getUsername(), mongoUri.getPassword()); + } + + } + catch (MongoException | UnknownHostException ex) + { + final String logMessage = "Error creating connection to Mongo: " + _Mongo; + LOG.error(logMessage); + throw new ServiceException(logMessage, ex, this); + } + } + + private DBObject createMongoKeys(final Keys keys) + { + + // The mongoDB object that will hold the "serialized" keys structure. + final DBObject mongoKeys = new BasicDBObject(); + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + + for (final URI keyedSchemaUri : keys.getKeyedSchemaUris()) + { + + if (keys.getCount() > 1 && keyedSchemaUri.equals(schemaLoader.getDocumentSchemaUri())) + { + // To promote de-coupling of REST API Design from this back-end storage Service, skip Document's URI if we can. + continue; + } + + // This is the key'd value + + final Object keyValue = keys.getValue(keyedSchemaUri); + final Prototype prototype = schemaLoader.getPrototype(keyedSchemaUri); + final SortedSet keySlotNames = prototype.getDeclaredKeySlotNames(); + if (keySlotNames == null) + { + // Should not happen + continue; + } + + if (keySlotNames.size() == 1) + { + // This is a simple key with only one slot (not a compound key). + final String keySlotName = keySlotNames.first(); + + final Object mongoValue = convertToMongoValue(keyValue); + mongoKeys.put(keySlotName, mongoValue); + } + else if (keyValue instanceof CompositeKey) + { + final CompositeKey compositeKey = (CompositeKey) keyValue; + + // This compound key manages its own names to values mapping, which makes this simple. + final Map compositeKeySlots = compositeKey.getKeySlots(); + final Set compositeKeySlotNames = compositeKeySlots.keySet(); + for (final String compositeKeySlotName : compositeKeySlotNames) + { + + final Object compositeKeySlotValue = compositeKeySlots.get(compositeKeySlotName); + final Object mongoValue = convertToMongoValue(compositeKeySlotValue); + mongoKeys.put(compositeKeySlotName, mongoValue); + } + } + } + + return mongoKeys; + } + + private String convertToCollectionName(final URI schemaUri) + { + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final Prototype prototype = schemaLoader.getPrototype(schemaUri); + final UniqueName uniqueName = prototype.getUniqueName(); + + // TODO: Length limitations suggest that this be short: http://docs.mongodb.org/manual/reference/limits/ + // TODO: Is this unique enough? + final String collectionName = uniqueName.getLocalName(); + + if (_CollectionPrefix == null) + { + return collectionName; + } + + return _CollectionPrefix + collectionName; + } + + private Model convertToModel(final DBObject mongoObject, final Keys keys, final Dimensions dimensions) throws ModelReadingException + { + + mongoObject.removeField("_id"); + + // Is JSON serialization fast enough here? + final String jsonStringRepresentation = JSON.serialize(mongoObject); + final byte[] jsonStringBytes = jsonStringRepresentation.getBytes(); + final InputStream inStream = new ByteArrayInputStream(jsonStringBytes); + + final Context context = getContext(); + final Model model = context.readModel(inStream, keys, dimensions, SystemFormat.json.getFormatUri()); + return model; + } + + private DBObject convertToMongoObject(final Model model) + { + + return convertToMongoObject(model, null); + } + + private DBObject convertToMongoObject(final Model model, final Set projection) + { + + final DBObject mongoObject = new BasicDBObject(); + + final Prototype prototype = model.getPrototype(); + final SchemaLoader schemaLoader = prototype.getSchemaLoader(); + + final Set slotNames = prototype.getAllSlotNames(); + + for (final String slotName : slotNames) + { + + final ProtoSlot protoSlot = prototype.getProtoSlot(slotName); + + // Don't convert link slots or the "dynamically filled" collection slots (they are both managed by the WRML runtime). + if (protoSlot instanceof LinkProtoSlot || protoSlot instanceof CollectionPropertyProtoSlot) + { + continue; + } + + // Don't bother with non-projected slots or null slot values + if ((projection == null || projection.isEmpty() || projection.contains(slotName)) && model.containsSlotValue(slotName)) + { + + // Omit Document and Embedded URI values + if ((!prototype.isDocument() || !Document.SLOT_NAME_URI.equals(slotName)) && + (!prototype.isAssignableFrom(schemaLoader.getEmbeddedSchemaUri()) && !Embedded.SLOT_NAME_DOCUMENT_URI.equals(slotName))) + { + + final Object slotValue = model.getSlotValue(slotName); + final Object mongoValue = convertToMongoValue(slotValue); + + if (mongoValue != null) + { + mongoObject.put(slotName, mongoValue); + } + } + } + } + + return mongoObject; + } + + private Object convertToMongoValue(final Object value) + { + + final Context context = getContext(); + + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final ValueType valueType = schemaLoader.getValueType(value.getClass()); + + final Object mongoValue; + + switch (valueType) + { + case SingleSelect: + case Text: + + final SyntaxLoader syntaxLoader = context.getSyntaxLoader(); + mongoValue = syntaxLoader.formatSyntaxValue(value); + break; + + case List: + + final List javaList = (List) value; + final BasicDBList mongoList = new BasicDBList(); + for (final Object listElement : javaList) + { + final Object mongoListElement = convertToMongoValue(listElement); + mongoList.add(mongoListElement); + } + + mongoValue = mongoList; + break; + + case Link: + case Model: + + mongoValue = convertToMongoObject((Model) value); + break; + + default: + mongoValue = value; + break; + } + + return mongoValue; + } + + +} diff --git a/contrib/runtime/service/pom.xml b/contrib/runtime/service/pom.xml new file mode 100644 index 0000000..56b2f81 --- /dev/null +++ b/contrib/runtime/service/pom.xml @@ -0,0 +1,39 @@ + + 4.0.0 + + org.wrml.contrib + runtime + 1.0-SNAPSHOT + + + + Mark Masse (OSS project WRML.org) + http://www.wrml.org + + + org.wrml.contrib.runtime + service + pom + wrml-contrib-runtime-service + Service contributions that may optionally be used along with the WRML core runtime. + + + groovy + mongo + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + + + diff --git a/contrib/runtime/service/service.iml b/contrib/runtime/service/service.iml new file mode 100644 index 0000000..b475024 --- /dev/null +++ b/contrib/runtime/service/service.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/core/.gitignore b/core/.gitignore new file mode 100644 index 0000000..c66da9d --- /dev/null +++ b/core/.gitignore @@ -0,0 +1,11 @@ +target +logs +bin +.DS_Store +nb-configuration.xml +nbactions-WRML.xml +nbactions.xml +.classpath +.project +.settings +dependency-reduced-pom.xml diff --git a/core/LICENSE-2.0.txt b/core/LICENSE-2.0.txt new file mode 100644 index 0000000..e8a31d8 --- /dev/null +++ b/core/LICENSE-2.0.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2013 Mark Masse + + Licensed 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. diff --git a/core/README.md b/core/README.md new file mode 100644 index 0000000..9e1b6a3 --- /dev/null +++ b/core/README.md @@ -0,0 +1,11 @@ +

+ +

+ +WRML Core +================================ + +This is the WRML core project; the codebase for the WRML core's implementation. The WRML _core_ is subdivided into a two major parts: + +1. Core model interfaces +2. Runtime implementation diff --git a/core/Werminal.json b/core/Werminal.json new file mode 100644 index 0000000..3923978 --- /dev/null +++ b/core/Werminal.json @@ -0,0 +1,3 @@ +{ + "title" : "Werminal" +} \ No newline at end of file diff --git a/core/core.iml b/core/core.iml new file mode 100644 index 0000000..8d1e4dc --- /dev/null +++ b/core/core.iml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/core/pom.xml b/core/pom.xml new file mode 100644 index 0000000..1165bef --- /dev/null +++ b/core/pom.xml @@ -0,0 +1,194 @@ + + 4.0.0 + + org.wrml + wrml + 1.0-SNAPSHOT + + + + Mark Masse (OSS project WRML.org) + http://www.wrml.org + + + core + wrml-core + The core machinery that makes the WRML rocket go. + + + + asm + asm + + + asm + asm-commons + + + asm + asm-util + + + asm + asm-analysis + + + ch.qos.logback + logback-classic + + + com.fasterxml + aalto-xml + + + com.fasterxml.jackson.core + jackson-databind + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + + + com.google.guava + guava + + + com.thoughtworks.xstream + xstream + + + commons-collections + commons-collections + + + commons-io + commons-io + + + javax.inject + javax.inject + + + org.apache.commons + commons-lang3 + + + org.apache.httpcomponents + httpclient + + + org.apache.httpcomponents + httpcore + + + org.slf4j + jcl-over-slf4j + + + uk.com.robust-it + cloning + + + org.codehaus.jackson + jackson-core-asl + + + + org.codehaus.janino + janino + runtime + + + org.reflections + reflections + + + org.springframework + spring-context-support + + + + + junit + junit + test + + + org.mockito + mockito-all + test + + + org.powermock + powermock-module-junit4 + test + + + org.powermock + powermock-api-mockito + test + + + org.springframework + spring-test + test + + + + + + + com.mycila.maven-license-plugin + maven-license-plugin + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + org.apache.maven.plugins + maven-eclipse-plugin + + + org.apache.maven.plugins + maven-compiler-plugin + + + org.apache.maven.plugins + maven-jar-plugin + + + maven-war-plugin + + + servlet-api-2.5-20081211.jar + + + + + org.jacoco + jacoco-maven-plugin + + + org.apache.maven.plugins + maven-enforcer-plugin + + + + + + 79 + 56 + 40 + 60 + 40 + 65 + + src/main/resources/headers + + + diff --git a/core/src/main/java/org/wrml/model/Abstract.java b/core/src/main/java/org/wrml/model/Abstract.java new file mode 100644 index 0000000..5f0ec47 --- /dev/null +++ b/core/src/main/java/org/wrml/model/Abstract.java @@ -0,0 +1,45 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model; + +import org.wrml.model.schema.Schema; + +/** + *

+ * {@link Model} instances cannot be formed from a {@link Schema} that claims {@link Abstract} as a direct basis. Other + * {@link Schema} may claim {@link Abstract} as their basis and they may formed into {@link Model}s as usual; unless + * they choose to also directly state {@link Abstract} as a basis. + *

+ * + *

+ * Claim {@link Abstract} as a basis for any {@link Schema} that you do not wish to be modeled/composed without some + * intermediate extension. + *

+ * @see Abstract classes + */ +public interface Abstract extends Model +{ + +} diff --git a/core/src/main/java/org/wrml/model/Alert.java b/core/src/main/java/org/wrml/model/Alert.java new file mode 100644 index 0000000..87a8d39 --- /dev/null +++ b/core/src/main/java/org/wrml/model/Alert.java @@ -0,0 +1,37 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model; + +public interface Alert extends Named, Titled, Described, Model +{ + + String getCategory(); + + String getDetails(); + + String getMessage(); + + String getType(); +} diff --git a/core/src/main/java/org/wrml/model/CodeOnDemand.java b/core/src/main/java/org/wrml/model/CodeOnDemand.java new file mode 100644 index 0000000..05665ca --- /dev/null +++ b/core/src/main/java/org/wrml/model/CodeOnDemand.java @@ -0,0 +1,42 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model; + +import java.net.URI; + +/** + * WRML's Java framework has a generalized design for how to incorporate hooks + * to non-model (executable) Java code. Everything from how it is packaged (Jar, + * Manifest file, etc) and design a REST API-based exchange hidden behind WRML's + * Service Java API. + */ +public interface CodeOnDemand extends Named, Versioned, Described, Model +{ + + URI getCodeLocation(); + + URI setCodeLocation(URI codeLocation); + +} diff --git a/core/src/main/java/org/wrml/model/Described.java b/core/src/main/java/org/wrml/model/Described.java new file mode 100644 index 0000000..7cd355d --- /dev/null +++ b/core/src/main/java/org/wrml/model/Described.java @@ -0,0 +1,43 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model; + +import org.wrml.runtime.schema.Description; +import org.wrml.runtime.schema.Title; + +/** + * Something with a description. A composable Described model manages the state of a "description" text slot. + */ +@Description("Something with a description. A Described model declares a \"description\" Text slot.") +public interface Described extends Abstract +{ + + @Title("Description") + @Description("The description of the model. The description slot is typically used to \"display\" information about a model to a user.") + String getDescription(); + + String setDescription(String description); + +} diff --git a/core/src/main/java/org/wrml/model/Filed.java b/core/src/main/java/org/wrml/model/Filed.java new file mode 100644 index 0000000..158c32f --- /dev/null +++ b/core/src/main/java/org/wrml/model/Filed.java @@ -0,0 +1,47 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model; + +import org.wrml.runtime.schema.WRML; + +import java.io.File; + +/** + * A {@link Model} that's associated with a {@link File}. + * + * @see File + */ +@WRML(keySlotNames = {"file"}, comparableSlotNames = {"file"}) +public interface Filed extends Model +{ + + /** + * The {@link File} associated with this {@link Filed} model. + */ + File getFile(); + + File setFile(File file); + +} diff --git a/core/src/main/java/org/wrml/model/MaybeReadOnly.java b/core/src/main/java/org/wrml/model/MaybeReadOnly.java new file mode 100644 index 0000000..0e0f289 --- /dev/null +++ b/core/src/main/java/org/wrml/model/MaybeReadOnly.java @@ -0,0 +1,38 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model; + +/** + * A model which may be read only, maybe. + */ +public interface MaybeReadOnly extends Abstract +{ + + + Boolean isReadOnly(); + + Boolean setReadOnly(boolean readOnly); + +} diff --git a/core/src/main/java/org/wrml/model/MaybeRequired.java b/core/src/main/java/org/wrml/model/MaybeRequired.java new file mode 100644 index 0000000..692bfc6 --- /dev/null +++ b/core/src/main/java/org/wrml/model/MaybeRequired.java @@ -0,0 +1,38 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model; + +/** + * A model which may be required. + */ +public interface MaybeRequired extends Abstract +{ + + public static final String SLOT_NAME_REQUIRED = "required"; + + Boolean isRequired(); + + Boolean setRequired(boolean required); +} diff --git a/core/src/main/java/org/wrml/model/MaybeVisible.java b/core/src/main/java/org/wrml/model/MaybeVisible.java new file mode 100644 index 0000000..6c59a7c --- /dev/null +++ b/core/src/main/java/org/wrml/model/MaybeVisible.java @@ -0,0 +1,39 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model; + +import org.wrml.runtime.schema.DefaultValue; + +/** + * A model which may be visible, with a bias toward being seen. + */ +public interface MaybeVisible +{ + + @DefaultValue("true") + boolean isVisible(); + + boolean setVisible(boolean visible); +} diff --git a/core/src/main/java/org/wrml/model/Model.java b/core/src/main/java/org/wrml/model/Model.java new file mode 100644 index 0000000..ecc301c --- /dev/null +++ b/core/src/main/java/org/wrml/model/Model.java @@ -0,0 +1,303 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model; + +import org.wrml.model.schema.Schema; +import org.wrml.model.schema.Slot; +import org.wrml.runtime.*; +import org.wrml.runtime.schema.Prototype; +import org.wrml.runtime.service.Service; + +import java.lang.reflect.Proxy; +import java.net.URI; +import java.util.Map; +import java.util.UUID; + +/** + *

WRML - Web Resource Modeling Language

+ *

+ *

+ *

+ *    __     __   ______   __    __   __
+ *   /\ \  _ \ \ /\  == \ /\ "-./  \ /\ \
+ *   \ \ \/ ".\ \\ \  __< \ \ \-./\ \\ \ \____
+ *    \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\
+ *     \/_/   \/_/ \/_/ /_/ \/_/  \/_/ \/_____/
+ * 
+ *

+ *

+ *

+ * http://www.wrml.org

+ *

+ *

+ * Copyright 2012 Mark Masse (OSS project WRML.org) + *

+ *

+ *

+ * Licensed 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. + *

+ *

+ *

+ * WRML stands for "Web Resource Modeling Language" (and is pronounced "Wormle"). As a idea, WRML wants to help + * establish a shared, uniform programmable Web platform - to unlock it's real potential. WRML wants to be ported to + * other programming languages to help spread this uniformity. + *

+ *

+ *

+ * WRML, like other model-driven architectures before it, says that data structures are "{@link Model}s", which don't + * need be "coded". To promote reuse, abstraction, and separation of concerns; WRML says that data structures are + * *modeled* and algorithms are *coded* (in {@link Service}s). + *

+ *

+ *

+ * WRML suggests that there are two unique disciplines within computer science *modelers* and *coders*. WRML modelers + * can use intuitive design tools. WRML coders can implement services any way they want (Java not required). + *

+ *

+ *

+ * A {@link Model} is the base concept for all WRML "data structures". {@link Model} is the base interface of all Web + * resource {@link Schema} {@link Proxy} instances. In addition to the {@link Map}-like (or JSON-like) get/set slot + * value methods defined by the {@link Model} interface, WRML's runtime ensures that all {@link Model} instances also + * provide a Java POJO-style API, with getters and setters for each {@link Slot} in the {@link Model}'s + * associated {@link Schema}. + *

+ * + * @see Schema + * @see Context + * @see Context#newModel(Class) + * @see Context#getModel(Keys, Dimensions) + * @see Context#deleteModel(Keys, Dimensions) + * @see Context#saveModel(Model) + * @see Keys + * @see Dimensions + * @see Dimensions#getSchemaUri() + * @see Service + * @see Proxy + */ +public interface Model +{ + + /** + * The WRML constant name for a Model's schemaUri slot. + */ + public static final String SLOT_NAME_SCHEMA_URI = "schemaUri"; + /** + * The WRML constant name for a Model's heapId slot. + */ + public static final String SLOT_NAME_HEAP_ID = "heapId"; + + /** + * Clears a slot value, erasing it completely. Where a call to {@link #setSlotValue(String, Object)} like, + * setSlotValue("name", null), will leave the "name" slot with a null value, + * {@link #clearSlotValue(String)} a call to clearSlotValue("name") will clear the value; erasing + * it from the heap. + * + * @return The slot's value prior to being cleared. A null value is returned in cases when the slot was + * already clear or actually contained a null value. Call {@link #containsSlotValue(String)} + * prior to calling this method when you need to know the difference. + * @see #containsSlotValue(String) + * @see #setSlotValue(String, Object) + */ + Object clearSlotValue(final String slotName); + + /** + * Checks to see if the named slot contains a value. Any stored value, even a null value, will result + * in a return value of true. + * + * @see #getSlotValue(String) + * @see #setSlotValue(String, Object) + * @see #clearSlotValue(String) + */ + boolean containsSlotValue(final String slotName); + + /** + * Returns the runtime context for this model instance. + * + * @return The model's runtime context. + */ + Context getContext(); + + /** + * Get the {@link Dimensions} that came with this Model's instantiation. + * + * @return The {@link Dimensions} associated with this model instance. + * @see Model#getSchemaUri() + */ + Dimensions getDimensions(); + + /** + * Get the (internal) heap id of this model. + *

+ *

+ * Within the same model heap, other models may share this same id in order to achieve instance folding (model + * singularity) and support other use cases where cross-model shared/overlapping slots are handy. For example, + * "lightweight" and "heavier weight" models of the same data may overlap on the lightweight model's complete slot + * set. + *

+ * + * @return The model's heap id. + */ + UUID getHeapId(); + + /** + * The (optional) {@link Keys} associated with this model. A model's (optional) key slot values are what makes it + * unique within + * the domain of its {@link Schema} (and base schemas). + * + * @return the {@link Keys} associated with this model. The keys will be null if this model isn't + * "special"; meaning that there is nothing unique about this model. + */ + Keys getKeys(); + + /** + * The (optional) name of the {@link Service} that originally "got" (originated) this model. A model's origin {@link Service} is + * name is null if the model did not come from a Service. + * + * @return the name of the {@link Service} that brought this model into the {@link Context}. + */ + String getOriginServiceName(); + + /** + * The {@link Prototype} associated with this model's {@link Schema}. + * + * @return the model's {@link Prototype}. + */ + Prototype getPrototype(); + + /** + * Get the schema URI associated with this model instance (or null if this + * model's type is undefined). + * + * @return The schema URI associated with this model instance (or null if + * this model's type is undefined). + * @see Model#getDimensions() + * @see Dimensions#getSchemaUri() + * @see Model#getKeys() + */ + URI getSchemaUri(); + + /** + * Get a {@link Map} containing the slot name/value pairs, where the values have been explicitly set (by client or + * framework code). + */ + Map getSlotMap(); + + /** + * Get the specified slot name. + * + * @param slotName The name of the slot value to read. + * @return Either the slot's value or null if it could not be read. + */ + Object getSlotValue(final String slotName); + + /** + * Initialize the key slots in this {@link Model} using the specified {@link Keys}. + * + * @param keys The {@link Keys}, whose values should be applied to any matching named slot with either a currently + * null value or a non-null, equal value to the Key value applied. Once a {@link Model}'s + * key slot has been set (non-null), it is considered immutable by the runtime. + */ + void initKeySlots(Keys keys); + + /** + * Create a new (Java) local model instance which implements the (Java) interface associated with the identified + * (WRML) schema. + *

+ * See HTML's alternate link + * relation for some inspiration. + * + * @param dimensions The dimensions to represent with the new {@link Proxy}. + * @return A new {@link Proxy} instance that represents this model instance + * using the specified dimensions. + * @throws ModelException Thrown if there are problems tunneling through the worm hole. + */ + M newAlternate(Dimensions dimensions) throws ModelException; + + /** + * Makes a new, local copy of this model, copying all of the "valued slots" (including null values). + * + * @return The model's "clone" (different heap id and slot storage), which is not the same as an "alternate" (same + * shared heap id and slot storage). + */ + M newCopy() throws ModelException; + + /** + * Visit the named link slot, returning the response entity as a model. + * + * @param linkSlotName the link slot to reference. + * @param the response model type. + * @return the response model. + */ + E reference(final String linkSlotName) throws ModelException; + + /** + * Visit the named link slot, returning the response entity as a model. + * + * @param linkSlotName the link slot to reference. + * @param dimensionsBuilder the DimensionsBuilder for the requested model. + * @param the response model type. + * @return the response model. + */ + E reference(final String linkSlotName, DimensionsBuilder dimensionsBuilder) throws ModelException; + + /** + * Visit the named link slot, returning the response entity as a model. + * + * @param linkSlotName the link slot to reference. + * @param dimensionsBuilder the DimensionsBuilder for the requested model. + * @param parameter the model to pass along with the reference request. + * @param the response model type. + * @return the response model. + */ + E reference(final String linkSlotName, DimensionsBuilder dimensionsBuilder, Model parameter) throws ModelException; + + /** + * Sets the {@link Model}'s origin {@link Service} name, which may be used for future interactions involving the model's + * state (e.g. saving, reloading, etc). + */ + String setOriginServiceName(final String originServiceName); + + /** + * Set the specified new value on specified slot name. + * + * @param slotName The name of the slot value to write. + * @param newValue The value to set on the named slot. + * @return Either the slot's prior value or null if it could not be read. + */ + Object setSlotValue(final String slotName, final Object newValue) throws ModelException; + +} diff --git a/core/src/main/java/org/wrml/model/Named.java b/core/src/main/java/org/wrml/model/Named.java new file mode 100644 index 0000000..9c54e98 --- /dev/null +++ b/core/src/main/java/org/wrml/model/Named.java @@ -0,0 +1,50 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model; + +import org.wrml.runtime.schema.Description; +import org.wrml.runtime.schema.WRML; + +/** + * Something with a name. A Named mixin model manages the state of a "name" text slot. + */ +@WRML(comparableSlotNames = {"name"}) +@Description("Something with a name.") +public interface Named extends Abstract +{ + + /** + * The WRML constant name for a Named's name slot. + */ + public static final String SLOT_NAME_NAME = "name"; + + /** + * The name associated with this {@link Named} model. + */ + @Description("The name associated with this model.") + String getName(); + + String setName(String name); +} diff --git a/core/src/main/java/org/wrml/model/Summarized.java b/core/src/main/java/org/wrml/model/Summarized.java new file mode 100644 index 0000000..b7ab74e --- /dev/null +++ b/core/src/main/java/org/wrml/model/Summarized.java @@ -0,0 +1,40 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model; + +/** + * Something with a summary. A composable Summarized model manages the state of a "summary" text slot. + */ +public interface Summarized extends Abstract +{ + + /** + * The summary associated with this {@link Summarized} model. + */ + String getSummary(); + + String setSummary(String summary); + +} diff --git a/core/src/main/java/org/wrml/model/Tagged.java b/core/src/main/java/org/wrml/model/Tagged.java new file mode 100644 index 0000000..a24eb79 --- /dev/null +++ b/core/src/main/java/org/wrml/model/Tagged.java @@ -0,0 +1,40 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model; + +import java.util.List; + +/** + * Something with a list of tags. A composable Tagged model manages the state of a "tags" list slot. + */ +public interface Tagged extends Abstract +{ + + /** + * The tags associated with this {@link Tagged} model. + */ + List getTags(); + +} diff --git a/core/src/main/java/org/wrml/model/Textual.java b/core/src/main/java/org/wrml/model/Textual.java new file mode 100644 index 0000000..6a5266c --- /dev/null +++ b/core/src/main/java/org/wrml/model/Textual.java @@ -0,0 +1,39 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model; + +/** + * A {@link Textual} model has a "text" Text slot. + */ +public interface Textual extends Abstract +{ + + /** + * The text associated with this {@link Textual} model. + */ + String getText(); + + String setText(String text); +} diff --git a/core/src/main/java/org/wrml/model/Thumbnailed.java b/core/src/main/java/org/wrml/model/Thumbnailed.java new file mode 100644 index 0000000..9d5d4b6 --- /dev/null +++ b/core/src/main/java/org/wrml/model/Thumbnailed.java @@ -0,0 +1,41 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model; + +import java.net.URI; + +/** + * Something with a thumbnail image. A Thumbnailed model manages the state of a "thumbnailLocation" text/URI slot. + */ +public interface Thumbnailed extends Abstract +{ + + /** + * The {@link URI}-based thumbnail location associated with this {@link Thumbnailed} model. + */ + URI getThumbnailLocation(); + + URI setThumbnailLocation(URI thumbnailLocation); +} diff --git a/core/src/main/java/org/wrml/model/Titled.java b/core/src/main/java/org/wrml/model/Titled.java new file mode 100644 index 0000000..6d9e379 --- /dev/null +++ b/core/src/main/java/org/wrml/model/Titled.java @@ -0,0 +1,53 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model; + +import org.wrml.runtime.schema.Description; +import org.wrml.runtime.schema.Title; +import org.wrml.runtime.schema.WRML; + +/** + * Something with a title. A composable Titled model manages the state of a "title" text slot. + */ +@WRML(comparableSlotNames = {"title"}) +@Description("Something with a title. A Titled model declares a \"title\" Text slot.") +public interface Titled extends Abstract +{ + + /** + * The WRML constant name for a Titled's title slot. + */ + public static final String SLOT_NAME_TITLE = "title"; + + + /** + * The title associated with this {@link Titled} model. + */ + @Title("Title") + @Description("The title of the model. The title slot is typically used as the \"display\" name when presenting a model to a user.") + String getTitle(); + + String setTitle(String title); +} diff --git a/core/src/main/java/org/wrml/model/UniquelyIdentified.java b/core/src/main/java/org/wrml/model/UniquelyIdentified.java new file mode 100644 index 0000000..37b89c5 --- /dev/null +++ b/core/src/main/java/org/wrml/model/UniquelyIdentified.java @@ -0,0 +1,47 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model; + +import org.wrml.runtime.schema.WRML; + +import java.util.UUID; + +/** + * A composable {@link Abstract} with a universally unique ID (a {@link UUID}). + */ +@WRML(keySlotNames = {"uniqueId"}, comparableSlotNames = {"uniqueId"}) +public interface UniquelyIdentified extends Abstract +{ + + /** + * The {@link UUID} associated with this {@link UniquelyIdentified} model. + */ + UUID getUniqueId(); + + /** + * @see #setUniqueId(UUID) + */ + UUID setUniqueId(UUID uuid); +} diff --git a/core/src/main/java/org/wrml/model/UniquelyNamed.java b/core/src/main/java/org/wrml/model/UniquelyNamed.java new file mode 100644 index 0000000..8b9c0f0 --- /dev/null +++ b/core/src/main/java/org/wrml/model/UniquelyNamed.java @@ -0,0 +1,52 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model; + +import org.wrml.runtime.schema.Title; +import org.wrml.util.UniqueName; + +/** + * A composable {@link Abstract} with a universally unique name (a {@link UniqueName}). + */ +public interface UniquelyNamed extends Abstract +{ + + /** + * The WRML constant name for a UniquelyNamed's uniqueName slot. + */ + public static final String SLOT_NAME_UNIQUE_NAME = "uniqueName"; + + /** + * The {@link UniqueName} associated with this {@link UniquelyNamed} model. + */ + @Title("Unique Name") + UniqueName getUniqueName(); + + /** + * @see #getUniqueName() + */ + UniqueName setUniqueName(UniqueName uniqueName); + +} diff --git a/core/src/main/java/org/wrml/model/Versioned.java b/core/src/main/java/org/wrml/model/Versioned.java new file mode 100644 index 0000000..b781f85 --- /dev/null +++ b/core/src/main/java/org/wrml/model/Versioned.java @@ -0,0 +1,47 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model; + +import org.wrml.runtime.schema.DefaultValue; +import org.wrml.runtime.schema.Description; +import org.wrml.runtime.schema.WRML; + +/** + * Something with a version. A composable Versioned model manages the state of a "version" long slot. + */ +@WRML(comparableSlotNames = {"version"}) +@Description("Something with a version. A Versioned model declares a \"version\" Text slot.") +public interface Versioned extends Abstract +{ + + /** + * The version associated with this {@link Versioned} model. + */ + @DefaultValue("1") + @Description("The version of the model.") + Long getVersion(); + + Long setVersion(Long version); +} diff --git a/core/src/main/java/org/wrml/model/Virtual.java b/core/src/main/java/org/wrml/model/Virtual.java new file mode 100644 index 0000000..e3cb7df --- /dev/null +++ b/core/src/main/java/org/wrml/model/Virtual.java @@ -0,0 +1,38 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model; + +import org.wrml.model.Abstract; +import org.wrml.model.rest.Document; + +/** + *

+ * The WRML concept of a pure-virtual or purely aggregation-oriented Schema is similar to the result of a JOIN in SQL, + * except that it is modeled as a Schema (not with code). + *

+ */ +public interface Virtual extends Abstract +{ +} diff --git a/core/src/main/java/org/wrml/model/format/Format.java b/core/src/main/java/org/wrml/model/format/Format.java new file mode 100644 index 0000000..40ea6b5 --- /dev/null +++ b/core/src/main/java/org/wrml/model/format/Format.java @@ -0,0 +1,120 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.format; + +import org.wrml.model.Described; +import org.wrml.model.Titled; +import org.wrml.model.UniquelyNamed; +import org.wrml.model.Versioned; +import org.wrml.model.rest.Document; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.rest.MediaType; +import org.wrml.runtime.schema.Description; +import org.wrml.runtime.schema.WRML; + +import java.net.URI; +import java.util.List; + +/** + * WRML's media type design allows + * for formats to be pluggable via a {@link URI} reference to a {@link Document} conforming to this {@link Schema}. + * + * @see http://www.wrml.org/format + * @see + * ProgrammableWeb.com blog post + */ +@WRML(keySlotNames = {"uniqueName"}, comparableSlotNames = {"uniqueName"}) +@Description("The WRML runtime allows for formats to be pluggable via a URI reference to a Document conforming to this Schema.") +public interface Format extends Titled, Versioned, Described, UniquelyNamed, Document +{ + + /** + * The WRML constant name for a Format's homePageUri slot. + */ + public static final String SLOT_NAME_HOME_PAGE_URI_NAME = "homePageUri"; + + /** + * The format's optional aka media types. + * + * @return The media types associated with this same format. + */ + @Description("The Format's optional aka media types.") + List getAliasMediaTypes(); + + /** + * The {@link URI} of the format's home page (e.g. http://www.json.org) + * + * @return the format's home page URI. + */ + @Description("The URI of the Format's home page.") + URI getHomePageUri(); + + /** + * The format's media type (e.g. application/json). + * + * @return the media type associated with this format. + * @see IANA Media Type Registry + */ + @Description("The Format's media type (e.g. application/json).") + MediaType getMediaType(); + + /** + * The format's RFC resource identifier (e.g. http://www.ietf.org/rfc/rfc4627.txt?number=4627) + * + * @return the format's RFC URI. + */ + @Description("The Format's RFC resource identifier.") + URI getRfcPageUri(); + + /** + * The format's associated file extension; without a '.' (or other) prefix. + * + * @return The format's associated file extension; without a '.' (or other) prefix. + */ + @Description("The Format's associated file extension; without a '.' (or other) prefix.") + String getFileExtension(); + + /** + * @see #getHomePageUri() + */ + URI setHomePageUri(URI homePageUri); + + /** + * @see #getMediaType() + */ + MediaType setMediaType(MediaType mediaType); + + /** + * @see #getRfcPageUri() + */ + URI setRfcPageUri(URI rfcPageUri); + + + String setFileExtension(String fileExtension); + +} diff --git a/core/src/main/java/org/wrml/model/rest/AggregateDocument.java b/core/src/main/java/org/wrml/model/rest/AggregateDocument.java new file mode 100644 index 0000000..35dce4f --- /dev/null +++ b/core/src/main/java/org/wrml/model/rest/AggregateDocument.java @@ -0,0 +1,51 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.rest; + +import org.wrml.model.Abstract; +import org.wrml.model.Virtual; + +/** + *

+ * Used by the WRML runtime to mark a Schema as an aggregation/composition of all of its link-embedded component parts. + *

+ *

+ * When extended by a WRML Schema (runtime's Java class representation), the Aggregate base Schema + * allows a subschema to be marked as "an Aggregate only" or a "Virtual" model. Such Documents effectively + * mark *all* of their (non-Link, non-inherited) slots as "keys"; making them (composite) key-complete, or fully + * initialized from the (request) input Keys. This model-oriented approach to Document (link-based) aggregation will + * enable virtual aggregates (URI hacking) to hit different backend systems with different values to create a uniformly + * structured result (aggregate) response]. + *

+ *

+ * An Aggregate model is key-complete, with all of the declared slots (together) forming its composite key (making it unique), + * and each one of the keys may be used (automatically) in one or more links (href values) to other Documents (models). + * WRML manages the fetching of the linked Documents (server-side) and mashes them all up into the HomeScreen to build + * the response JSON object (with embedded objects); aka the aggregate model. + *

+ */ +public interface AggregateDocument extends Abstract, Virtual, Document +{ +} diff --git a/core/src/main/java/org/wrml/model/rest/Api.java b/core/src/main/java/org/wrml/model/rest/Api.java new file mode 100644 index 0000000..68f733f --- /dev/null +++ b/core/src/main/java/org/wrml/model/rest/Api.java @@ -0,0 +1,99 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.rest; + +import org.wrml.model.Described; +import org.wrml.model.Titled; +import org.wrml.model.Versioned; +import org.wrml.runtime.rest.UriTemplate; +import org.wrml.runtime.schema.Title; +import org.wrml.runtime.schema.WRML; + +import java.net.URI; +import java.util.List; + +/** + *

+ * The metadata associated with a Web/REST API modeled as a WRML {@link Document}. + *

+ *

+ *

+ * An {@link Api} identifies the root level {@link ResourceTemplate} of a tree of {@link ResourceTemplate} nodes. This + * tree of {@link ResourceTemplate} nodes describes all of the available URI (or URI Template) paths provided by this + * Api. + *

+ *

+ *

+ * Like arrows (----->) links have two ends, the starting point (left end) is embedded within a referring document and + * the end point is a resource that is identified by a URI-based id (aka the endpoint document). The Api's list of + * {@link LinkTemplate}s captures both of these ends for each link that is made available by an Api. + *

+ *

+ *

+ * When layered on top of the Api's {@link ResourceTemplate} tree, the Api's {@link LinkTemplate}s form a hypermedia + * graph of interrelated ResourceTemplates. + *

+ *

+ *

+ * (Hopefully that will make more sense in the GUI). + *

+ * + * @see URI + * @see URI#getPath() + * @see UriTemplate + */ +@Title("API") +@WRML(comparableSlotNames = {"title", "version"}) +public interface Api extends Titled, Versioned, Described, Document +{ + + /** + *

+ * The Api's root {@link ResourceTemplate}, which corresponds to the "forward slash" (/) at the root of the + * {@link Api}'s {@link UriTemplate}-based tree structure. + *

+ * + * @return The docroot {@link ResourceTemplate}. + * @see URI + * @see UriTemplate + */ + ResourceTemplate getDocroot(); + + /** + *

+ * The list of {@link LinkTemplate}s that describe all of the relationships between the {@link Api}'s + * {@link ResourceTemplate}s. + *

+ * + * @return The list that holds the {@link Api}'s resource linkage. + */ + List getLinkTemplates(); + + /** + * @see Api#getDocroot() + */ + ResourceTemplate setDocroot(ResourceTemplate docroot); + +} diff --git a/core/src/main/java/org/wrml/model/rest/Document.java b/core/src/main/java/org/wrml/model/rest/Document.java new file mode 100644 index 0000000..9885636 --- /dev/null +++ b/core/src/main/java/org/wrml/model/rest/Document.java @@ -0,0 +1,139 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.rest; + +import org.wrml.model.Abstract; +import org.wrml.model.Model; +import org.wrml.runtime.Keys; +import org.wrml.runtime.schema.Description; +import org.wrml.runtime.schema.LinkSlot; +import org.wrml.runtime.schema.Title; +import org.wrml.runtime.schema.WRML; +import org.wrml.runtime.service.rest.RestService; + +import java.net.URI; + +/** + *

+ * A {@link Document} is a {@link Model} that has an {@link URI} key slot ({@link Document#getUri()}) used to identify the model on the World Wide Web (or other URI-based + * keyspace). + *

+ *

+ * NOTE: Document.id is a key slot for all {@link Document}s. The WRML runtime uses {@link Api} metadata to decipher a {@link Document} model's + * surrogate/internal keys and includes them all in the model's associated {@link Keys}. + *

+ * + * @see Api + * @see RestService + * @see Keys + * @see Hypertext Transfer Protocol -- HTTP/1.1 + * @see Universal Resource Identifiers -- Axioms of Web Architecture + */ +@WRML(keySlotNames = "uri") +@Description("A Document is a model that has a URI key slot used to identify the model on the World Wide Web (or other URI-based keyspace).") +public interface Document extends Abstract +{ + + static final long serialVersionUID = 1L; + + /** + * The WRML constant name for a Document's uri slot. + */ + public static final String SLOT_NAME_URI = "uri"; + + @LinkSlot(linkRelationUri = "http://relation.api.wrml.org/org/wrml/relation/delete", method = Method.Delete) + @Description("Deletes this Document.") + void delete(); + + /** + *

+ * Gets an opaque string representation of the {@link Document}'s current state. + *

+ *

+ * HTTP/1.1 uses Entity Tags to compare two or more "entities"; or {@link Document} model + * instances with the same URI ( Document.id ). Entity tag values are used in the ETag, If-Match, If-None-Match, and + * If-Range header fields. + *

+ * + * @return The "entity tag" string for this instance. + * @see HTTP/1.1 Entity Tags + */ + @Description("Gets an opaque string representation of the Document's current state.") + String getCacheTag(); + + /** + *

+ * As a representation of some server-owned resource's state, a document's slot values may change at any time (within the system of record). This method returns the number of + * seconds that it is safe to cache this document's representation without concern for changes taking place at its resource origin. + *

+ * + * @return The number of seconds that this document's representation may be considered "fresh". + * @see HTTP/1.1 Expires Header + * @see Caching in HTTP/1.1 + */ + @Description("As a representation of some server-owned resource's state, a Document's slot values may change at any time (within the system of record). This method returns the number of seconds that it is safe to cache this Document's representation without concern for changes taking place at its resource origin.") + Long getSecondsToLive(); + + @LinkSlot(linkRelationUri = "http://relation.api.wrml.org/org/wrml/relation/self", method = Method.Get) + @Description("Get this Document (refresh).") + Document getSelf(); + + /** + *

+ * Get's this {@link Document}'s "universal document identifier" as a {@link URI}. + *

+ *

+ *

"Well, the most important thing that was new was the idea of URI or URL [it was UDI back then, + * universal document identifier]. The idea that any piece of information anywhere should have an identifier, which will not only identify it, but allow you to get hold of it. + * That idea was the basic clue to the universality of the Web. That was the only thing I insisted upon."
+ *

+ *

+ * -- Tim Berners-Lee + *

+ */ + @Title("URI") + @Description("Get's this Document's \"universal document identifier\" as a URI.") + URI getUri(); + + @LinkSlot(linkRelationUri = "http://relation.api.wrml.org/org/wrml/relation/save", method = Method.Save) + @Description("Saves this Document.") + Document save(); + + /** + * @see #getCacheTag() + */ + String setCacheTag(String tag); + + /** + * @see #getSecondsToLive() + */ + Long setSecondsToLive(Long secondsToLive); + + /** + * @see #getUri() + */ + URI setUri(URI uri); + +} diff --git a/core/src/main/java/org/wrml/model/rest/DocumentMetadata.java b/core/src/main/java/org/wrml/model/rest/DocumentMetadata.java new file mode 100644 index 0000000..2ca7cc3 --- /dev/null +++ b/core/src/main/java/org/wrml/model/rest/DocumentMetadata.java @@ -0,0 +1,37 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.rest; + +/** + * JMX-like alternate dimension that contains stats and other meta information + * associated with a Document. + */ +public interface DocumentMetadata extends Document +{ + + // MSMTODO: Design this Model (a set of "standard" metadata slots that is + // associated with some other Document). + // MSMTODO: Design this Model as an alternate dimension of the Document. +} diff --git a/core/src/main/java/org/wrml/model/rest/Embedded.java b/core/src/main/java/org/wrml/model/rest/Embedded.java new file mode 100644 index 0000000..6328f49 --- /dev/null +++ b/core/src/main/java/org/wrml/model/rest/Embedded.java @@ -0,0 +1,53 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.rest; + +import org.wrml.model.Abstract; + +import java.net.URI; + +/** + *

+ * An {@link Embedded} model is *always* part of a {@link Document} (as a slot value). + *

+ */ +public interface Embedded extends Abstract +{ + + /** + * The WRML constant name for a Embedded's documentUri slot. + */ + public static final String SLOT_NAME_DOCUMENT_URI = "documentUri"; + + /** + *

+ * The {@link URI} (see {@link Document#getUri()}) of the {@link Document} that this {@link Embedded} is nested + * within. + *

+ */ + URI getDocumentUri(); + + URI setDocumentUri(final URI containingDocumentUri); +} diff --git a/core/src/main/java/org/wrml/model/rest/FiledApi.java b/core/src/main/java/org/wrml/model/rest/FiledApi.java new file mode 100644 index 0000000..a73c2ad --- /dev/null +++ b/core/src/main/java/org/wrml/model/rest/FiledApi.java @@ -0,0 +1,43 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.rest; + +import org.wrml.model.Filed; +import org.wrml.runtime.schema.Title; +import org.wrml.runtime.schema.WRML; + +import java.io.File; + +/** + * An {@link Api} that may be {@link Filed} (stored in a {@link File}). + */ +@WRML(uniqueName = "org/wrml/model/rest/FiledApi") +@Title("API") +public interface FiledApi extends Filed, Api +{ + +} diff --git a/core/src/main/java/org/wrml/model/rest/Link.java b/core/src/main/java/org/wrml/model/rest/Link.java new file mode 100644 index 0000000..89f3d66 --- /dev/null +++ b/core/src/main/java/org/wrml/model/rest/Link.java @@ -0,0 +1,117 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.rest; + +import org.wrml.model.Model; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.rest.UriTemplate; +import org.wrml.runtime.schema.WRML; + +import java.net.URI; + +/** + *

+ * A runtime hyperlink that slots the information necessary to treat REST-based interactions as function calls. + *

+ *

+ *

href - {@link #getHref()}

+ *

+ *

+ * The URI of the endpoint resource referenced by this {@link Link}. The WRML runtime uses a link's href value to + * navigate APIs; to link Document-based models together with their own link slots (member functions). + *

+ *

+ *

rel - {@link #getRel()}

+ *

+ *

+ * The URI of the link relation that adds some semantics to classify this interaction. A {@link LinkRelation} is a + * reusable function description which is referenced by a {@link Link} for reuse-sake; to leverage the default values + * with {@link LinkRelation#getRequestSchemaUri()} and {@link LinkRelation#getResponseSchemaUri()}. + *

+ *

+ *

doc - {@link #getDoc()}

+ *

+ *

+ * For embedded links, this slot will (on successful retrieval) hold the {@link Document} found at the end point. + * However, if the runtime encountered a problem embedding the Document, then this slot may contain either + * null or a {@link Model} (perhaps non-{@link Document}) representing an error (or other status message). + *

+ */ +@WRML(comparableSlotNames = {"rel", "href"}) +public interface Link extends Model +{ + + /** + *

+ * The optional embedded {@link Model} which resulted from a reference using this {@link Link}. + *

+ * + * @see Model#reference(String) + * @see Context#visitLink(org.wrml.model.Model, String) + * @see Dimensions#getEmbeddedLinkSlotNames() + */ + // TODO: Should this be a Document (instead of Model). Current design allows for non-Document errors to be returned. Is this a good design choice? + Model getDoc(); + + /** + *

+ * The URI of the endpoint resource referenced by this {@link Link}. The WRML runtime uses a {@link Link}'s href + * value to navigate {@link Api}s; to link {@link Document}-based models together. + *

+ * + * @see org.wrml.model.rest.Document#getUri() () + * @see UriTemplate#evaluate(java.util.Map) + * @see LinkTemplate + * @see Api + */ + URI getHref(); + + /** + *

+ * The URI of the link relation that adds some semantics to classify this interaction. A {@link LinkRelation} + * is a reusable function description which is referenced by a {@link Link} for reuse-sake; to leverage the default + * values with {@link LinkRelation#getRequestSchemaUri()} and {@link LinkRelation#getResponseSchemaUri()}. + *

+ * + * @see org.wrml.model.rest.LinkRelation#getUri() + */ + URI getRel(); + + /** + * @see #getDoc() + */ + Model setDoc(Model embedded); + + /** + * @see #getHref() + */ + URI setHref(URI href); + + /** + * @see #getRel() + */ + URI setRel(URI linkRelationUri); +} diff --git a/core/src/main/java/org/wrml/model/rest/LinkRelation.java b/core/src/main/java/org/wrml/model/rest/LinkRelation.java new file mode 100644 index 0000000..c197ce7 --- /dev/null +++ b/core/src/main/java/org/wrml/model/rest/LinkRelation.java @@ -0,0 +1,113 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.rest; + +import org.wrml.model.Described; +import org.wrml.model.Titled; +import org.wrml.model.UniquelyNamed; +import org.wrml.model.Versioned; +import org.wrml.runtime.schema.DefaultValue; +import org.wrml.runtime.schema.Title; +import org.wrml.runtime.schema.WRML; + +import java.net.URI; + +/** + *

+ * A unique, yet highly generic LinkRelation may be shared by many different instances of an /R ----> /E + * relationship. For example a "Person" schema and a "Node" schema may both want to link to what they conceive of as + * their "parent". + *

+ *

+ *

+ * The re-use of the same LinkRelation is common within the same domain, like building a Web site about movies offering + * many different APIs that share the same domain-specific language (DSL). Common, domain-specific-relationships like + * "genre" and "cast" might appear in the application-specific APIs that directly power a set of Web apps. + *

+ *

+ *

+ * Reusing a link relation has the powerful side-effect of furthering the establishment of application and + * domain-specific "keywords" that may be shared by countless schema. The benefit of this uniformity will be felt most + * directly by the programmers tasked with system integrations. + *

+ * + * @see Richardson Maturity Model (article by + * Martin Fowler) + * @see IANA Link Relations Registry + */ +@Title("Link Relation") +@WRML(keySlotNames = {"uniqueName"}, comparableSlotNames = {"title", "uniqueName"}) +public interface LinkRelation extends Titled, Versioned, Described, UniquelyNamed, Document +{ + + /** + * The {@link Method} to invoke on the HREF associated with this + * LinkRelation. + * + * @return the Method used to "click through" this LinkRelation. + */ + @DefaultValue("Get") + Method getMethod(); + + /** + * The schema id that identifies the type of models that are allowed as + * (request body) arguments in {@link Link}s referencing this link relation. + * + * @return The schema id that identifies the type of models that can + * typically be passed (as "function" arguments) when navigating + * with this link relation. + */ + URI getRequestSchemaUri(); + + /** + * The schema id that identifies the type of models that are allowed as + * (response body) "return values" from {@link Link}s referencing this link + * relation. + * + * @return The schema id that identifies the type of models that can + * be returned (as "function" return types) when + * navigating with this link relation. + */ + URI getResponseSchemaUri(); + + /** + * Sets the {@link Method} slot, which is described in {@link LinkRelation#getMethod()} + * + * @param method the {@link Method} to associate with this LinkRelation. + * @return the {@link Method} that used to be associated, before the caller + * called. + */ + Method setMethod(Method method); + + /** + * @see #getRequestSchemaUri() + */ + URI setRequestSchemaUri(URI requestSchemaUri); + + /** + * @see #getResponseSchemaUri() + */ + URI setResponseSchemaUri(URI responseSchemaUri); +} diff --git a/core/src/main/java/org/wrml/model/rest/LinkTemplate.java b/core/src/main/java/org/wrml/model/rest/LinkTemplate.java new file mode 100644 index 0000000..62c58a7 --- /dev/null +++ b/core/src/main/java/org/wrml/model/rest/LinkTemplate.java @@ -0,0 +1,159 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.rest; + +import org.wrml.model.Model; +import org.wrml.model.schema.LinkValue; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.rest.UriTemplate; + +import java.net.URI; +import java.util.UUID; + +/** + *

+ * A {@link LinkTemplate} exists within a specific {@link Api}'s design metadata. An {@link Api}'s + * {@link ResourceTemplate}s are the nodes in a web-like graph and the {@link LinkTemplate}s hold the API's hyperlinked + * resource graph together. + *

+ *

+ *

+ * A {@link LinkTemplate} captures the metadata associated with the design-time linking of two {@link ResourceTemplate} + * s. Visually, two {@link ResourceTemplate}s, /R and /E, are the two ends of the + * {@link LinkTemplate}'s ASCII arrow representation /R ----> /E, where /R is the referrer and + * /E is the end-point ("pointy-end" of the link). + *

+ *

+ *

+ * As a webbed graph, each resource node has links pointing to it (with its Document.id in a link's href) and also may + * be capable of generating representational {@link Document}s which may contain references, using {@link Link}s to + * other nodes. From a {@link LinkTemplate}'s point of view, it is connecting a referrer to its end point. + *

+ *

+ *

+ * Conceptually, a "link" starts from a resource because it is embedded in some specific document model that is + * associated/connected with that resource. This connection is often because the link's associated document model is a + * representation of the resource's state. This starting model is the link's referrer. + *

+ *

+ *

+ * A link ends with its pointy-end pointing to the end point. This end point is the resource that the referrer resource + * was referencing with its link. + *

+ * + * @see Api + * @see ResourceTemplate + * @see UriTemplate + * @see URI + * @see Link + * @see LinkRelation + * @see org.wrml.runtime.schema.LinkSlot + * @see LinkValue + * @see Schema + * @see Document + * @see http://en.wikipedia.org/wiki/HATEOAS + */ +public interface LinkTemplate extends Model +{ + + /** + * If this {@link LinkTemplate} describes /R ----> /E, then this method returns /E's + * id. + * + * @return {@link ResourceTemplate} /E's id + */ + UUID getEndPointId(); + + /** + * Get the URI associated with the {@link LinkRelation}, which describes the + * relationship between our two {@link ResourceTemplate}s. + * + * @return the URI of the LinkRelation. + */ + URI getLinkRelationUri(); + + /** + * If this {@link LinkTemplate} describes /R ----> /E, then this method returns /R's + * id. + * + * @return {@link ResourceTemplate} /R's id + */ + UUID getReferrerId(); + + /** + * An optional {@link URI} that identifies the {@link Schema} that may be passed in a request + * associated with this {@link LinkTemplate}. If no values is specified, the + * {@link LinkRelation#getRequestSchemaUri()} value is assumed to apply to this {@link LinkTemplate}. + * + * @see LinkRelation#getResponseSchemaUri() + */ + URI getRequestSchemaUri(); + + /** + * An optional {@link URI} that identifies the {@link Schema} that may be found in a response + * associated with this {@link LinkTemplate}. If no value is specified, the + * {@link LinkRelation#getResponseSchemaUri()} value is assumed to apply to this {@link LinkTemplate}. + * + * @see LinkRelation#getResponseSchemaUri() + */ + URI getResponseSchemaUri(); + + /** + * If this {@link LinkTemplate} describes /R ----> /E, then this method sets /E's + * id. + * + * @param endPointId The id of our end point {@link ResourceTemplate}, /E. + * @return /E's previous id + */ + UUID setEndPointId(UUID endPointId); + + /** + * Set the id associated with the {@link LinkRelation}, which describes the + * relationship between our two {@link ResourceTemplate}s. + * + * @return The uri of the {@link LinkRelation}. + */ + URI setLinkRelationUri(URI linkRelationUri); + + /** + * If this {@link LinkTemplate} describes /R ----> /E, then this method sets /R's + * id. + * + * @param referrerId The id of our referrer (or starting point) {@link ResourceTemplate}, /R. + * @return /R's previous id + */ + UUID setReferrerId(UUID referrerId); + + /** + * @see #getRequestSchemaUri() + */ + URI setRequestSchemaUri(URI requestSchemaUri); + + /** + * @see #getResponseSchemaUri() + */ + URI setResponseSchemaUri(URI responseSchemaUri); + +} diff --git a/core/src/main/java/org/wrml/model/rest/Method.java b/core/src/main/java/org/wrml/model/rest/Method.java new file mode 100644 index 0000000..92c0cae --- /dev/null +++ b/core/src/main/java/org/wrml/model/rest/Method.java @@ -0,0 +1,122 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.rest; + +import java.util.HashMap; +import java.util.Map; + +/** + * See HTTP's method. + * + * @see HTTP/1.1 Request Method + */ +public enum Method +{ + + Get("GET", true, true, false, true), + Metadata("HEAD", true, true, false, false), + Options("OPTIONS", true, true, false, true), + Save("PUT", false, true, true, true), + Invoke("POST", false, false, true, true), + Delete("DELETE", false, true, false, false); + + private static final Map PROTOCOL_GIVEN_NAME_MAP = new HashMap<>(); + + static + { + final Method[] methods = Method.values(); + for (final Method method : methods) + { + PROTOCOL_GIVEN_NAME_MAP.put(method.getProtocolGivenName(), method); + } + } + + public static Method fromProtocolGivenName(final String protocolGivenName) + { + + if (!PROTOCOL_GIVEN_NAME_MAP.containsKey(protocolGivenName)) + { + throw new IllegalArgumentException("\"" + protocolGivenName + + "\" is not a valid (HTTP/1.1) protocol method name."); + } + + return PROTOCOL_GIVEN_NAME_MAP.get(protocolGivenName.toUpperCase()); + } + + /** + *

+ * Is an entity (e.g. Model) allowed to be sent along in a request message using this {@link Method}. + *

+ */ + private final boolean _EntityAllowedInRequestMessage; + + /** + *

+ * Is an entity (e.g. Model) allowed to be return in response to a request message that use this {@link Method}. + *

+ */ + private final boolean _EntityAllowedInResponseMessage; + + private final boolean _Idempotent; + + private final String _ProtocolGivenName; + + private final boolean _Safe; + + private Method(final String protocolGivenName, final boolean safe, final boolean idempotent, + final boolean entityAllowedInRequestMessage, final boolean entityAllowedInResponseMessage) + { + _ProtocolGivenName = protocolGivenName; + _Safe = safe; + _Idempotent = idempotent; + _EntityAllowedInRequestMessage = entityAllowedInRequestMessage; + _EntityAllowedInResponseMessage = entityAllowedInResponseMessage; + } + + public String getProtocolGivenName() + { + return _ProtocolGivenName; + } + + public boolean isEntityAllowedInRequestMessage() + { + return _EntityAllowedInRequestMessage; + } + + public boolean isEntityAllowedInResponseMessage() + { + return _EntityAllowedInResponseMessage; + } + + public boolean isIdempotent() + { + return _Idempotent; + } + + public boolean isSafe() + { + return _Safe; + } +} diff --git a/core/src/main/java/org/wrml/model/rest/ResourceOptions.java b/core/src/main/java/org/wrml/model/rest/ResourceOptions.java new file mode 100644 index 0000000..1dd4262 --- /dev/null +++ b/core/src/main/java/org/wrml/model/rest/ResourceOptions.java @@ -0,0 +1,79 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.rest; + +import org.wrml.model.Described; +import org.wrml.model.Model; +import org.wrml.runtime.rest.CommonHeader; +import org.wrml.runtime.rest.Status; +import org.wrml.runtime.rest.UriTemplate; + +import java.util.List; + +/** + * OPTIONS model for a {@code Resource} node or {@link Api} root. + *

+ * In the context of a {@code Resource} node, the OPTIONS discoverable by consumers of the node. + *

+ * In the context of a root {@code Api}, all {@code Resource} nodes may be traversed and all child OPTIONS will be collected. + *

+ * Extends {@link Model} (as opposed to {@code Document}) since an OPTIONS request should not be a uniquely identifiable location. + *

+ * + * @see RFC 2626 [w3.org] + * @see HTTP OPTIONS Hypermedia Constraint white paper [ws-rest.org] + * @see HTTP OPTIONS method, self-describing RESTful APIs [zacstewart.com] + */ +public interface ResourceOptions extends Model, Described +{ + + /** + * @param status + * - a RESTful {@link Status}. + */ + void setStatus(Status status); + + /** @return- the RESTful {@link Status}. */ + Status getStatus(); + + /** + * @param allow + * - the {@link List} of {@link CommonHeader#ALLOW ALLOW}-able {@link Method}s + */ + void setAllow(List allow); + + /** @return {@link CommonHeader#ALLOW ALLOW}-able {@link Method}s. */ + List getAllow(); + + // TODO: change to return a header with content-type and other info? TBD. + void setContentType(String contentType); + + String getContentType(); + + void setUriTemplate(UriTemplate uriTemplate); + + UriTemplate getUriTemplate(); + +} diff --git a/core/src/main/java/org/wrml/model/rest/ResourceTemplate.java b/core/src/main/java/org/wrml/model/rest/ResourceTemplate.java new file mode 100644 index 0000000..9fac423 --- /dev/null +++ b/core/src/main/java/org/wrml/model/rest/ResourceTemplate.java @@ -0,0 +1,123 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.rest; + +import org.wrml.model.Described; +import org.wrml.model.Model; +import org.wrml.model.UniquelyIdentified; +import org.wrml.model.Versioned; +import org.wrml.runtime.rest.UriTemplate; + +import java.net.URI; +import java.util.List; + +/** + *

+ * A WRML-based REST API, as expressed via {@link Api}, is a tree of resource templates. Thus a {@link ResourceTemplate} + * is a single "node" in a REST API's path-based resource hierarchy. + *

+ *

+ *

+ * A resource template tree can be visually represented in a UI as a "tree view" of (possibly templated) URI path + * segments. Like this: + *

+ *

+ *

+ *

+ *

+ *
+ *  /A
+ *   |
+ *   |
+ *   +---- /{B}
+ *           |
+ *           |
+ *           +---- /C
+ *                  |
+ *                  |
+ *                  +---- /{D}
+ *
+ * 
+ *

+ *

+ *

+ *

+ * Which maps one-to-one with this "flatter" one-line representation: + *

+ *

+ *

+ *

+ *

+ * /A/{B}/C/{D}
+ * 
+ *

+ *

+ *

+ *

+ * Which starts to look a lot like a four segment long templated URI path. + *

+ *

+ *

+ * The {@link ResourceTemplate} class models this path hierarchy by having each {@link ResourceTemplate} contribute its + * own path segment value. The value of the segment may be templated with the popular UriTemplate syntax for '{' variable '}' substitution. It is the + * possibility of "templated" URI path segments applies to this class's path segment, which is where the "template" part + * of its name comes from. + *

+ * + * @see URI + * @see UriTemplate + * @see UniquelyIdentified + */ +public interface ResourceTemplate extends UniquelyIdentified, Versioned, Described, Model +{ + + /** + *

+ * The resource templates that are hierarchically beneath this resource template; this resource template's + * "subresource templates". + *

+ * + * @return The subresource templates. + */ + List getChildren(); + + URI getDefaultSchemaUri(); + + /** + *

+ * The segment (i.e. part/portion) of the {@link URI}/{@link UriTemplate} path associated with this + * {@link ResourceTemplate}. The segment of /A is "A". The segment of /{B} is "{B}". + *

+ */ + String getPathSegment(); + + URI setDefaultSchemaUri(URI defaultSchemaUri); + + /** + * @see #getPathSegment() + */ + String setPathSegment(String pathSegment); +} diff --git a/core/src/main/java/org/wrml/model/schema/BooleanValue.java b/core/src/main/java/org/wrml/model/schema/BooleanValue.java new file mode 100644 index 0000000..da8d4ab --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/BooleanValue.java @@ -0,0 +1,46 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.model.MaybeReadOnly; +import org.wrml.model.MaybeRequired; + +/** + * The WRML representation of the boolean (or {@link Boolean}) primitive type. + */ +public interface BooleanValue extends MaybeReadOnly, MaybeRequired, Primitive, Inextensible, Value +{ + + /** + *

+ * The optional default associated with this value. + *

+ * + * @see org.wrml.runtime.schema.DefaultValue + */ + Boolean getDefault(); + + Boolean setDefault(Boolean defaultValue); +} diff --git a/core/src/main/java/org/wrml/model/schema/Choices.java b/core/src/main/java/org/wrml/model/schema/Choices.java new file mode 100644 index 0000000..001ddfd --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/Choices.java @@ -0,0 +1,48 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.model.Described; +import org.wrml.model.UniquelyNamed; +import org.wrml.model.Versioned; +import org.wrml.model.rest.Document; +import org.wrml.runtime.schema.WRML; + +import java.util.List; + +/** + * A menu of constant text-based choices. From a pure model perspective, a {@link Choices} is conceptually akin to an + * enum's possible values. + */ +@WRML(keySlotNames = {"uniqueName"}) +public interface Choices extends Described, Versioned, UniquelyNamed, Document +{ + + /** + * The list of {@link String} values/options associated with this {@link Choices}. + */ + List getList(); + +} diff --git a/core/src/main/java/org/wrml/model/schema/CollectionValue.java b/core/src/main/java/org/wrml/model/schema/CollectionValue.java new file mode 100644 index 0000000..7b6d413 --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/CollectionValue.java @@ -0,0 +1,102 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + + +import java.net.URI; +import java.util.List; + +/** + *

+ * A specialized {@link ListValue} that is "dynamically" filled with elements that result from a search. + * The search is executed upon request a {@link org.wrml.model.Model} instance associated with the {@link Schema} that + * contains a {@link Slot} with a {@link CollectionValue}. + *

+ *

+ * The search criteria is modeled using {@link CollectionValueSearchCriterion} placed the and ({@link #getAnd()}) + * and/or the or ({@link #getOr()}) slots. + *

+ * + * @see CollectionValueSearchCriterion + * @see org.wrml.runtime.schema.CollectionSlot + * @see org.wrml.runtime.schema.CollectionSlotCriterion + * @see org.wrml.runtime.search.SearchCriteria + * @see org.wrml.runtime.service.Service#search(org.wrml.runtime.search.SearchCriteria) + */ +public interface CollectionValue extends Primitive, Inextensible, ListValue +{ + + /** + *

+ * The {@link java.net.URI} id of the {@link org.wrml.model.rest.LinkRelation} associated with this {@link CollectionValue}. + *

+ * + * @see org.wrml.model.rest.LinkRelation#getUri() + * @see org.wrml.model.rest.Document + * @see org.wrml.model.rest.Link + * @see org.wrml.model.rest.LinkTemplate + */ + URI getLinkRelationUri(); + + /** + *

+ * The optional limit to set on the number of elements that may be contained within this {@link CollectionValue}. + *

+ *

+ * The default value is null to indicate that there is no limit. + *

+ */ + Integer getLimit(); + + /** + *

+ * The optional list of {@link CollectionValueSearchCriterion} that is logically "ANDed" together to qualify/filter the contents of this {@link CollectionValue}. + *

+ * + * @return The optional list of {@link CollectionValueSearchCriterion} that is logically "ANDed" together to qualify/filter the contents of this {@link CollectionValue}. + */ + List getAnd(); + + /** + *

+ * The optional list of {@link org.wrml.runtime.schema.CollectionSlotCriterion} that is logically "ORed" together to qualify/filter the contents of this {@link CollectionValue}. + *

+ * + * @return The optional list of {@link org.wrml.runtime.schema.CollectionSlotCriterion} that is logically "ORed" together to qualify/filter the contents of this {@link CollectionValue}. + */ + List getOr(); + + /** + * @see #getLinkRelationUri() + */ + URI setLinkRelationUri(URI linkRelationUri); + + /** + * @see #getLimit() + */ + Integer setLimit(Integer limit); + +} diff --git a/core/src/main/java/org/wrml/model/schema/CollectionValueSearchCriterion.java b/core/src/main/java/org/wrml/model/schema/CollectionValueSearchCriterion.java new file mode 100644 index 0000000..ab0ed94 --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/CollectionValueSearchCriterion.java @@ -0,0 +1,144 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.model.Model; +import org.wrml.runtime.schema.DefaultValue; + +/** + *

+ * A {@link CollectionValueSearchCriterion} may be used to filter/select the elements of a {@link CollectionValue}. + * This model provides the metadata needed to describe part of a query that is automatically executed by the runtime whenever + * an instance of the {@link CollectionValue}'s owning model, known as the referrer, is returned from one + * of the runtime's core methods (e.g. {@link org.wrml.runtime.Context#getModel(org.wrml.runtime.Keys, org.wrml.runtime.Dimensions)}. + *

+ * + * @see CollectionValue + * @see org.wrml.runtime.schema.CollectionSlot + * @see org.wrml.runtime.schema.CollectionSlotCriterion + * @see org.wrml.runtime.service.Service#search(org.wrml.runtime.search.SearchCriteria) + */ +public interface CollectionValueSearchCriterion extends Model +{ + + /** + *

+ * The name of a slot within the "collected" (contained) {@link org.wrml.model.schema.Schema} that this {@link CollectionValueSearchCriterion} is relating to. + *

+ *

+ * In binary comparison operations (e.g. {@link ComparisonOperator#lessThan}, the {@link #getReferenceSlot()} is the "left hand side". For example: + *

+ *

+ *

+     *          {referenceSlot} < {valueSource}
+     * 
+ *

+ *

+ * Note that this value may optionally contain one or more "." characters separating subordinate slot names in order to base this {@link CollectionValueSearchCriterion} on a nested value. + *

+ * + * @return The name of a slot within the "collected" (contained) {@link org.wrml.model.schema.Schema} that this {@link CollectionValueSearchCriterion} is relating to. + */ + String getReferenceSlot(); + + /** + *

+ * The source of the value that will be used to "fill in" the reference slot when evaluating this {@link CollectionValueSearchCriterion} + * to search for matching models to populate the {@link org.wrml.runtime.schema.CollectionSlot}. + *

+ *

+ * In binary comparison operations (e.g. {@link ComparisonOperator#greaterThanOrEqualTo}, the {@link #getReferenceSlot()} is the "right hand side". + *

+ *

+ *

+     *          {referenceSlot} >= {valueSource}
+     * 
+ *

+ * + * @return The source of the value that will be used to "fill in" the reference slot when searching. + */ + String getValueSource(); + + /** + * The source type for the binding value. + * + * @return The source type for the binding value. + */ + @DefaultValue("ReferrerSlot") + ValueSourceType getValueSourceType(); + + /** + *

+ * The {@link ComparisonOperator} to be used when comparing the {@link #getReferenceSlot()} value to the value retrieved from the {@link #getValueSource()}. + *

+ *

+ * The default value is {@link ComparisonOperator#equalTo} (value equality comparison). + *

+ * + * @return The {@link ComparisonOperator} to be used when comparing the {@link #getReferenceSlot()} value to the value retrieved from the {@link #getValueSource()}. + */ + @DefaultValue("equalTo") + ComparisonOperator getOperator(); + + /** + *

+ * The regular expression pattern value to be used in conjunction with the {@link ComparisonOperator#regex} comparison operator. + *

+ *

+ * The default value is an empty {@link String} indicating no pattern. + *

+ * + * @return The regular expression pattern value to be used in conjunction with the {@link ComparisonOperator#regex} comparison operator. + */ + String getRegex(); + + /** + * @see #getReferenceSlot() + */ + String setReferenceSlot(String referenceSlot); + + /** + * @see #getValueSource() + */ + String setValueSource(String valueSource); + + /** + * @see #getValueSourceType() + */ + ValueSourceType setValueSourceType(ValueSourceType valueSourceType); + + /** + * @see #getOperator() + */ + ComparisonOperator setOperator(ComparisonOperator operator); + + /** + * @see #getRegex() + */ + String setRegex(String regexPattern); + + +} diff --git a/core/src/main/java/org/wrml/model/schema/ComparisonOperator.java b/core/src/main/java/org/wrml/model/schema/ComparisonOperator.java new file mode 100644 index 0000000..9960d4d --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/ComparisonOperator.java @@ -0,0 +1,171 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +/** + * The types of comparison operations that are supported when filtering/querying models to dynamically fill a {@link org.wrml.runtime.schema.CollectionSlot}. + * + * @see org.wrml.runtime.schema.CollectionSlotCriterion + */ +public enum ComparisonOperator +{ + /** + *

+ * The equals operator, for equality (exact match) comparisons. + *

+ *

+ * Match values that are equal to the value specified in the criteria. + *

+ */ + equalTo, + + /** + *

+ * The "not equals" operator, for non-equality (not exact match) comparisons. + *

+ *

+ * Match values that are not equal to the value specified in the criteria. + *

+ */ + notEqualTo, + + /** + *

+ * The "equal to any" operator (aka "in"), for equality comparisons against a list of allowable values. + *

+ *

+ * Match any of the values that exist in the list specified in the criteria. + *

+ */ + equalToAny, + + /** + *

+ * The "not equal to any" operator (aka "not in" or "nin"), for comparisons against a list of "disallowed" values. + *

+ *

+ * Match values that do not exist in the list specified to the criteria. + *

+ */ + notEqualToAny, + + /** + *

+ * The "greater than" operator, for comparisons where the {@link org.wrml.runtime.schema.CollectionSlotCriterion#referenceSlot()} is + * greater than (numerically or Date-wise) the value provided by the {@link org.wrml.runtime.schema.CollectionSlotCriterion#valueSource()}. + *

+ *

+ * Match values that are greater than the value specified in the criteria. + *

+ */ + greaterThan, + + /** + *

+ * The "greater than or equal to" operator, for comparisons where the {@link org.wrml.runtime.schema.CollectionSlotCriterion#referenceSlot()} is + * greater than or equal to (numerically or Date-wise) the value provided by the {@link org.wrml.runtime.schema.CollectionSlotCriterion#valueSource()}. + *

+ *

+ * Match values that are greater than or equal to the value specified in the criteria. + *

+ */ + greaterThanOrEqualTo, + + /** + *

+ * The "less than" operator, for comparisons where the {@link org.wrml.runtime.schema.CollectionSlotCriterion#referenceSlot()} is + * less than (numerically or Date-wise) the value provided by the {@link org.wrml.runtime.schema.CollectionSlotCriterion#valueSource()}. + *

+ *

+ * Match values that are less than the value specified in the criteria. + *

+ */ + lessThan, + + /** + *

+ * The "less than or equal to" operator, for comparisons where the {@link org.wrml.runtime.schema.CollectionSlotCriterion#referenceSlot()} is + * less than or equal to (numerically or Date-wise) the value provided by the {@link org.wrml.runtime.schema.CollectionSlotCriterion#valueSource()}. + *

+ *

+ * Match values that are less than or equal to the value specified in the criteria. + *

+ */ + lessThanOrEqualTo, + + /** + *

+ * The "exists" comparison is a unary operator that checks for the existence of any (non-null) + * value in the {@link org.wrml.runtime.schema.CollectionSlotCriterion#referenceSlot()} without consideration of the {@link org.wrml.runtime.schema.CollectionSlotCriterion#valueSource()}. + *

+ *

+ * Match values that exist with a non-null value. + *

+ *

+ * NOTE: When using this operator, no value source is specified in the criteria. + *

+ */ + exists, + + /** + *

+ * The "not exists" comparison is a unary operator that checks for the absence of a value (null) + * in the {@link org.wrml.runtime.schema.CollectionSlotCriterion#referenceSlot()} without consideration of the {@link org.wrml.runtime.schema.CollectionSlotCriterion#valueSource()}. + *

+ *

+ * Match values that do not exist or have a null value. + *

+ *

+ * NOTE: When using this operator, no value source is specified in the criteria. + *

+ */ + notExists, + + /** + *

+ * The "contains all" operator compares the list of values in the {@link org.wrml.runtime.schema.CollectionSlotCriterion#referenceSlot()} against the list of + * values provided by the {@link org.wrml.runtime.schema.CollectionSlotCriterion#valueSource()}. + *

+ *

+ * Match lists that contain all elements specified in the criteria. + *

+ */ + containsAll, + + /** + *

+ * The "regex" operator uses the regular expression pattern specified by {@link org.wrml.runtime.schema.CollectionSlotCriterion#regex()} + * to find matching values within the {@link org.wrml.runtime.schema.CollectionSlotCriterion#referenceSlot()}. + *

+ *

+ * Match values that match a regular expression (specified in the criteria). + *

+ *

+ * TODO: Document how the valueSource's value can be dynamically substituted within the regex pattern. + *

+ */ + regex; + +} diff --git a/core/src/main/java/org/wrml/model/schema/DateValue.java b/core/src/main/java/org/wrml/model/schema/DateValue.java new file mode 100644 index 0000000..3b8286d --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/DateValue.java @@ -0,0 +1,49 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import java.util.Date; + +import org.wrml.model.MaybeReadOnly; +import org.wrml.model.MaybeRequired; + +/** + * The WRML representation of the {@link Date} primitive type. + */ +public interface DateValue extends MaybeReadOnly, MaybeRequired, Primitive, Inextensible, Value +{ + + /** + *

+ * The optional default associated with this value. + *

+ * + * @see org.wrml.runtime.schema.DefaultValue + */ + Date getDefault(); + + Date setDefault(Date defaultValue); + +} diff --git a/core/src/main/java/org/wrml/model/schema/DoubleValue.java b/core/src/main/java/org/wrml/model/schema/DoubleValue.java new file mode 100644 index 0000000..dd0f764 --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/DoubleValue.java @@ -0,0 +1,56 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.runtime.schema.DefaultValue; +import java.util.List; + +/** + * The WRML representation of the double (or {@link Double}) primitive type. + */ +public interface DoubleValue extends Inextensible, NumericValue +{ + + /** + *

+ * The optional default associated with this value. + *

+ * + * @see DefaultValue + */ + Double getDefault(); + + List getDisallowedValues(); + + Double getMaximum(); + + Double getMinimum(); + + Double setDefault(Double defaultValue); + + Double setMaximum(Double maximum); + + Double setMinimum(Double minimum); +} diff --git a/core/src/main/java/org/wrml/model/schema/Inextensible.java b/core/src/main/java/org/wrml/model/schema/Inextensible.java new file mode 100644 index 0000000..5de4600 --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/Inextensible.java @@ -0,0 +1,41 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.model.Abstract; + +/** + *

+ * An {@link Inextensible} finalizes its schema so that it cannot be extended. An {@link Inextensible} may + * not act as a base {@link Schema}. + *

+ * + * @see Schema#getBaseSchemaUris() + * @see Final classes + */ +public interface Inextensible extends Abstract +{ + +} diff --git a/core/src/main/java/org/wrml/model/schema/IntegerValue.java b/core/src/main/java/org/wrml/model/schema/IntegerValue.java new file mode 100644 index 0000000..25f2233 --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/IntegerValue.java @@ -0,0 +1,60 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.runtime.schema.DefaultValue; +import java.util.List; + +/** + * The WRML representation of the int (or {@link Integer}) primitive type. + */ +public interface IntegerValue extends Inextensible, NumericValue +{ + /** + *

+ * The optional default associated with this value. + *

+ * + * @see DefaultValue + */ + Integer getDefault(); + + List getDisallowedValues(); + + @DefaultValue("1") + Integer getDivisibleBy(); + + Integer getMaximum(); + + Integer getMinimum(); + + Integer setDefault(Integer defaultValue); + + Integer setDivisibleBy(Integer divisibleBy); + + Integer setMaximum(Integer maximum); + + Integer setMinimum(Integer minimum); +} diff --git a/core/src/main/java/org/wrml/model/schema/LinkValue.java b/core/src/main/java/org/wrml/model/schema/LinkValue.java new file mode 100644 index 0000000..89941a9 --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/LinkValue.java @@ -0,0 +1,143 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.model.rest.*; +import org.wrml.model.rest.Method; + +import java.net.URI; +import java.util.List; + +/** + *

+ * A {@link LinkValue} provides the schematics for a {@link Schema}'s {@link Link} {@link Slot} value. + *

+ * + * @see Link + * @see LinkRelation + * @see Schema + * @see Slot + * @see Api + * @see Document + * @see org.wrml.runtime.schema.LinkSlot + */ +public interface LinkValue extends Primitive, Inextensible, Value +{ + + /** + *

+ * The {@link URI} id of the {@link LinkRelation} associated with this {@link LinkValue}. + *

+ * + * @see LinkRelation#getUri() + * @see Document + * @see Link + * @see LinkTemplate + */ + URI getLinkRelationUri(); + + /** + *

+ * An optional {@link URI} that identifies the {@link Schema} of models that are permitted as a (request + * body) argument when "interacting" with the {@link Link} stored in this value. + *

+ *

+ *

+ * NOTE: The {@link Schema} id indicated here takes precedence over the {@link Schema} id returned from a call to + * this {@link LinkValue}'s associated {@link LinkRelation#getRequestSchemaUri()}. + *

+ * + * @see Schema#getUri() + * @see LinkRelation#getRequestSchemaUri() + * @see LinkTemplate#getRequestSchemaUri() + */ + URI getRequestSchemaUri(); + + /** + *

+ * An optional {@link URI} that identifies the {@link Schema} of models that may be found in a + * response associated with interactions that use {@link Link}s held in this {@link LinkValue}. + *

+ *

+ *

+ * NOTE: The {@link Schema} id indicated here takes precedence over the {@link Schema} id returned from a call to + * this {@link LinkValue}'s associated {@link LinkRelation#getResponseSchemaUri()}. + *

+ * + * @see Schema#getUri() + * @see LinkRelation#getResponseSchemaUri() + * @see LinkTemplate#getResponseSchemaUri() + */ + URI getResponseSchemaUri(); + + /** + *

+ * Schematically, embedded link values are used to represent an embedded Document relationship. + *

+ *

+ *

+ * The runtime attempts to get the linked Document when getting the Document with an embedded link. If successful, + * the embedded Document model is placed in the {@link Link#getDoc()} slot. On failure, either a (non-Document) + * Model representing an error or null will be placed in this {@link Link} slot. + *

+ *

+ *

+ * NOTE: Embedded links are only supported for {@link LinkRelation}'s utilizing {@link Method#Get} + *

+ */ + boolean isEmbedded(); + + /** + * The optional list of {@link LinkValueBinding}s that convey how this {@link LinkValue}'s instance {@link Link}s will + * form their "href" values. + * + * @return The optional list of {@link LinkValueBinding}s that convey how this {@link LinkValue}'s instance {@link Link}s will + * form their "href" values. + * @see org.wrml.model.rest.Link#getHref() + */ + List getBindings(); + + /** + * @see #getLinkRelationUri() + */ + URI setLinkRelationUri(URI linkRelationUri); + + /** + * @see #getRequestSchemaUri() + */ + URI setRequestSchemaUri(URI requestSchemaUri); + + /** + * @see #getResponseSchemaUri() + */ + URI setResponseSchemaUri(URI responseSchemaUri); + + /** + * @see #isEmbedded() + */ + boolean setEmbedded(boolean isEmbedded); + + +} diff --git a/core/src/main/java/org/wrml/model/schema/LinkValueBinding.java b/core/src/main/java/org/wrml/model/schema/LinkValueBinding.java new file mode 100644 index 0000000..672bbbd --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/LinkValueBinding.java @@ -0,0 +1,87 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.model.Model; +import org.wrml.runtime.schema.DefaultValue; + +/** + *

+ * One or more instances of this model may optionally be added to a {@link LinkValue} to establish the binding between + * the link's referrer and its referenced endpoint (both are typically {@link org.wrml.model.rest.Document}s). + *

+ *

+ * The reference slot is expected to be a {@link org.wrml.runtime.schema.Key} slot that is used as a {@link org.wrml.runtime.rest.UriTemplate} parameter when linking. + * Note that a {@link LinkValueBinding} is not necessary in cases where the referenced document slot's name is the same name as the referrer's slot that holds the link "binding" value. + * This same slot name case is considered a natural link binding and is enabled by default. + *

+ */ +public interface LinkValueBinding extends Model +{ + + /** + *

+ * The slot, within the link's referenced document, that is bound by this {@link LinkValueBinding}. + *

+ *

+ * Note that the reference slot is expected to be a {@link org.wrml.runtime.schema.Key} slot that is used as a {@link org.wrml.runtime.rest.UriTemplate} parameter when linking. + *

+ * + * @return The slot, within the link's referenced document, that is bound by this {@link LinkValueBinding}. + */ + String getReferenceSlot(); + + /** + * The source of the value that will be used to "fill in" the reference slot upon linking. + * + * @return The source of the value that will be used to "fill in" the reference slot upon linking. + */ + String getValueSource(); + + /** + * The source type for the binding value. + * + * @return The source type for the binding value. + */ + @DefaultValue("ReferrerSlot") + ValueSourceType getValueSourceType(); + + /** + * @see #getReferenceSlot() + */ + String setReferenceSlot(String referenceSlot); + + /** + * @see #getValueSource() + */ + String setValueSource(String valueSource); + + /** + * @see #getValueSourceType() + */ + ValueSourceType setValueSourceType(ValueSourceType valueSourceType); + +} diff --git a/core/src/main/java/org/wrml/model/schema/ListValue.java b/core/src/main/java/org/wrml/model/schema/ListValue.java new file mode 100644 index 0000000..e61427a --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/ListValue.java @@ -0,0 +1,120 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.model.Model; + +import java.util.List; + +/** + *

+ * A {@link ListValue} is a linear ordering of {@link Value}s. + *

+ * + * @see Model + * @see Schema + * @see Slot + * @see List + * @see JSON array + */ +public interface ListValue extends Primitive, Value +{ + + /** + * The WRML constant name for a ListValue's elementUniquenessConstrained slot. + */ + public static final String SLOT_NAME_ELEMENT_UNIQUENESS_CONSTRAINED = "elementUniquenessConstrained"; + /** + * The WRML constant name for a ListValue's maximumSize slot. + */ + public static final String SLOT_NAME_MAXIMUM_SIZE = "maximumSize"; + /** + * The WRML constant name for a ListValue's minimumSize slot. + */ + public static final String SLOT_NAME_MINIMUM_SIZE = "minimumSize"; + + /** + *

+ * The {@link Slot} that represents each of the {@link ListValue}'s elements. + *

+ *

+ *

+ * Design Note: Supporting "generic" Schemas + *

+ * Make this an optional {@link Slot} value that may be used to constrain the {@link ListValue}'s element {@link Value} + * type. The name component of the name=value {@link Slot} is used to identify the parameterized + * {@link Value} variable (e.g. "E" as in List) associated with a {@link Slot} with an "unbound" value (meaning + * that {@link Slot#getValue()} returns null). For {@link ListValue}s with a known/restricted element + * {@link Value} type, the {@link Slot}'s name can be left null. + *

+ */ + Slot getElementSlot(); + + /** + * The maximum number of elements that are allowed in the {@link ListValue}. + * + * @return The maximum number of elements that are allowed in the {@link ListValue}. + */ + Integer getMaximumSize(); + + /** + * The minimum number of elements that are allowed in the {@link ListValue}. + * + * @return The minimum number of elements that are allowed in the {@link ListValue}. + */ + Integer getMinimumSize(); + + /** + * The flag that determines if this {@link ListValue} allows duplicate entries. + *

+ * Design Note: Supporting Set Values + *

+ * This flag is currently ignored. Consider supporting a Set ({@link java.util.Set} value type instead. + *

+ * + * @return The flag that determines if this {@link ListValue} allows duplicate entries. + */ + Boolean isElementUniquenessConstrained(); + + /** + * @see #getElementSlot() + */ + Slot setElementSlot(final Slot slot); + + /** + * @see #isElementUniquenessConstrained() + */ + Boolean setElementUniquenessConstrained(final boolean isElementUniquenessConstrained); + + /** + * @see #getMaximumSize() + */ + Integer setMaximumSize(final Integer maxSize); + + /** + * @see #getMinimumSize() + */ + Integer setMinimumSize(final Integer minSize); +} diff --git a/core/src/main/java/org/wrml/model/schema/LongValue.java b/core/src/main/java/org/wrml/model/schema/LongValue.java new file mode 100644 index 0000000..3927436 --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/LongValue.java @@ -0,0 +1,61 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.runtime.schema.DefaultValue; +import java.util.List; + +/** + * The WRML representation of the long (or {@link Long}) primitive type. + */ +public interface LongValue extends Inextensible, NumericValue +{ + + /** + *

+ * The optional default associated with this value. + *

+ * + * @see DefaultValue + */ + Long getDefault(); + + List getDisallowedValues(); + + @DefaultValue("1") + Long getDivisibleBy(); + + Long getMaximum(); + + Long getMinimum(); + + Long setDefault(Long defaultValue); + + Long setDivisibleBy(Long divisibleBy); + + Long setMaximum(Long maximum); + + Long setMinimum(Long minimum); +} diff --git a/core/src/main/java/org/wrml/model/schema/ModelValue.java b/core/src/main/java/org/wrml/model/schema/ModelValue.java new file mode 100644 index 0000000..a4a6b4f --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/ModelValue.java @@ -0,0 +1,62 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import java.net.URI; + +import org.wrml.model.MaybeReadOnly; +import org.wrml.model.MaybeRequired; +import org.wrml.model.Model; + +/** + *

+ * {@link ModelValue}s enable {@link Model}s to be embedded within other {@link Model}s. + *

+ * + * @see Model + * @see Schema + * @see Slot + * @see JSON object + */ +public interface ModelValue extends MaybeReadOnly, MaybeRequired, Primitive, Inextensible, Value +{ + + /** + *

+ * The {@link URI} id of the {@link Schema} associated with this {@link ModelValue}'s {@link Model} value. The WRML + * runtime ensures that only {@link Model}s with the identified {@link Schema} are permitted as {@link Slot} values + * associated with this {@link ModelValue}. + *

+ * + * @see Schema#getUri() + * @see Model#getSchemaUri() + */ + URI getModelSchemaUri(); + + /** + * @see #getModelSchemaUri() + */ + URI setModelSchemaUri(URI modelSchemaUri); +} diff --git a/core/src/main/java/org/wrml/model/schema/MultiSelectValue.java b/core/src/main/java/org/wrml/model/schema/MultiSelectValue.java new file mode 100644 index 0000000..e8a3d94 --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/MultiSelectValue.java @@ -0,0 +1,37 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.model.MaybeReadOnly; +import org.wrml.model.MaybeRequired; + +import java.util.List; + +public interface MultiSelectValue extends MaybeReadOnly, MaybeRequired, Primitive, Inextensible, SelectValue +{ + + List getDefault(); + +} diff --git a/core/src/main/java/org/wrml/model/schema/Native.java b/core/src/main/java/org/wrml/model/schema/Native.java new file mode 100644 index 0000000..05f074f --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/Native.java @@ -0,0 +1,32 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.model.Abstract; + +public interface Native extends Abstract +{ + +} diff --git a/core/src/main/java/org/wrml/model/schema/NativeValue.java b/core/src/main/java/org/wrml/model/schema/NativeValue.java new file mode 100644 index 0000000..27ab788 --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/NativeValue.java @@ -0,0 +1,40 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.model.Abstract; + +/** + *

+ * The WRML representation of the object (or {@link Object}) primitive type. + *

+ * + *

+ * Design note: This type is not really supported by the current runtime implementation and it isn't clear how best to support schematically undefined (or undefinable?) data in WRML. + *

+ */ +public interface NativeValue extends Native, Value, Abstract +{ +} diff --git a/core/src/main/java/org/wrml/model/schema/NumericValue.java b/core/src/main/java/org/wrml/model/schema/NumericValue.java new file mode 100644 index 0000000..1a250e7 --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/NumericValue.java @@ -0,0 +1,70 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.model.Abstract; +import org.wrml.model.MaybeReadOnly; +import org.wrml.model.MaybeRequired; + +/** + * The WRML representation of the abstract number (or {@link Number}) primitive base type. + */ +public interface NumericValue extends MaybeReadOnly, MaybeRequired, Primitive, Abstract, Value +{ + + /** + * The WRML constant name for a NumericValue's divisibleBy slot. + */ + public static final String SLOT_NAME_DIVISIBLE_BY = "divisibleBy"; + + /** + * The WRML constant name for a NumericValue's exclusiveMaximum slot. + */ + public static final String SLOT_NAME_EXCLUSIVE_MAXIMUM = "exclusiveMaximum"; + + /** + * The WRML constant name for a NumericValue's exclusiveMinimum slot. + */ + public static final String SLOT_NAME_EXCLUSIVE_MINIMUM = "exclusiveMinimum"; + + /** + * The WRML constant name for a NumericValue's maximum slot. + */ + public static final String SLOT_NAME_MAXIMUM = "maximum"; + + /** + * The WRML constant name for a NumericValue's minimum slot. + */ + public static final String SLOT_NAME_MINIMUM = "minimum"; + + boolean isExclusiveMaximum(); + + boolean isExclusiveMinimum(); + + boolean setExclusiveMaximum(boolean isExclusiveMaximum); + + boolean setExclusiveMinimum(boolean isExclusiveMinimum); + +} diff --git a/core/src/main/java/org/wrml/model/schema/Primitive.java b/core/src/main/java/org/wrml/model/schema/Primitive.java new file mode 100644 index 0000000..e5ae526 --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/Primitive.java @@ -0,0 +1,35 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.model.Abstract; + +/** + * A schematic modifier that marks a construct that is so "core" that it is built right into the type system. + */ +public interface Primitive extends Abstract +{ + +} diff --git a/core/src/main/java/org/wrml/model/schema/Schema.java b/core/src/main/java/org/wrml/model/schema/Schema.java new file mode 100644 index 0000000..c1d54af --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/Schema.java @@ -0,0 +1,121 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.model.*; +import org.wrml.model.rest.Document; +import org.wrml.runtime.schema.Description; +import org.wrml.runtime.schema.WRML; + +import java.net.URI; +import java.util.List; + +/** + *

+ * Schema models describe the structure for a "class" of {@link Model}s. In this way, {@link Schema} are like Java's + * {@link Class} object instances. {@link Schema} models are also a bit like: SQL tables, XML DTDS, JSON or XML schemas, + * AVRO schemas, XLS templates, CMS content types, etc. + *

+ * + * @see ProgrammableWeb.com + * blog post + */ +@WRML(keySlotNames = {"uniqueName"}) +@Description("This is the Meta Schema. Schema models describe the structure for a \"class\" of models. Schema models are like Java Class object instances. WRML Schema models are also a bit like: SQL tables, XML DTDS, JSON or XML schemas, AVRO schemas, XLS templates, CMS content types, etc.") +public interface Schema extends Described, MaybeReadOnly, Versioned, Tagged, Titled, Thumbnailed, UniquelyNamed, Document +{ + + /** + * The WRML constant name for a Schema's keySlotNames slot. + */ + public static final String SLOT_NAME_KEY_SLOT_NAMES = "keySlotNames"; + + /** + *

+ * A list of this schema's base {@link Schema} ids (List of {@link URI}s). + *

+ *

+ *

+ * WRML supports interface style inheritance via {@link URI} reference, thus this schema indicates the schemas that + * it "inherits" from or "mixes in" to define its own models. + *

+ *

+ *

+ * WRML's schematic inheritance is recursive, meaning that base schema's are linked so that a schema virally + * inherits the base schemas of its base schemas, and their base schemas, and so on... + *

+ * + * @return An {@link List} containing the base schema documents' + * URIs. + */ + @Description("A list of this schema's base Schema ids (List of URIs). WRML supports interface style inheritance via URI reference, thus this schema indicates the schemas that it \"inherits\" from or \"mixes in\" to define its own models. WRML's schematic inheritance is recursive, meaning that base schema's are linked so that a schema inherits the base schemas of its base schemas, and their base schemas, and so on...") + List getBaseSchemaUris(); + + /** + *

+ * A list of {@link Slot} names that determine the default/natural sort order for {@link Model}s of this + * {@link Schema}. + *

+ * + * @return the {@link List} of {@link String} slot names. + */ + @Description("A list of Slot names that determine the default/natural sort order for models of this Schema.") + List getComparableSlotNames(); + + /** + *

+ * A list of {@link Slot} names that make up the key/identity. The value(s) of the named {@link Slot}s are used to + * compute a unique key for {@link Model} instances. + *

+ * + * @return the {@link List} of {@link String} slot names. + */ + @Description("A list of Slot names that make up the key/identity. The value(s) of the named Slots are used to compute a unique key for model instances.") + List getKeySlotNames(); + + /** + *

+ * A list of {@link Slot} models. Each {@link Slot} model describes a slot that may be accessed in {@link Model}s + * representing this {@link Schema}. + *

+ *

+ *

+ * The names of the slots must be unique within this {@link Schema}, meaning that the list may not contain more than + * one {@link Slot} with the same exact value in the {@link Slot}'s "name" slot. + *

+ *

+ *

+ * If the name of a {@link Slot} in this list "overrides" a slot of the same name defined in one (or more) of this + * {@link Schema}'s base schema(s), then models of this schema should consider this shema's slot's constraints to + * "take precedence" over any similar constraints defined by the ancestral schema(s). + *

+ * + * @return A List containing this {@link Schema}'s {@link Slot}s. + */ + @Description("A list of Slot models. Each Slot model describes a slot that may be accessed in models representing this Schema. The names of the slots must be unique within this Schema, meaning that the list may not contain more than one Slot with the same exact value in the Slot's \"name\" slot. If the name of a Slot in this list \"overrides\" a slot of the same name defined in one (or more) of this Schema's base Schema(s), then models of this Schema should consider this Schema's slot's constraints to \"take precedence\" over any similar constraints defined by the ancestral Schema(s).") + List getSlots(); + +} diff --git a/core/src/main/java/org/wrml/model/schema/SchemaNamespace.java b/core/src/main/java/org/wrml/model/schema/SchemaNamespace.java new file mode 100644 index 0000000..0679478 --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/SchemaNamespace.java @@ -0,0 +1,98 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.model.UniquelyNamed; +import org.wrml.model.Virtual; +import org.wrml.model.rest.Document; +import org.wrml.runtime.schema.CollectionSlot; +import org.wrml.runtime.schema.CollectionSlotCriterion; +import org.wrml.runtime.schema.WRML; + +import java.util.List; + +/** + *

+ * A hierarchical container of {@link Schema}s and sub-{@link SchemaNamespace}s. + *

+ *

+ * Conceptually, a {@link SchemaNamespace} is to a {@link Schema} as a {@link Package} is to a {@link Class}. + *

+ * + * @see org.wrml.util.UniqueName + */ +@WRML(keySlotNames = {"uniqueName"}) +public interface SchemaNamespace extends UniquelyNamed, Virtual, Document +{ + + /** + * The {@link SchemaNamespace}s contained (hierarchically) directly within this {@link SchemaNamespace}. + * + * @return The {@link SchemaNamespace}s contained (hierarchically) directly within this {@link SchemaNamespace}. + */ + @CollectionSlot( + linkRelationUri = "http://relation.api.wrml.org/org/wrml/relation/child", + and = { + @CollectionSlotCriterion( + referenceSlot = "uniqueName", + operator = ComparisonOperator.regex, + valueSource = "uniqueName", + + // TODO: Need a regex that includes the valueSource as a dynamic variable within a regex pattern + // that matches uniqueNames that start with this SchemaNamespace's uniqueName and add a "/Something" + // (only one more / followed by an alpha numeric that starts with alpha). + regex = "TODO" + + ) + } + ) + List getSchemaNamespaces(); + + /** + * The {@link Schema}s contained (hierarchically) directly within this {@link SchemaNamespace}. + * + * @return The {@link Schema}s contained (hierarchically) directly within this {@link SchemaNamespace}. + */ + @CollectionSlot( + linkRelationUri = "http://relation.api.wrml.org/org/wrml/relation/element", + and = { + @CollectionSlotCriterion( + referenceSlot = "uniqueName", + operator = ComparisonOperator.regex, + valueSource = "uniqueName", + + // TODO: Need a regex that includes the valueSource as a dynamic variable within a regex pattern + // that matches uniqueNames that start with this SchemaNamespace's uniqueName and add a "/Something" + // (only one more / followed by an alpha numeric that starts with alpha). + regex = "TODO" + + ) + } + ) + List getSchemas(); + + +} diff --git a/core/src/main/java/org/wrml/model/schema/SelectValue.java b/core/src/main/java/org/wrml/model/schema/SelectValue.java new file mode 100644 index 0000000..f790700 --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/SelectValue.java @@ -0,0 +1,44 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import java.net.URI; + +import org.wrml.model.Abstract; +import org.wrml.model.MaybeReadOnly; + +/** + * Abstract base model for a value representing a selection from a set of choices. + */ +public interface SelectValue extends MaybeReadOnly, Primitive, Value, Abstract +{ + + /** + * The {@link URI} of the {@link Choices} document associated with this select value. + */ + URI getChoicesUri(); + + URI setChoicesUri(URI choicesUri); +} diff --git a/core/src/main/java/org/wrml/model/schema/SingleSelectValue.java b/core/src/main/java/org/wrml/model/schema/SingleSelectValue.java new file mode 100644 index 0000000..ca02fe2 --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/SingleSelectValue.java @@ -0,0 +1,45 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.model.Model; + +/** + * A single selection made from a list of choices (like an {@link Enum}). + */ +public interface SingleSelectValue extends Inextensible, SelectValue, Model +{ + + /** + *

+ * The optional default associated with this value. + *

+ * + * @see org.wrml.runtime.schema.DefaultValue + */ + String getDefault(); + + String setDefault(String defaultValue); +} diff --git a/core/src/main/java/org/wrml/model/schema/Slot.java b/core/src/main/java/org/wrml/model/schema/Slot.java new file mode 100644 index 0000000..13040cf --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/Slot.java @@ -0,0 +1,112 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.model.Described; +import org.wrml.model.Model; +import org.wrml.model.Named; +import org.wrml.model.Titled; +import org.wrml.runtime.schema.Aliases; +import org.wrml.runtime.schema.Description; +import org.wrml.runtime.schema.ProtoSlot; + +import java.util.List; + +/** + *

+ * {@link Slot} models are embedded within {@link Schema} documents. {@link Slot}s are named and described by + * {@link Schema} designers (data modelers). + *

+ *

+ *

+ * A slot is like a property, attribute, element, field, row, mapping, name/value pair, etc. + *

+ *

+ *

+ *

+ *

+ *
+ *     Slot
+ *     -----------|------------
+ *     |  {Name} ---> Value   |
+ *     |----------|---- | ----|
+ *                      |
+ *                      +-- BooleanValue
+ *                      +-- DateValue
+ *                      +-- DoubleValue
+ *                      +-- IntegerValue
+ *                      +-- ...
+ *                      +-- TextValue
+ *
+ * 
+ *

+ *

+ * + * @see Schema + * @see Named + * @see Value + * @see Model#getSlotValue(String) + * @see ProtoSlot + */ +@Description("Slot models are embedded within Schemas. Slots are named and described by Schema designers (data modelers).") +public interface Slot extends Named, Titled, Described, Model +{ + + /** + *

+ * The {@link Slot}s associated {@link Value}. + *

+ * + * @see Model#getSlotValue(String) + * @see ProtoSlot#getHeapValueType() + */ + @Description("The Value associated with this Slot.") + Value getValue(); + + /** + * @see #getValue() + */ + Value setValue(Value value); + + /** + * (Optional) list of the other names that this slot goes by (useful for deprecation and overlay-based composition). + * + * @see Aliases + */ + @Description("The (optional) list of the other names that this slot goes by (useful for deprecation and overlay-based composition).") + List getAliases(); + + /** + * A "searchable" slot is one that should be "indexed" (if possible), or otherwise optimized, so that models may be searched for based upon this Slot's value. + * + * @return true if this slot is searchable. + * @see org.wrml.runtime.schema.Searchable + */ + @Description("A \"searchable\" slot is one that should be \"indexed\" (if possible), or otherwise optimized, so that models may be searched for based upon this Slot's value.") + Boolean isSearchable(); + + Boolean setSearchable(Boolean isSearchable); + +} diff --git a/core/src/main/java/org/wrml/model/schema/Syntax.java b/core/src/main/java/org/wrml/model/schema/Syntax.java new file mode 100644 index 0000000..0c21e45 --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/Syntax.java @@ -0,0 +1,54 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.model.UniquelyNamed; +import org.wrml.model.rest.Document; +import org.wrml.runtime.schema.WRML; +import org.wrml.runtime.syntax.SyntaxHandler; + +/** + *

+ * A document that defines a (text) syntax. A syntax is some domain-specific text ({@link String}) format that means something special to the person or machine interested in parsing some conforming text. + *

+ *

+ *

+ * From: http://en.wikipedia.org/wiki/Syntax + *

+ *

+ *

+ * In linguistics, syntax is "the study of the principles and processes by which sentences are constructed in particular languages". + *

+ * + * @see SyntaxHandler + * @see TextValue#getSyntaxUri() + * @see Slot + * @see Schema + */ +@WRML(keySlotNames = {"uniqueName"}) +public interface Syntax extends UniquelyNamed, Document +{ + +} diff --git a/core/src/main/java/org/wrml/model/schema/TextValue.java b/core/src/main/java/org/wrml/model/schema/TextValue.java new file mode 100644 index 0000000..0832c3d --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/TextValue.java @@ -0,0 +1,96 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import java.net.URI; +import java.util.UUID; + +import org.wrml.model.MaybeReadOnly; +import org.wrml.model.MaybeRequired; +import org.wrml.model.Model; + +import org.wrml.runtime.schema.DefaultValue; +import java.util.List; + +/** + *

+ * A text-based ({@link String}) value, which may conform to some defined {@link Syntax}. + *

+ * + * @see Syntax + */ +public interface TextValue extends MaybeReadOnly, MaybeRequired, Primitive, Inextensible, Value, Model +{ + + /** + * The WRML constant name for a TextValue's maximumLength slot. + */ + public static final String SLOT_NAME_MAXIMUM_LENGTH = "maximumLength"; + + /** + * The WRML constant name for a TextValue's minimumLength slot. + */ + public static final String SLOT_NAME_MINIMUM_LENGTH = "minimumLength"; + + /** + *

+ * The optional default associated with this value. + *

+ * + * @see DefaultValue + */ + String getDefault(); + + List getDisallowedValues(); + + Integer getMaximumLength(); + + Integer getMinimumLength(); + + /** + *

+ * The optional {@link org.wrml.model.schema.Syntax#getUri()} associated with this {@link TextValue}. The WRML runtime uses a + * {@link TextValue}'s {@link Syntax} association to automatically coerce {@link String} values into their + * more useful runtime counterparts (e.g. {@link URI}, {@link UUID} etc.). + *

+ * + * @see Syntax + */ + URI getSyntaxUri(); + + /** + * @see #getDefault() + */ + String setDefault(String defaultValue); + + Integer setMaximumLength(final Integer maxLength); + + Integer setMinimumLength(final Integer minLength); + + /** + * @see #getSyntaxUri() + */ + URI setSyntaxUri(URI syntaxUri); +} diff --git a/core/src/main/java/org/wrml/model/schema/Value.java b/core/src/main/java/org/wrml/model/schema/Value.java new file mode 100644 index 0000000..467d242 --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/Value.java @@ -0,0 +1,48 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +import org.wrml.model.Abstract; +import org.wrml.model.Model; + +/** + *

+ * {@link Value}s are embedded within {@link Schema} to convey the nature of the values within the {@link Schema}'s + * named {@link Slot}s. + *

+ */ +public interface Value extends Abstract +{ + + /** + * The WRML constant name for a Value's default slot. + */ + public static final String SLOT_NAME_DEFAULT = "default"; + /** + * The WRML constant name for a Value's disallowedValues slot. + */ + public static final String SLOT_NAME_DISALLOWED_VALUES = "disallowedValues"; + +} diff --git a/core/src/main/java/org/wrml/model/schema/ValueSourceType.java b/core/src/main/java/org/wrml/model/schema/ValueSourceType.java new file mode 100644 index 0000000..f1dfda1 --- /dev/null +++ b/core/src/main/java/org/wrml/model/schema/ValueSourceType.java @@ -0,0 +1,48 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.schema; + +/** + * The various options available to source a given value. + */ +public enum ValueSourceType +{ + /** + * The source of the value is a named slot in the referring {@link org.wrml.model.Model}. + */ + ReferrerSlot, + + /** + * The source of the value is a named parameter in the query part of the referring {@link org.wrml.model.Model}. + * + * @see java.net.URI#getQuery() + */ + QueryParameter, + + /** + * The source of the value is a constant. + */ + Constant; +} diff --git a/core/src/main/java/org/wrml/package-info.java b/core/src/main/java/org/wrml/package-info.java new file mode 100644 index 0000000..400c826 --- /dev/null +++ b/core/src/main/java/org/wrml/package-info.java @@ -0,0 +1,47 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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. + */ +/** +

+ WRML, the Web Resource Modeling Language (top level Java package). +

+ +

+ WRML, pronounced like "Wormle", is an open source project focused on providing + standards, frameworks, and tools that support the development of web-oriented, client-server applications. +

+ +

+ WRML aims to help establish a uniform, programmatic interface for the Web, or at least a + pseudo-standard approach to designing uniform REST APIs. With widespread adoption of the WRML standards, + we can leverage a shared REST API design methodology and begin to fashion a uniformly programmable Web. + Uniform REST API design is not the ultimate goal, it is only a means to an end. The greatest benefit of a + standardized design and implementation methodology is the availability of helpful frameworks and tools that + increase developer productivity by empowering programmers with a rich set of development tools and frameworks, + such as the graphical design tools provided by wrml.org, that we can leverage to design and develop REST APIs + and their clients. +

+ */ +package org.wrml; + diff --git a/core/src/main/java/org/wrml/runtime/CompositeKey.java b/core/src/main/java/org/wrml/runtime/CompositeKey.java new file mode 100644 index 0000000..6d6c679 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/CompositeKey.java @@ -0,0 +1,130 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +import org.wrml.util.UniqueComposition; + +import java.util.Collections; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.SortedMap; + +/** + * A {@link CompositeKey} is a key value that is composed of two or more components. + * When a WRML schema declares more than one {@link org.wrml.runtime.schema.Key} slot, the WRML runtime uses a CompositeKey instance to represent the combined value of the key slot values. + */ +public final class CompositeKey +{ + + private static final String TO_STRING_SEPARATOR_BETWEEN_KEY_VALUE = "_"; + + private static final String TO_STRING_SEPARATOR_BETWEEN_KEYS = "__"; + + private final Map _KeySlots; + + private final UniqueComposition _UniqueComposition; + + /** + * Create a new CompositeKey from the specified name value pairs representing the individual key components, + * with each key slot name mapped to the corresponding key slot value. + */ + public CompositeKey(final SortedMap keySlots) + { + + _KeySlots = Collections.unmodifiableMap(keySlots); + + final Object[] components = new Object[_KeySlots.size()]; + int i = 0; + + final Set> keySlotEntrySet = _KeySlots.entrySet(); + for (final Entry keySlot : keySlotEntrySet) + { + components[i++] = keySlot; + } + + _UniqueComposition = new UniqueComposition(components); + } + + @Override + public boolean equals(final Object obj) + { + + if (this == obj) + { + return true; + } + if (obj == null) + { + return false; + } + if (getClass() != obj.getClass()) + { + return false; + } + final CompositeKey other = (CompositeKey) obj; + if (!_UniqueComposition.equals(other._UniqueComposition)) + { + return false; + } + return true; + } + + /** + * The name value pairs representing the individual key components, + * with each key slot name mapped to the corresponding key slot value. + */ + public Map getKeySlots() + { + + return _KeySlots; + } + + @Override + public int hashCode() + { + + return _UniqueComposition.hashCode(); + } + + @Override + public String toString() + { + + final StringBuilder sb = new StringBuilder(); + + for (final Entry entry : _KeySlots.entrySet()) + { + sb.append(entry.getKey()).append(TO_STRING_SEPARATOR_BETWEEN_KEY_VALUE) + .append(String.valueOf(entry.getValue())); + sb.append(TO_STRING_SEPARATOR_BETWEEN_KEYS); + } + + sb.setLength(sb.length() - TO_STRING_SEPARATOR_BETWEEN_KEYS.length()); + + return sb.toString(); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/Configuration.java b/core/src/main/java/org/wrml/runtime/Configuration.java new file mode 100644 index 0000000..26558b7 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/Configuration.java @@ -0,0 +1,33 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +import java.util.Map; + +public interface Configuration +{ + Map getSettings(); +} diff --git a/core/src/main/java/org/wrml/runtime/ConfigurationException.java b/core/src/main/java/org/wrml/runtime/ConfigurationException.java new file mode 100644 index 0000000..9cdfd9d --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/ConfigurationException.java @@ -0,0 +1,47 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +/** + * The {@link Configuration}'s associated error type. + */ +public class ConfigurationException extends RuntimeException +{ + + private static final long serialVersionUID = 1L; + + private final Configuration _Configuration; + + ConfigurationException(final String message, final Throwable cause, final Configuration configuration) + { + super(message, cause); + _Configuration = configuration; + } + + public Configuration getConfiguration() + { + return _Configuration; + } +} diff --git a/core/src/main/java/org/wrml/runtime/Context.java b/core/src/main/java/org/wrml/runtime/Context.java new file mode 100644 index 0000000..8edd7d2 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/Context.java @@ -0,0 +1,281 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +import org.wrml.model.Model; +import org.wrml.model.format.Format; +import org.wrml.model.rest.Method; +import org.wrml.model.rest.ResourceOptions; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.format.FormatLoader; +import org.wrml.runtime.format.ModelReadingException; +import org.wrml.runtime.format.ModelWriteOptions; +import org.wrml.runtime.format.ModelWritingException; +import org.wrml.runtime.rest.ApiLoader; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.runtime.service.ServiceLoader; +import org.wrml.runtime.service.cache.ModelCache; +import org.wrml.runtime.syntax.SyntaxLoader; + +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URI; +import java.util.List; + +/** + * The primary interface for the WRML runtime; exposes Model-related interactions. + */ +public interface Context +{ + + /** + * Delete the {@link Model} identified by the {@link Keys}. + * + * @param keys + * the Keys that identify the Model to delete. + * @param dimensions + * the Dimension that may help inform/scope the delete request. + * @throws ContextException + */ + void deleteModel(final Keys keys, final Dimensions dimensions) throws ContextException; + + /** + * The {@link ApiLoader} component owned by this {@link Context}. + */ + ApiLoader getApiLoader(); + + /** + * The configuration. + */ + ContextConfiguration getConfig(); + + /** + * Get the value mapped to the key associated with the specified schema interface. + * + * @param keys + * the Keys containing the value to extract. + * @param schemaInterface + * the identity of the schema that declared the desired key. + * @param + * the generic return type of the desired key's value. + * @return the value associated with the desired key. + */ + V getKeyValue(final Keys keys, Class schemaInterface); + + /** + * Get the value mapped to the key associated with the specified slot name. + * + * @param keys + * the Keys containing the value to extract. + * @param slotName + * the name of the slot associated with the desired key's value. + * @param + * the generic return type of the desired key's value. + * @return the value associated with the desired key. + */ + V getKeyValue(final Keys keys, String slotName); + + /** + * The {@link FormatLoader} component owned by this {@link Context}. + */ + FormatLoader getFormatLoader(); + + /** + * Get the {@link Model} with the specified {@link Keys} and requested {@link Dimensions} + * + * @param keys + * the Keys that identify the Model to retrieve. + * @param dimensions + * the Dimension that may help inform/scope the retrieval request. + * @param + * the generic return type of the desired Model. + * @return the requested Model (or null if the model was not found). + */ + M getModel(final Keys keys, final Dimensions dimensions) throws ContextException; + + /** + * The optional {@link ModelCache} component owned by this {@link Context}. + */ + ModelCache getModelCache(); + + /** + * The {@link ModelBuilder} component owned by this {@link Context}. + */ + ModelBuilder getModelBuilder(); + + List getMultipleModels(final List multipleKeys, final Dimensions sameDimensions) throws ContextException; + + /** + * The {@link SchemaLoader} component owned by this {@link Context}. + */ + SchemaLoader getSchemaLoader(); + + /** + * The {@link ServiceLoader} component owned by this {@link Context}. + */ + ServiceLoader getServiceLoader(); + + /** + * The {@link SyntaxLoader} component owned by this {@link Context}. + */ + SyntaxLoader getSyntaxLoader(); + + /** + * Initialize the Context from configuration. + * + * @param config + * The Context's configuration + */ + void init(ContextConfiguration config) throws ContextException; + + /** + * Creates a new Model conforming to the specified interface. + * + * @see ModelBuilder#newModel(Class) + * @see ModelBuilder#newDimensions(Class) + */ + M newModel(final Class schemaInterface) throws ModelBuilderException; + + /** + * Creates a new Model conforming to the specified {@link Dimensions}. + * + * @see ModelBuilder#newModel(Dimensions) + */ + M newModel(final Dimensions dimensions); + + /** + * Creates a new Model conforming to the specified Schema. + * + * @see ModelBuilder#newModel(URI) + * @see ModelBuilder#newDimensions(URI) + */ + M newModel(final URI schemaUri) throws ModelBuilderException; + + /** + * Returns a the resource {@link Method#Options options} associated with this {@link Model}. + * + * @see {@link ResourceOptions} + */ + M optionsModel(final Model model) throws ContextException; + + /** + * Reads a Model, conforming to the specified {@link Dimensions}, associated with the specified {@link Keys} from the specified {@link InputStream}, which is assumed to be + * formatted with the current default {@link Format}. + */ + M readModel(final InputStream in, final Keys rootModelKeys, final Dimensions rootModelDimensions) throws ModelReadingException; + + /** + * Reads a Model, conforming to the specified {@link Dimensions}, associated with the specified {@link Keys} from the specified {@link InputStream}, which is assumed to be + * formatted with the identified {@link Format}. + */ + M readModel(final InputStream in, final Keys rootModelKeys, final Dimensions rootModelDimensions, final URI formatUri) throws ModelReadingException; + + /** + * Reads a Model, conforming to the specified {@link Schema}, associated with the specified {@link URI} (key) from the specified {@link InputStream}, which is assumed to be + * formatted with the identified {@link Format}. + */ + M readModel(final InputStream in, final URI uri, final URI schemaUri, final URI formatUri) throws ModelReadingException; + + // TODO: The WrmlServlet needs to create & init Dimensions + // TODO: Remove this once we have resolved: https://wrmlorg.jira.com/browse/WRML-360 + @Deprecated + M request(final Method requestMethod, final URI uri, URI schemaUri, final Model parameter); + + /** + * Requests a Model, conforming to the specified Dimensions, associated with the specified {@link Keys} using the specified request {@link Method} (which may optionally accept + * a parameter). + * + * @see #visitLink(Model, String, DimensionsBuilder, Model) + */ + M request(Method requestMethod, final Keys keys, final Dimensions dimensions, final Model parameter); + + /** + * Saves the {@link Model} and returns the saved version of the {@link Model}. + */ + M saveModel(final M model) throws ContextException; + + /** + * Visits the named link, requesting the {@link Model} from the end point. + */ + M visitLink(Model model, String linkSlotName); + + /** + * Visits the named link, requesting the {@link Model} from the end point. + */ + M visitLink(final Model model, final String linkSlotName, DimensionsBuilder dimensionsBuilder, final Model parameter) throws ContextException; + + /** + * Writes a model's representation to the OutputStream provided. + * + * @param out + * The output stream receiving the model bits. + * @param model + * The model to write out. + * @throws ModelWritingException + */ + void writeModel(final OutputStream out, final Model model) throws ModelWritingException; + + /** + * Writes a model's representation to the OutputStream provided. + * + * @param out + * The output stream receiving the model bits. + * @param model + * The model to write out. + * @param writeOptions + * The options for writing. + * @throws ModelWritingException + */ + void writeModel(final OutputStream out, final Model model, final ModelWriteOptions writeOptions) throws ModelWritingException; + + /** + * Writes a model's representation to the OutputStream provided. + * + * @param out + * The output stream receiving the model bits. + * @param model + * The model to write out. + * @param writeOptions + * The options for writing. + * @param formatUri + * The format of the output. + * @throws ModelWritingException + */ + void writeModel(final OutputStream out, final Model model, final ModelWriteOptions writeOptions, final URI formatUri) throws ModelWritingException; + + /** + * Writes a model's representation to the OutputStream provided. + * + * @param out + * The output stream receiving the model bits. + * @param model + * The model to write out. + * @param formatUri + * The format of the output. + * @throws ModelWritingException + */ + void writeModel(final OutputStream out, final Model model, final URI formatUri) throws ModelWritingException; + +} diff --git a/core/src/main/java/org/wrml/runtime/ContextConfiguration.java b/core/src/main/java/org/wrml/runtime/ContextConfiguration.java new file mode 100644 index 0000000..908b40b --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/ContextConfiguration.java @@ -0,0 +1,145 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +import org.wrml.runtime.format.FormatLoaderConfiguration; +import org.wrml.runtime.rest.ApiLoaderConfiguration; +import org.wrml.runtime.schema.SchemaLoaderConfiguration; +import org.wrml.runtime.service.ServiceLoaderConfiguration; +import org.wrml.runtime.service.cache.ModelCacheConfiguration; +import org.wrml.runtime.syntax.SyntaxLoaderConfiguration; + +/** + * The WRML runtime context configuration. + */ +public class ContextConfiguration extends DefaultFactoryConfiguration +{ + + private ApiLoaderConfiguration _ApiLoaderConfiguration; + + private FormatLoaderConfiguration _FormatLoaderConfiguration; + + private ModelBuilderConfiguration _ModelBuilderConfiguration; + + private ModelCacheConfiguration _ModelCacheConfiguration; + + private SchemaLoaderConfiguration _SchemaLoaderConfiguration; + + private ServiceLoaderConfiguration _ServiceLoaderConfiguration; + + private SyntaxLoaderConfiguration _SyntaxLoaderConfiguration; + + + public ContextConfiguration() + { + + } + + public ApiLoaderConfiguration getApiLoader() + { + + return _ApiLoaderConfiguration; + } + + public void setApiLoader(final ApiLoaderConfiguration apiLoaderConfiguration) + { + + _ApiLoaderConfiguration = apiLoaderConfiguration; + } + + public FormatLoaderConfiguration getFormatLoader() + { + + return _FormatLoaderConfiguration; + } + + public void setFormatLoader(final FormatLoaderConfiguration formatLoaderConfiguration) + { + + _FormatLoaderConfiguration = formatLoaderConfiguration; + } + + public ModelBuilderConfiguration getModelBuilder() + { + + return _ModelBuilderConfiguration; + } + + public void setModelBuilder(final ModelBuilderConfiguration modelBuilderConfiguration) + { + + _ModelBuilderConfiguration = modelBuilderConfiguration; + } + + public ModelCacheConfiguration getModelCache() + { + + return _ModelCacheConfiguration; + } + + public void setModelCache(final ModelCacheConfiguration modelCacheConfiguration) + { + + _ModelCacheConfiguration = modelCacheConfiguration; + } + + public SchemaLoaderConfiguration getSchemaLoader() + { + + return _SchemaLoaderConfiguration; + } + + public void setSchemaLoader(final SchemaLoaderConfiguration schemaLoaderConfiguration) + { + + _SchemaLoaderConfiguration = schemaLoaderConfiguration; + } + + public ServiceLoaderConfiguration getServiceLoader() + { + + return _ServiceLoaderConfiguration; + } + + public void setServiceLoader(final ServiceLoaderConfiguration serviceLoaderConfiguration) + { + + _ServiceLoaderConfiguration = serviceLoaderConfiguration; + } + + public SyntaxLoaderConfiguration getSyntaxLoader() + { + + return _SyntaxLoaderConfiguration; + } + + public void setSyntaxLoader(final SyntaxLoaderConfiguration syntaxLoaderConfiguration) + { + + _SyntaxLoaderConfiguration = syntaxLoaderConfiguration; + } + + +} \ No newline at end of file diff --git a/core/src/main/java/org/wrml/runtime/ContextException.java b/core/src/main/java/org/wrml/runtime/ContextException.java new file mode 100644 index 0000000..924f6cd --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/ContextException.java @@ -0,0 +1,59 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +/** + * The {@link Context}'s associated error type. + */ +public class ContextException extends RuntimeException +{ + + private static final long serialVersionUID = 1L; + + private final Context _Context; + + /** + * A new {@link ContextException} without a {@link Throwable Throwable (cause)}. + * + * @see Preferred if {@link Throwable} exists: {@link #ContextException(String, Throwable, Context)} + * @param message + * @param context + */ + ContextException(final String message, final Context context) + { + this(message, null, context); + } + + ContextException(final String message, final Throwable cause, final Context context) + { + super(message, cause); + _Context = context; + } + + public Context getContext() + { + return _Context; + } +} diff --git a/core/src/main/java/org/wrml/runtime/ContextSensitive.java b/core/src/main/java/org/wrml/runtime/ContextSensitive.java new file mode 100644 index 0000000..cbfcb57 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/ContextSensitive.java @@ -0,0 +1,46 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +/** + * A runtime component that is sensitive to (dependent on) the current the runtime {@link org.wrml.runtime.Context}. + */ +public interface ContextSensitive +{ + + /** + * Returns the runtime {@link org.wrml.runtime.Context} which owns this {@link org.wrml.runtime.ContextSensitive}. + */ + Context getContext(); + + /** + * Initialize this {@link org.wrml.runtime.ContextSensitive} for the given {@link org.wrml.runtime.Context}. + * + * @param context the runtime {@link org.wrml.runtime.Context} which owns this {@link org.wrml.runtime.ContextSensitive}. + */ + void init(final Context context); + +} diff --git a/core/src/main/java/org/wrml/runtime/DefaultConfiguration.java b/core/src/main/java/org/wrml/runtime/DefaultConfiguration.java new file mode 100644 index 0000000..60c4f73 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/DefaultConfiguration.java @@ -0,0 +1,80 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +import java.util.Map; + +public abstract class DefaultConfiguration implements Configuration +{ + + private Map _Settings; + + @SuppressWarnings("unchecked") + public static final T newInstance(final String className) throws ConfigurationException + { + + if (className == null) + { + throw new ConfigurationException("The class name cannot be null", null, null); + } + + Class clazz; + try + { + clazz = Class.forName(className); + } + catch (final ClassNotFoundException e) + { + throw new ConfigurationException("Failed to load class: " + className, e, null); + } + + Object instance = null; + try + { + instance = clazz.newInstance(); + } + catch (final Exception e) + { + throw new ConfigurationException("Failed to create new instance of class: " + className, e, null); + } + + return (T) instance; + } + + @Override + public final Map getSettings() + { + + return _Settings; + } + + public final void setSettings(final Map settings) + { + + _Settings = settings; + } + + +} diff --git a/core/src/main/java/org/wrml/runtime/DefaultContext.java b/core/src/main/java/org/wrml/runtime/DefaultContext.java new file mode 100644 index 0000000..405af39 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/DefaultContext.java @@ -0,0 +1,1187 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.Model; +import org.wrml.model.rest.Document; +import org.wrml.model.rest.Embedded; +import org.wrml.model.rest.Link; +import org.wrml.model.rest.LinkRelation; +import org.wrml.model.rest.LinkTemplate; +import org.wrml.model.rest.Method; +import org.wrml.model.rest.ResourceOptions; +import org.wrml.model.schema.Choices; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.format.DefaultFormatLoaderFactory; +import org.wrml.runtime.format.FormatLoader; +import org.wrml.runtime.format.Formatter; +import org.wrml.runtime.format.ModelReadingException; +import org.wrml.runtime.format.ModelWriteOptions; +import org.wrml.runtime.format.ModelWritingException; +import org.wrml.runtime.rest.ApiLoader; +import org.wrml.runtime.rest.ApiNavigator; +import org.wrml.runtime.rest.DefaultApiLoaderFactory; +import org.wrml.runtime.rest.Resource; +import org.wrml.runtime.schema.CollectionPropertyProtoSlot; +import org.wrml.runtime.schema.DefaultSchemaLoaderFactory; +import org.wrml.runtime.schema.LinkProtoSlot; +import org.wrml.runtime.schema.ProtoSearchCriteria; +import org.wrml.runtime.schema.Prototype; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.runtime.search.SearchCriteria; +import org.wrml.runtime.service.DefaultServiceLoaderFactory; +import org.wrml.runtime.service.Service; +import org.wrml.runtime.service.ServiceLoader; +import org.wrml.runtime.service.cache.ModelCache; +import org.wrml.runtime.service.cache.ModelCacheConfiguration; +import org.wrml.runtime.syntax.DefaultSyntaxLoaderFactory; +import org.wrml.runtime.syntax.SyntaxLoader; + +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URI; +import java.util.ArrayList; +import java.util.Collection; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.SortedMap; + +public class DefaultContext implements Context +{ + + private static final Logger LOGGER = LoggerFactory.getLogger(DefaultContext.class); + + private ContextConfiguration _Config; + + ApiLoader _ApiLoader; + + private FormatLoader _FormatLoader; + + private ModelBuilder _ModelBuilder; + + private SchemaLoader _SchemaLoader; + + private SyntaxLoader _SyntaxLoader; + + private ServiceLoader _ServiceLoader; + + private ModelCache _ModelCache; + + private Factory _ApiLoaderFactory; + + private Factory _FormatLoaderFactory; + + private Factory _ModelBuilderFactory; + + private Factory _SchemaLoaderFactory; + + private Factory _SyntaxLoaderFactory; + + private Factory _ServiceLoaderFactory; + + private Prototype _ApiPrototype; + + private Prototype _SchemaPrototype; + + private Prototype _SyntaxPrototype; + + private Prototype _LinkRelationPrototype; + + private Prototype _FormatPrototype; + + private Prototype _ChoicesPrototype; + + private Prototype _VirtualPrototype; + + public DefaultContext() + { + + LOGGER.info("Creating new instance of: " + getClass().getCanonicalName()); + } + + @Override + public void init(final ContextConfiguration config) throws ContextException + { + + if (config == null) + { + throw new ContextException("The WRML context configuration cannot be null.", null, this); + } + + _Config = config; + + _SchemaLoaderFactory = createSchemaLoaderFactory(); + _SchemaLoader = _SchemaLoaderFactory.create(); + _SchemaLoader.init(this); + + _ModelBuilderFactory = createModelBuilderFactory(); + _ModelBuilder = _ModelBuilderFactory.create(); + _ModelBuilder.init(this); + + _SyntaxLoaderFactory = createSyntaxLoaderFactory(); + _SyntaxLoader = _SyntaxLoaderFactory.create(); + _SyntaxLoader.init(this); + + _ApiPrototype = _SchemaLoader.getPrototype(_SchemaLoader.getApiSchemaUri()); + _SchemaPrototype = _SchemaLoader.getPrototype(_SchemaLoader.getSchemaSchemaUri()); + _SyntaxPrototype = _SchemaLoader.getPrototype(_SchemaLoader.getSyntaxSchemaUri()); + _LinkRelationPrototype = _SchemaLoader.getPrototype(_SchemaLoader.getLinkRelationSchemaUri()); + _FormatPrototype = _SchemaLoader.getPrototype(_SchemaLoader.getFormatSchemaUri()); + _ChoicesPrototype = _SchemaLoader.getPrototype(_SchemaLoader.getChoicesSchemaUri()); + _VirtualPrototype = _SchemaLoader.getPrototype(_SchemaLoader.getVirtualSchemaUri()); + + _ApiLoaderFactory = createApiLoaderFactory(); + _ApiLoader = _ApiLoaderFactory.create(); + _ApiLoader.init(this); + + _FormatLoaderFactory = createFormatLoaderFactory(); + _FormatLoader = _FormatLoaderFactory.create(); + _FormatLoader.init(this); + + _ServiceLoaderFactory = createServiceLoaderFactory(); + _ServiceLoader = _ServiceLoaderFactory.create(); + _ServiceLoader.init(this); + + _ServiceLoader.loadInitialState(); + + _SyntaxLoader.loadInitialState(); + _FormatLoader.loadInitialState(); + _SchemaLoader.loadInitialState(); + _ApiLoader.loadInitialState(); + + // TODO: init cache + _ModelCache = createModelCache(); + } + + @Override + public final void deleteModel(final Keys keys, final Dimensions dimensions) + { + + if (keys == null) + { + throw new ContextException("The keys cannot be null", null, this); + } + + final ModelCache cache = getModelCache(); + if (cache != null) + { + cache.delete(keys, dimensions); + } + + final SchemaLoader schemaLoader = getSchemaLoader(); + final URI uri = keys.getValue(schemaLoader.getDocumentSchemaUri()); + if (uri != null) + { + final URI schemaUri = _ApiLoader.getDefaultResponseSchemaUri(Method.Get, uri); + + if (schemaUri != null) + { + + final ServiceLoader serviceLoader = getServiceLoader(); + final Service service = serviceLoader.getServiceForSchema(schemaUri); + if (service != null) + { + service.delete(keys, dimensions); + } + } + } + } + + @Override + public ApiLoader getApiLoader() + { + + return _ApiLoader; + } + + @Override + public ContextConfiguration getConfig() + { + + return _Config; + } + + @Override + public V getKeyValue(final Keys keys, final Class schemaInterface) + { + + return keys.getValue(getSchemaLoader().getTypeUri(schemaInterface)); + } + + @Override + public V getKeyValue(final Keys keys, final String slotName) + { + + final Set keyedSchemaUris = keys.getKeyedSchemaUris(); + final SchemaLoader schemaLoader = getSchemaLoader(); + for (final URI schemaUri : keyedSchemaUris) + { + final Prototype prototype = schemaLoader.getPrototype(schemaUri); + if (prototype.isKeySlot(slotName)) + { + final Object value = keys.getValue(schemaUri); + + if (value != null) + { + return (V) value; + } + } + } + + return null; + } + + @Override + public FormatLoader getFormatLoader() + { + + return _FormatLoader; + } + + @Override + @SuppressWarnings("unchecked") + public final M getModel(final Keys keys, final Dimensions dimensions) throws ContextException + { + + if (keys == null) + { + throw new IllegalArgumentException("The keys cannot be null."); + } + + if (keys.getCount() == 0) + { + throw new IllegalArgumentException("The keys cannot be empty."); + } + + if (dimensions == null) + { + throw new IllegalArgumentException("The dimensions cannot be null."); + } + + final URI schemaUri = dimensions.getSchemaUri(); + + if (schemaUri == null) + { + throw new IllegalArgumentException("The schema URI cannot be null."); + } + + LOGGER.trace("Getting Model\n - Keys:\n{}\n - Dimensions:\n{}", keys, dimensions); + + final ModelCache cache = getModelCache(); + final SchemaLoader schemaLoader = getSchemaLoader(); + + M model = null; + + if (_VirtualPrototype.isAssignableFrom(schemaUri)) + { + // Virtual models are auto-initialized by the runtime + model = newModel(dimensions); + model.initKeySlots(keys); + } + else if (schemaLoader.isSystemSchema(schemaUri)) + { + model = getSystemModel(keys, dimensions); + } + else if (cache != null && cache.contains(keys, dimensions)) + { + model = (M) cache.get(keys, dimensions); + model.initKeySlots(keys); + model = (M) cache.save(model); + } + + if (null == model) + { + model = getModelFromService(keys, dimensions); + } + + if (null == model) + { + LOGGER.debug("Model *NOT FOUND*\n - Keys:\n{}\n - Dimensions:\n{}", keys, dimensions); + return null; + } + + initManagedSlots(model); + return model; + } + + @Override + public ModelCache getModelCache() + { + + return _ModelCache; + } + + @Override + public ModelBuilder getModelBuilder() + { + + return _ModelBuilder; + } + + @Override + public final List getMultipleModels(final List multipleKeys, final Dimensions sameDimensions) + { + + if (multipleKeys == null) + { + throw new ContextException("The keys cannot be null", null, this); + } + + if (sameDimensions == null) + { + throw new ContextException("The dimensions cannot be null", null, this); + } + + final List models = new ArrayList<>(multipleKeys.size()); + for (final Keys keys : multipleKeys) + { + final M model = getModel(keys, sameDimensions); + if (model != null) + { + models.add(model); + } + } + + return models; + } + + @Override + public SchemaLoader getSchemaLoader() + { + + return _SchemaLoader; + } + + @Override + public ServiceLoader getServiceLoader() + { + + return _ServiceLoader; + } + + @Override + public SyntaxLoader getSyntaxLoader() + { + + return _SyntaxLoader; + } + + @Override + public M newModel(final Class schemaInterface) throws ModelBuilderException + { + + return getModelBuilder().newModel(schemaInterface); + } + + @Override + public M newModel(final Dimensions dimensions) + { + + return getModelBuilder().newModel(dimensions); + } + + @Override + public M newModel(final URI schemaUri) throws ModelBuilderException + { + + return getModelBuilder().newModel(schemaUri); + } + + @Override + public M readModel(final InputStream in, final Keys rootModelKeys, final Dimensions rootModelDimensions) throws ModelReadingException + { + + return readModel(in, rootModelKeys, rootModelDimensions, getFormatLoader().getDefaultFormatUri()); + } + + @Override + public final M readModel(final InputStream in, final Keys rootModelKeys, final Dimensions rootModelDimensions, final URI formatUri) + throws ModelReadingException + { + + final FormatLoader formatLoader = getFormatLoader(); + + final URI formatId = (formatUri != null) ? formatUri : formatLoader.getDefaultFormatUri(); + + final Formatter modelFormatter = formatLoader.getFormatter(formatId); + + if (modelFormatter == null) + { + throw new ModelReadingException("Unable to locate a formatter for the format: " + formatUri, null, this); + } + + return modelFormatter.readModel(in, rootModelKeys, rootModelDimensions); + } + + @Override + public M readModel(final InputStream in, final URI uri, final URI schemaUri, final URI formatUri) throws ModelReadingException + { + final Keys keys = _ApiLoader.buildDocumentKeys(uri, schemaUri); + final Dimensions dimensions = new DimensionsBuilder(schemaUri).toDimensions(); + return readModel(in, keys, dimensions, formatUri); + } + + @Override + @Deprecated + public final M request(final Method requestMethod, final URI uri, URI schemaUri, final Model parameter) + { + // Default the schemaUri + if (schemaUri == null) + { + schemaUri = _ApiLoader.getDefaultResponseSchemaUri(requestMethod, uri); + } + + if (schemaUri == null) + { + throw new ContextException("The method used is not supported by the api. METHOD [" + requestMethod + "], resource [" + uri + "]", this); + } + + final Dimensions dimensions = new DimensionsBuilder(schemaUri).toDimensions(); + final Keys keys = _ApiLoader.buildDocumentKeys(uri, schemaUri); + return request(requestMethod, keys, dimensions, parameter); + } + + @Override + public final M request(final Method requestMethod, final Keys keys, final Dimensions dimensions, final Model parameter) + { + + switch (requestMethod) + { + case Get: + { + final M model = getModel(keys, dimensions); + return model; + } + case Save: + { + if (parameter == null) + { + throw new ContextException("The " + Method.Save + " method requires a model parameter.", this); + } + return saveModel((M) parameter); + } + case Invoke: + { + return invoke(keys, dimensions, parameter); + } + case Delete: + { + deleteModel(keys, dimensions); + return null; + } + case Options: + { + return optionsModel(parameter); + } + default: + { + throw new ContextException("Failed to resolve the " + requestMethod + " request from: \"" + dimensions.getReferrerUri() + "\" with keys: \"" + keys + + "\" and dimensions (" + dimensions + ").", null, this); + } + + } + } + + @Override + public final M saveModel(final M model) + { + + if (model == null) + { + throw new ContextException("Cannot save; the model is null.", this); + } + + LOGGER.trace("Attempting to save model \n{}\n with schemaUri:\n {}", new Object[] {model, model.getDimensions().getSchemaUri()}); + + M savedModel = null; + + final URI schemaUri = model.getSchemaUri(); + // final Method requestMethod = Method.Save; + + String originServiceName = model.getOriginServiceName(); + final ServiceLoader serviceLoader = getServiceLoader(); + + if (originServiceName != null) + { + final Service originService = serviceLoader.getService(originServiceName); + if (originService == null) + { + throw new ContextException("Cannot save; the origin service does not exist: " + originServiceName, this); + } + + savedModel = (M) originService.save(model); + } + else + { + + final Service service = serviceLoader.getServiceForSchema(schemaUri); + if (service == null) + { + throw new ContextException("Cannot save; no service applies to model: " + model, this); + } + + originServiceName = service.getConfiguration().getName(); + + savedModel = (M) service.save(model); + } + + if (savedModel != null) + { + LOGGER.debug("Saved Model:\n{}", savedModel); + } + else + { + throw new ContextException("Error saving model; no service return a saved model successfully.", this); + } + + final ModelCache cache = getModelCache(); + if (cache != null) + { + savedModel = (M) cache.save(savedModel); + } + + savedModel.setOriginServiceName(originServiceName); + + initManagedSlots(savedModel); + + return savedModel; + } + + @Override + public String toString() + { + + return getClass().getSimpleName() + " { config : " + _Config + ", syntax registry : " + _SyntaxLoader + ", schemaLoader : " + _SchemaLoader + ", modelFactory : " + + _ModelBuilder + ", apiLoader : " + _ApiLoader + "}"; + } + + @Override + public final M visitLink(final Model model, final String linkSlotName) + { + + return visitLink(model, linkSlotName, null, null); + } + + @Override + public M visitLink(final Model model, final String linkSlotName, final DimensionsBuilder dimensionsBuilder, final Model parameter) throws ContextException + { + + final Link link = (Link) model.getSlotValue(linkSlotName); + if (link == null) + { + throw new ModelException("Link \"" + linkSlotName + "\" not found in model, " + model + ".", null, model); + } + + URI uri = null; + + if (model instanceof Document) + { + uri = ((Document) model).getUri(); + } + else if (model instanceof Embedded) + { + uri = ((Embedded) model).getDocumentUri(); + } + else + { + throw new ModelException("The model is not (REST) Document-related, thus it may not link to Documents.", null, model); + } + + if (uri == null) + { + throw new ModelException("The model is missing a (REST) Document id.", null, model); + } + + dimensionsBuilder.setReferrerUri(uri); + + final ApiNavigator apiNavigator = _ApiLoader.getParentApiNavigator(uri); + if (apiNavigator == null) + { + throw new ModelException("The URI is not parented by any known REST API.", null, model); + } + + return apiNavigator.visitLink(link, model, uri, dimensionsBuilder, parameter); + } + + @Override + public final void writeModel(final OutputStream out, final Model model) throws ModelWritingException + { + + writeModel(out, model, getFormatLoader().getDefaultFormatUri()); + } + + @Override + public final void writeModel(final OutputStream out, final Model model, final ModelWriteOptions writeOptions) throws ModelWritingException + { + + writeModel(out, model, writeOptions, getFormatLoader().getDefaultFormatUri()); + } + + @Override + public void writeModel(final OutputStream out, final Model model, final ModelWriteOptions writeOptions, final URI formatUri) throws ModelWritingException + { + + final FormatLoader formatLoader = getFormatLoader(); + + final URI formatId = (formatUri != null) ? formatUri : formatLoader.getDefaultFormatUri(); + + final Formatter modelFormatter = formatLoader.getFormatter(formatId); + + if (modelFormatter == null) + { + throw new ModelWritingException("Unable to locate a formatter for the format: " + formatUri, null, this); + } + + modelFormatter.writeModel(out, model, writeOptions); + } + + @Override + public final void writeModel(final OutputStream out, final Model model, final URI formatUri) throws ModelWritingException + { + + writeModel(out, model, null, formatUri); + } + + protected Factory createApiLoaderFactory() + { + + return DefaultFactoryConfiguration.createFactory(getConfig().getApiLoader(), DefaultApiLoaderFactory.class); + } + + protected Factory createFormatLoaderFactory() + { + + return DefaultFactoryConfiguration.createFactory(getConfig().getFormatLoader(), DefaultFormatLoaderFactory.class); + } + + protected Factory createModelBuilderFactory() + { + + return DefaultFactoryConfiguration.createFactory(getConfig().getModelBuilder(), DefaultModelBuilderFactory.class); + } + + protected Factory createSchemaLoaderFactory() + { + + return DefaultFactoryConfiguration.createFactory(getConfig().getSchemaLoader(), DefaultSchemaLoaderFactory.class); + } + + protected Factory createServiceLoaderFactory() + { + + return DefaultFactoryConfiguration.createFactory(getConfig().getServiceLoader(), DefaultServiceLoaderFactory.class); + } + + protected Factory createSyntaxLoaderFactory() + { + + return DefaultFactoryConfiguration.createFactory(getConfig().getSyntaxLoader(), DefaultSyntaxLoaderFactory.class); + } + + protected ModelCache createModelCache() + { + + final ContextConfiguration config = getConfig(); + final ModelCacheConfiguration cacheConfig = config.getModelCache(); + if (cacheConfig == null) + { + return null; + } + + final String cacheClassName = cacheConfig.getImplementation(); + final ModelCache cache = DefaultConfiguration.newInstance(cacheClassName); + cache.init(this, cacheConfig); + return cache; + } + + /** + * Gets and invokes a functional Model, passing it the (optional) Model parameter and (optionally) returns a Model value that conforms to the specified Dimensions. + * + * @param keys + * the keys of the function model + * @param responseDimensions + * the dimensions of the function's Model return value. + * @param parameter + * the (optional) parameter Model to pass to the function. + * @param + * the function's Model return value's type (schema). + * @return the Model return value (or null if the function returns void). + */ + protected M invoke(final Keys keys, final Dimensions responseDimensions, final Model parameter) + { + + final URI uri = getKeyValue(keys, Document.class); + + final DimensionsBuilder dimensionsBuilder = new DimensionsBuilder(); + dimensionsBuilder.setReferrerUri(responseDimensions.getReferrerUri()).setLocale(responseDimensions.getLocale()); + dimensionsBuilder.getMetadata().putAll(responseDimensions.getMetadata()); + dimensionsBuilder.getQueryParameters().putAll(responseDimensions.getQueryParameters()); + Dimensions functionDimensions = _ApiLoader.buildDocumentDimensions(Method.Get, uri, dimensionsBuilder); + + Model function = getModel(keys, functionDimensions); + + if (function == null) + { + throw new ContextException("Cannot invoke; the function model is null.", null, this); + } + + Service service = null; + String originServiceName = function.getOriginServiceName(); + if (originServiceName != null) + { + service = _ServiceLoader.getService(originServiceName); + } + + if (service == null) + { + + final URI functionSchemaUri = function.getSchemaUri(); + + service = _ServiceLoader.getServiceForSchema(functionSchemaUri); + if (service == null && parameter != null) + { + final URI parameterSchemaUri = parameter.getSchemaUri(); + service = _ServiceLoader.getServiceForSchema(parameterSchemaUri); + } + } + + if (service != null) + { + final M responseModel = (M) service.invoke(function, responseDimensions, parameter); + + originServiceName = service.getConfiguration().getName(); + responseModel.setOriginServiceName(originServiceName); + + initManagedSlots(responseModel); + return responseModel; + } + else + { + LOGGER.debug("Service *NOT FOUND* for function invocation:\n - Function:\n{}\n - Parameter:\n{}", function, parameter); + } + + return null; + } + + private M getModelFromService(final Keys keys, final Dimensions dimensions) + { + + final ModelCache cache = getModelCache(); + final SchemaLoader schemaLoader = getSchemaLoader(); + final ServiceLoader serviceLoader = getServiceLoader(); + + final URI schemaUri = dimensions.getSchemaUri(); + final Service service = serviceLoader.getServiceForSchema(schemaUri); + if (service == null) + { + throw new ContextException("Cannot get model; no service applies to schema: " + schemaUri, null, this); + } + + LOGGER.debug("Service for schemaUri {} is {}", new Object[] {schemaUri, service}); + + M model = (M) service.get(keys, dimensions); + + if (model != null) + { + model.initKeySlots(keys); + + final String originServiceName = service.getConfiguration().getName(); + model.setOriginServiceName(originServiceName); + + // TODO: Make this "auto-loading" of these system types configurable? + if (schemaLoader.isSystemSchema(schemaUri)) + { + if (model instanceof Schema) + { + schemaLoader.load((Schema) model); + } + else if (model instanceof LinkRelation) + { + _ApiLoader.loadLinkRelation((LinkRelation) model); + } + else if (model instanceof Choices) + { + schemaLoader.loadChoices((Choices) model); + } + } + else if (cache != null) + { + model = (M) cache.save(model); + } + + LOGGER.debug("Got Model:\n{}", model); + + } + + return model; + } + + private M getSystemModel(final Keys keys, final Dimensions dimensions) + { + + final SchemaLoader schemaLoader = getSchemaLoader(); + URI schemaUri = dimensions.getSchemaUri(); + + M model = null; + + if (_SchemaPrototype.isAssignableFrom(schemaUri)) + { + model = (M) schemaLoader.getLoadedSchema(keys); + + if (model == null) + { + model = (M) schemaLoader.getNativeSchema(keys); + } + + } + else if (_LinkRelationPrototype.isAssignableFrom(schemaUri)) + { + model = (M) _ApiLoader.getLoadedLinkRelation(keys); + } + else if (_ApiPrototype.isAssignableFrom(schemaUri)) + { + model = (M) _ApiLoader.getLoadedApi(keys); + } + else if (_FormatPrototype.isAssignableFrom(schemaUri)) + { + final FormatLoader formatLoader = getFormatLoader(); + model = (M) formatLoader.getLoadedFormat(keys); + } + else if (_ChoicesPrototype.isAssignableFrom(schemaUri)) + { + model = (M) schemaLoader.getLoadedChoices(keys); + + if (model == null) + { + model = (M) schemaLoader.getNativeChoices(keys); + } + + } + else if (_SyntaxPrototype.isAssignableFrom(schemaUri)) + { + final SyntaxLoader syntaxLoader = getSyntaxLoader(); + model = (M) syntaxLoader.getLoadedSyntax(keys); + } + + return model; + } + + /** + * Manage the model's link and collection slots. + * + * @param model + * The model to manage. + * @see Wikipedia on HATEOAS + */ + private void initManagedSlots(final Model model) + { + + if (model instanceof Document) + { + final Document document = (Document) model; + updateLinkSlots(document); + + // Fetch and aggregate any link-embedded documents + embedLinkedDocuments(document); + } + + // If the model has one ore more lists of links then they need to fill it with Link models + searchForCollectionElements(model); + } + + /** + * Part of the HATEOAS automation. Uses the runtime's available REST API metadata to update the Links and Link href values in response to a change/initialization of the URI + * slot value. + */ + private void updateLinkSlots(final Document document) + { + + final URI uri = document.getUri(); + if (uri == null) + { + return; + } + + final Context context = _SchemaLoader.getContext(); + final ApiNavigator apiNavigator = _ApiLoader.getParentApiNavigator(uri); + + if (apiNavigator == null) + { + return; + } + + final Resource resource = apiNavigator.getResource(uri); + final Map linkTemplates = resource.getLinkTemplates(); + if (linkTemplates == null || linkTemplates.isEmpty()) + { + return; + } + + final SortedMap prototypeLinkRelUris = document.getPrototype().getLinkRelationUris(); + final Set linkSlotNames = prototypeLinkRelUris.keySet(); + for (final String linkSlotName : linkSlotNames) + { + + Link link = (Link) document.getSlotValue(linkSlotName); + + final URI linkRelationUri = prototypeLinkRelUris.get(linkSlotName); + final Resource endpointResource = apiNavigator.getEndpointResource(linkRelationUri, uri); + if (endpointResource == null) + { + continue; + } + + final URI href = endpointResource.getUri(document, linkRelationUri); + if (href == null) + { + // Exclude Links that have null href values. + + if (link != null) + { + document.setSlotValue(linkSlotName, null); + } + + continue; + } + + if (link == null) + { + + link = newModel(_SchemaLoader.getLinkSchemaUri()); + link.setRel(linkRelationUri); + document.setSlotValue(linkSlotName, link); + } + + link.setHref(href); + } + } + + /** + * Part of the HATEOAS automation. For Documents that have a one or more embedded Link slots, this method embeds each of the referenced Documents within the Links. + */ + private void embedLinkedDocuments(final Document document) + { + + final Prototype prototype = document.getPrototype(); + final Set embeddedLinkSlotNameSet = new LinkedHashSet<>(document.getDimensions().getEmbeddedLinkSlotNames()); + + if (embeddedLinkSlotNameSet.isEmpty() && !prototype.containsEmbeddedLink()) + { + return; + } + + final Collection linkProtoSlots = prototype.getLinkProtoSlots().values(); + + // TODO: Asynchronous Document aggregation + // https://wrmlorg.jira.com/browse/WRML-289 + for (final LinkProtoSlot linkProtoSlot : linkProtoSlots) + { + final String linkSlotName = linkProtoSlot.getName(); + + if (linkProtoSlot.isEmbedded() || (embeddedLinkSlotNameSet != null && embeddedLinkSlotNameSet.contains(linkSlotName))) + { + + final Object slotValue = document.getSlotValue(linkSlotName); + + final Link link; + if (slotValue == null) + { + link = newModel(getSchemaLoader().getLinkSchemaUri()); + link.setRel(linkProtoSlot.getLinkRelationUri()); + document.setSlotValue(linkSlotName, link); + } + else + { + link = (Link) slotValue; + } + + if (link.getDoc() == null) + { + final Model embedded = document.reference(linkSlotName); + link.setDoc(embedded); + URI href = link.getHref(); + if (embedded instanceof Document) + { + href = ((Document) embedded).getUri(); + } + + link.setHref(href); + } + } + + } + } + + /** + * For Models that have a one or more collection slots, this method performs a search for the elements. + */ + protected final void searchForCollectionElements(final Model referrer) + { + + final Prototype prototype = referrer.getPrototype(); + + final Map collectionPropertyProtoSlots = prototype.getCollectionPropertyProtoSlots(); + if (collectionPropertyProtoSlots.isEmpty()) + { + return; + } + + URI referrerUri = null; + if (referrer instanceof Document) + { + referrerUri = ((Document) referrer).getUri(); + } + else if (referrer instanceof Embedded) + { + referrerUri = ((Embedded) referrer).getDocumentUri(); + } + + final ApiNavigator apiNavigator = _ApiLoader.getParentApiNavigator(referrerUri); + + final Set collectionSlotNames = collectionPropertyProtoSlots.keySet(); + + // TODO: Asynchronous + // https://wrmlorg.jira.com/browse/WRML-289 + for (final String collectionSlotName : collectionSlotNames) + { + + final CollectionPropertyProtoSlot collectionPropertyProtoSlot = collectionPropertyProtoSlots.get(collectionSlotName); + final ProtoSearchCriteria protoSearchCriteria = collectionPropertyProtoSlot.getProtoSearchCriteria(); + final Prototype referencePrototype = protoSearchCriteria.getReferencePrototype(); + final URI referenceSchemaUri = referencePrototype.getSchemaUri(); + + final Service service = _ServiceLoader.getServiceForSchema(referenceSchemaUri); + if (service == null) + { + throw new ContextException("Cannot search; no service applies to schema: " + referenceSchemaUri, null, this); + } + + final SearchCriteria searchCriteria = protoSearchCriteria.buildSearchCriteria(referrer); + + Set resultSet = null; + + try + { + resultSet = service.search(searchCriteria); + } + catch (UnsupportedOperationException uoe) + { + // Swallow this. + } + + if (resultSet != null && resultSet.size() > 0) + { + + final URI linkRelationUri = collectionPropertyProtoSlot.getLinkRelationUri(); + final Resource endpointResource = apiNavigator.getEndpointResource(linkRelationUri, referrerUri); + + for (final Model model : resultSet) + { + if (model instanceof Document) + { + final URI uri = endpointResource.getUri(model, linkRelationUri); + ((Document) model).setUri(uri); + } + + initManagedSlots(model); + } + + final List collection = (List) referrer.getSlotValue(collectionSlotName); + collection.addAll(resultSet); + } + } + } + + /* + * + * // Part of the HATEOAS automation. Searches for *system* documents matching the specified criteria. + * + * protected final void searchForLinkedSystemDocuments(final SearchCriteria searchCriteria, final SearchResult searchResult) { + * + * final Document document = searchCriteria.getReferrer(); if (!(document instanceof UniquelyNamed)) { return; } + * + * final UniqueName namespace = ((UniquelyNamed) document).getUniqueName(); + * + * Dimensions dimensions = null; SortedSet uniqueNames = null; + * + * final SchemaLoader schemaLoader = getSchemaLoader(); final URI schemaUri = searchCriteria.getResultSchemaUri(); final URI referenceLinkRelationUri = + * searchCriteria.getReferenceLinkRelationUri(); + * + * if (SystemLinkRelation.element.getUri().equals(referenceLinkRelationUri)) { if (schemaUri.equals(schemaLoader.getSchemaSchemaUri())) { uniqueNames = + * schemaLoader.getSchemaNames(namespace); dimensions = schemaLoader.getSchemaDimensions(); } } + * + * if (SystemLinkRelation.child.getUri().equals(referenceLinkRelationUri)) { if (schemaUri.equals(schemaLoader.getSchemaNamespaceSchemaUri())) { uniqueNames = + * schemaLoader.getSchemaSubnamespaces(namespace); dimensions = schemaLoader.getSchemaNamespaceDimensions(); } } + * + * if (uniqueNames == null || uniqueNames.isEmpty()) { return; } + * + * for (final UniqueName uniqueName : uniqueNames) { + * + * final Keys keys = new KeysBuilder(schemaUri, uniqueName).toKeys(); + * + * if (searchCriteria.isEmbedded()) { + * + * final Model model = getModel(keys, dimensions); + * + * if (model != null) { searchResult.addMatch(model); } + * + * } else { searchResult.addMatch(keys); } + * + * } + * + * } + */ + + @Override + public final M optionsModel(final Model model) + { + if (model == null) + { + throw new ContextException("Cannot retrieve options for a null model.", this); + } + + final URI uri = model.getSchemaUri(); + + // TODO: WRML-72 - Implement HTTP Options + final ApiNavigator apiNavigator = this._ApiLoader.getParentApiNavigator(uri); + LOGGER.debug("apiNavigator={}", apiNavigator); + // TODO: WRML-481 - Implement OPTIONS call at Resource Node + Resource resource = apiNavigator.getResource(uri); + + M result = newModel(ResourceOptions.class); + + // TODO: WRML-487 - Modelize OPTIONS response + // result.setSlotValue(slotName, resource.newValue); + + // TODO: WRML-478 - Implement OPTIONS call at root (/*) level + + return result; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/DefaultContextFactory.java b/core/src/main/java/org/wrml/runtime/DefaultContextFactory.java new file mode 100644 index 0000000..4d9d963 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/DefaultContextFactory.java @@ -0,0 +1,36 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +public class DefaultContextFactory implements Factory +{ + @Override + public Context create() + { + + return new DefaultContext(); + } +} diff --git a/core/src/main/java/org/wrml/runtime/DefaultEngine.java b/core/src/main/java/org/wrml/runtime/DefaultEngine.java new file mode 100644 index 0000000..003317b --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/DefaultEngine.java @@ -0,0 +1,134 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.util.AsciiArt; + +/** + *

+ * The WRML runtime's default {@link Engine} implementation. + *

+ * + * @see EngineConfiguration + * @see Context + * @see org.wrml.runtime.syntax.SyntaxLoader + */ +public class DefaultEngine implements Engine +{ + + private static final Logger LOG = LoggerFactory.getLogger(DefaultEngine.class); + + private static final Class DEFAULT_CONTEXT_FACTORY = DefaultContextFactory.class; + + private EngineConfiguration _Config; + + private Context _Context; + + private Factory _ContextFactory; + + public DefaultEngine() + { + + LOG.info(AsciiArt.LOGO); + LOG.info("Greetings Program!"); + } + + @Override + public void init(final EngineConfiguration config) throws EngineException + { + + if (config == null) + { + throw new EngineException("The WRML engine configuration cannot be null.", null, this); + } + + LOG.info("Creating Engine with config:\n" + config); + + _Config = config; + try + { + _ContextFactory = createContextFactory(); + } + catch (Exception t) + { + throw new EngineException(t.getMessage(), t, this); + } + + reloadContext(); + } + + @Override + public final EngineConfiguration getConfig() + { + + return _Config; + } + + @Override + public final Context getContext() + { + + return _Context; + } + + @Override + public final Context reloadContext() throws EngineException + { + + try + { + _Context = createContext(); + _Context.init(getConfig().getContext()); + } + catch (Exception t) + { + throw new EngineException(t.getMessage(), t, this); + } + + return _Context; + } + + @Override + public String toString() + { + + return getClass().getSimpleName() + " { config : " + _Config + ", context : " + _Context + "}"; + } + + protected Context createContext() + { + + return _ContextFactory.create(); + } + + protected Factory createContextFactory() + { + + return DefaultFactoryConfiguration.createFactory(getConfig().getContext(), DEFAULT_CONTEXT_FACTORY); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/DefaultFactoryConfiguration.java b/core/src/main/java/org/wrml/runtime/DefaultFactoryConfiguration.java new file mode 100644 index 0000000..087d9a2 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/DefaultFactoryConfiguration.java @@ -0,0 +1,68 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +public abstract class DefaultFactoryConfiguration extends DefaultConfiguration implements FactoryConfiguration +{ + + private String _FactoryClassName; + + + public DefaultFactoryConfiguration() + { + + } + + public static Factory createFactory(final FactoryConfiguration factoryConfiguration, final Class defaultFactoryClass) + { + + String factoryClassName = defaultFactoryClass.getName(); + + if (factoryConfiguration != null) + { + final String configuredFactoryClassName = factoryConfiguration.getFactory(); + if (configuredFactoryClassName != null && !configuredFactoryClassName.isEmpty()) + { + factoryClassName = configuredFactoryClassName; + } + } + + return DefaultConfiguration.newInstance(factoryClassName); + } + + @Override + public final String getFactory() + { + + return _FactoryClassName; + } + + public final void setFactory(final String factoryClassName) + { + + _FactoryClassName = factoryClassName; + } +} diff --git a/core/src/main/java/org/wrml/runtime/DefaultModel.java b/core/src/main/java/org/wrml/runtime/DefaultModel.java new file mode 100644 index 0000000..279c07d --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/DefaultModel.java @@ -0,0 +1,856 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +import com.google.common.base.Objects; +import org.apache.commons.lang3.ArrayUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.Model; +import org.wrml.model.rest.Document; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.schema.*; +import org.wrml.runtime.service.Service; +import org.wrml.util.AsciiArt; +import org.wrml.util.JavaBean; +import org.wrml.util.JavaMethod; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.net.URI; +import java.util.*; + +/** + * The runtime implementation for all {@link Model} instances. + *

+ * The {@link DefaultModel} is a {@link Model}, which gives it a "base class"-like role for all other models (WRML + * schema instances). + *

+ * The {@link DefaultModel} is also an {@link InvocationHandler}, which enables it to handle the implementation of every + * model method; including methods generated from user-defined schema slots. See + * {@link #invoke(Object, Method, Object[])} for more details. + *

+ * One to N {@link DefaultModel}s may share the same heap id, which means that they share the exact same slot + * value storage. This aspect of WRML's design is intended to support MVC application use cases, with + * {@link DefaultModel} abstracting the "actual" model state much like an MVC view might. For example, an app may have a + * few different views displaying or editing the same model data by having a {@link DefaultModel} associated with each + * view. WRML's {@link DefaultModel} may be thought of both "model" and (headless) view for MVC purposes. + *

+ * The WRML runtime uses schema-defined keys {@link Schema#getKeySlotNames()} to map a {@link DefaultModel}'s heap id to + * its unique (possibly composite key value). This technique ensures that the "slot state" of a unique model instance is + * stored only once within the heap. If a given model is unique, determined by it key slot value(s), then the WRML + * runtime will manage its data once but allow multiple {@link DefaultModel}s to reference it. This concept is known as + * "instance folding" and it ensures model singularity. + */ +final class DefaultModel implements Model, InvocationHandler +{ + + private static final long serialVersionUID = 1L; + + private static final Logger LOG = LoggerFactory.getLogger(DefaultModel.class); + + /** + * The runtime context within which this model exists. + */ + private final transient Context _Context; + + /** + * The {@link ModelState} which holds the slot values. + */ + private final ModelState _ModelState; + + /** + * The {@link Dimensions} associated with this model. + */ + private Dimensions _Dimensions; + + /** + * Only the WRML runtime can create {@link DefaultModel}s directly. + * + * @param context The {@link Context} for this model. + * @param modelState The state for the model. + */ + DefaultModel(final Context context, final ModelState modelState) + { + + _Context = context; + _ModelState = modelState; + } + + @Override + public Object clearSlotValue(final String slotName) + { + + // NOTE: Will be handled by invoke as a special method for all "defined" models + return clearSlotValue(this, slotName, null); + } + + @Override + public boolean containsSlotValue(final String slotName) + { + // NOTE: Will be handled by invoke as a special method for all "defined" models + return containsSlotValue(this, slotName, null); + } + + @Override + public Context getContext() + { + + return _Context; + } + + @Override + public Dimensions getDimensions() + { + + return _Dimensions; + } + + void setDimensions(final Dimensions dimensions) + { + + _Dimensions = dimensions; + } + + @Override + public UUID getHeapId() + { + + return getModelState().getHeapId(this); + } + + @Override + public Keys getKeys() + { + // See NOTE in getSchemaUri. + return null; + } + + @Override + public String getOriginServiceName() + { + + return getModelState().getOriginServiceName(this); + } + + @Override + public Prototype getPrototype() + { + // See NOTE in getSchemaUri. + + // Return the "undefined" Prototype. + return null; + } + + @Override + public URI getSchemaUri() + { + // NOTE: If this model is already a Proxy model's InvocationHandler, then calls to this method would be routed + // to invoke instead, where an appropriate schema id value will be returned. + + // Return the "undefined" schema URI by default. + return null; + } + + @Override + public Map getSlotMap() + { + + final ModelState modelState = getModelState(); + return modelState.getValuedSlots(this); + } + + @Override + public Object getSlotValue(final String slotName) + { + // NOTE: If this model is already a Proxy model's InvocationHandler, then calls to this method would be routed + // to invoke instead, where an appropriate schema id value will be used for this call. + + return getSlotValue(slotName, null); + } + + @Override + public void initKeySlots(final Keys keys) + { + + initKeySlots(this, keys); + } + + @Override + public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable + { + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + + final Model model = (Model) proxy; + final String methodName = method.getName(); + + final Class modelClass = model.getClass(); + final Class[] modelClassInterfaces = modelClass.getInterfaces(); + + // Get the model class's first implemented interface; it's schema interface + final Class modelSchemaInterface = modelClassInterfaces[0]; + final URI modelSchemaUri = schemaLoader.getTypeUri(modelSchemaInterface); + final Prototype prototype = schemaLoader.getPrototype(modelSchemaUri); + + // Get the class that defined the invoked method + final Class declaringClass = method.getDeclaringClass(); + + // + // If the invoked method comes from one of the base model types, then it may need to be handled in a + // special way. + // + + if (declaringClass.equals(ValueType.JAVA_TYPE_MODEL) || declaringClass.equals(Object.class) + || declaringClass.equals(Comparable.class)) + { + + // The invoked method was declared by one of the base model types, it may be a special case method. + final SpecialMethod specialMethod = SpecialMethod.fromString(methodName); + + if (specialMethod != null) + { + + // LOG.debug("Model method: " + method + " is considered a special method."); + + // The name of the invoked method matches the name of one of our special cases. + + final int argCount = (args != null) ? args.length : 0; + final boolean hasArgs = argCount > 0; + final Object firstArg = (hasArgs) ? args[0] : null; + + switch (specialMethod) + { + + // Handle the special case methods: + + case clearSlotValue: + { + + if (argCount == 1 && firstArg instanceof String) + { + final String slotName = (String) firstArg; + return clearSlotValue(model, slotName, modelSchemaUri); + } + + break; + } + + case containsSlotValue: + { + if (argCount == 1 && firstArg instanceof String) + { + final String slotName = (String) firstArg; + return containsSlotValue(model, slotName, modelSchemaUri); + } + + break; + } + + case equals: + { + + if (argCount == 1) + { + final Object other = firstArg; + if (other instanceof Proxy) + { + return equals(Proxy.getInvocationHandler(other)); + } + return false; + } + + break; + } + + case getKeys: + { + if (argCount == 0) + { + + return buildKeys(model); + } + + break; + } + + case getPrototype: + { + if (argCount == 0) + { + + return prototype; + } + + break; + } + + case getSchemaUri: + { + if (argCount == 0) + { + + if (ValueType.JAVA_TYPE_MODEL.equals(modelSchemaInterface)) + { + // Return null (undefined Schema) if we are only a Model + return null; + } + + // Reflect back the WRML representation + return modelSchemaUri; + } + + break; + } + + case getSlotValue: + { + + if (argCount >= 1) + { + final String slotName = (String) firstArg; + final ProtoSlot protoSlot = prototype.getProtoSlot(slotName); + return getSlotValue(model, slotName, protoSlot.getDeclaringSchemaUri()); + } + + break; + } + case initKeySlots: + { + + if (argCount == 1) + { + final Keys keys = (Keys) firstArg; + initKeySlots(model, keys); + return null; + } + + break; + } + case reference: + { + + if (argCount >= 1) + { + + final String linkSlotName = (String) firstArg; + final LinkProtoSlot linkProtoSlot = prototype.getProtoSlot(linkSlotName); + + Object[] referenceMethodArgs = null; + if (argCount > 1) + { + referenceMethodArgs = ArrayUtils.subarray(args, 1, args.length); + } + return invokeReference(model, linkProtoSlot, referenceMethodArgs); + + } + + break; + } + + case setSlotValue: + { + + if (argCount >= 2) + { + final String slotName = (String) firstArg; + final Object slotValue = args[1]; + final ProtoSlot protoSlot = prototype.getProtoSlot(slotName); + return setSlotValue(model, slotName, slotValue, protoSlot.getDeclaringSchemaUri()); + } + + break; + } + default: + break; + + } // End of switch + + } + + // LOG.debug("Model method: " + method + " was not handled as a special case."); + + // Proxy to this RuntimeModel itself, since it is all of the above + // declaring classes (independent of Proxy's magic trick). + return method.invoke(this, args); + } + + final JavaBean schemaBean = prototype.getSchemaBean(); + final SortedMap> linkMethods = schemaBean.getOtherMethods(); + + if (linkMethods.containsKey(methodName)) + { + String linkSlotName = methodName; + + if (linkSlotName.startsWith(JavaBean.GET)) + { + linkSlotName = methodName.substring(3); + linkSlotName = Character.toLowerCase(linkSlotName.charAt(0)) + linkSlotName.substring(1); + } + + final LinkProtoSlot linkProtoSlot = prototype.getProtoSlot(linkSlotName); + + DefaultModel.LOG.debug("Model method: " + method + " is considered a link/reference assicuated with slot: " + + linkProtoSlot); + + // The java method's invocation is interpreted as a link reference (i.e. "click"). + return invokeReference(model, linkProtoSlot, args); + } + + // + // Determine if the method name looks like a slot accessor (setter/getter) meaning that it starts with "get", + // "set", or "is". + // + + boolean isWrite = false; + String slotName = null; + + if (methodName.startsWith(JavaBean.GET)) + { + slotName = methodName.substring(3); + } + else if (methodName.startsWith(JavaBean.IS)) + { + slotName = methodName.substring(2); + } + else if (methodName.startsWith(JavaBean.SET)) + { + slotName = methodName.substring(3); + isWrite = true; + } + + if (slotName != null) + { + slotName = Character.toLowerCase(slotName.charAt(0)) + slotName.substring(1); + + final URI declaringSchemaUri = schemaLoader.getTypeUri(declaringClass); + + if (isWrite) + { + final Object newSlotValue = args[0]; + final Object oldSlotValue = setSlotValue(model, slotName, newSlotValue, declaringSchemaUri); + return oldSlotValue; + } + else + { + final Object slotValue = getSlotValue(model, slotName, declaringSchemaUri); + + return slotValue; + } + } + + throw new ModelException("Model method invocation was not handled for method: " + method, null, model); + } + + @Override + public M newAlternate(final Dimensions alternateDimensions) throws ModelException + { + + final Context context = getContext(); + final DefaultModelBuilder modelFactory = (DefaultModelBuilder) context.getModelBuilder(); + + // Create a new model with the same heap id as this; making it an "alternate" of this model's slot state. + return modelFactory.newModel(alternateDimensions, getModelState()); + } + + @Override + public M newCopy() throws ModelException + { + + final ModelBuilder factory = getContext().getModelBuilder(); + return factory.copyModel(this); + + } + + @Override + public E reference(final String linkSlotName) throws ModelException + { + + return reference(linkSlotName, null, null); + } + + @Override + public E reference(final String linkSlotName, final DimensionsBuilder dimensionsBuilder) + throws ModelException + { + + return reference(linkSlotName, dimensionsBuilder, null); + } + + @Override + public E reference(final String linkSlotName, final DimensionsBuilder dimensionsBuilder, + final Model parameter) throws ModelException + { + + return visitLink(this, linkSlotName, dimensionsBuilder, parameter); + } + + @Override + public String setOriginServiceName(final String originServiceName) + { + + return getModelState().setOriginServiceName(this, originServiceName); + } + + @Override + public Object setSlotValue(final String slotName, final Object newValue) throws ModelException + { + // NOTE: If this model is already a Proxy model's InvocationHandler, then calls to this method would be routed + // to invoke instead, where an appropriate schema id value will be used for this call. + + return setSlotValue(slotName, newValue, null); + } + + ModelState getModelState() + { + + return _ModelState; + } + + private final Keys buildKeys(final Model model) + { + + return buildKeys(model.getSchemaUri(), model.getSlotMap(), new KeysBuilder()); + } + + private final Keys buildKeys(final URI schemaUri, final Map readOnlySlotMap, + final KeysBuilder keysBuilder) + { + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final Prototype prototype = schemaLoader.getPrototype(schemaUri); + final SortedSet keySlotNames = prototype.getDeclaredKeySlotNames(); + if (keySlotNames != null && !keySlotNames.isEmpty()) + { + final Object keyValue; + + if (keySlotNames.size() == 1) + { + final String keySlotName = keySlotNames.first(); + if (readOnlySlotMap.containsKey(keySlotName)) + { + keyValue = readOnlySlotMap.get(keySlotName); + } + else + { + keyValue = null; + } + } + else + { + final SortedMap keySlots = new TreeMap(); + for (final String keySlotName : keySlotNames) + { + final Object keySlotValue = readOnlySlotMap.get(keySlotName); + keySlots.put(keySlotName, keySlotValue); + } + + keyValue = new CompositeKey(keySlots); + } + + if (keyValue != null) + { + keysBuilder.addKey(schemaUri, keyValue); + } + + } + + final Set baseSchemaUris = prototype.getAllBaseSchemaUris(); + if (baseSchemaUris != null && !baseSchemaUris.isEmpty()) + { + for (final URI baseSchemaUri : baseSchemaUris) + { + buildKeys(baseSchemaUri, readOnlySlotMap, keysBuilder); + } + } + + return keysBuilder.toKeys(); + } + + private Object clearSlotValue(final Model model, final String slotName, final URI schemaUri) + { + + final ModelState state = getModelState(); + return state.clearSlotValue(model, slotName, schemaUri); + } + + private boolean containsSlotValue(final Model model, final String slotName, final URI schemaUri) + { + + final ModelState state = getModelState(); + return state.containsSlotValue(model, slotName, schemaUri); + } + + private Object getSlotValue(final Model model, final String slotName, final URI schemaUri) + { + + return getSlotValue(model, slotName, schemaUri, true); + } + + private Object getSlotValue(final Model model, final String slotName, final URI schemaUri, final boolean strict) + { + + final ModelState state = getModelState(); + return state.getSlotValue(model, slotName, schemaUri, strict); + } + + private Object getSlotValue(final String slotName, final URI schemaUri) + { + + return getSlotValue(slotName, schemaUri, true); + } + + private Object getSlotValue(final String slotName, final URI schemaUri, final boolean strict) + { + + return getSlotValue(this, slotName, schemaUri, strict); + } + + private void initKeySlots(final Model model, final Keys keys) + { + + final SchemaLoader schemaLoader = getContext().getSchemaLoader(); + final URI documentSchemaUri = schemaLoader.getDocumentSchemaUri(); + + URI uri = null; + + // Apply all of these Keys to the cached model (in case any Key values are "new"). + for (final URI keyedSchemaUri : keys.getKeyedSchemaUris()) + { + final Object keyValue = keys.getValue(keyedSchemaUri); + + final Prototype keyedPrototype = schemaLoader.getPrototype(keyedSchemaUri); + final SortedSet keySlotNames = keyedPrototype.getDeclaredKeySlotNames(); + + if (keySlotNames.size() == 1) + { + if (documentSchemaUri.equals(keyedSchemaUri)) + { + // Save the document key slot (uri) for last so that the hypermedia engine has all other keys + // available + // (to auto-generate the Link href values). + uri = (URI) keyValue; + } + else + { + setSlotValue(model, keySlotNames.first(), keyValue, keyedSchemaUri, false); + } + } + else if (keyValue instanceof CompositeKey) + { + final CompositeKey compositeKey = (CompositeKey) keyValue; + final Map keySlots = compositeKey.getKeySlots(); + for (final String keySlotName : keySlots.keySet()) + { + setSlotValue(model, keySlotName, keySlots.get(keySlotName), keyedSchemaUri, false); + } + } + } + + // See comment above regarding saving the uri key slot for last. + if (uri != null) + { + setSlotValue(model, Document.SLOT_NAME_URI, uri, documentSchemaUri, false); + } + } + + private Object invokeReference(final Model model, final LinkProtoSlot linkProtoSlot, final Object[] args) + { + + + final int argCount = (args != null) ? args.length : 0; + final boolean hasArgs = argCount > 0; + final Object firstArg = (hasArgs) ? args[0] : null; + + DimensionsBuilder dimensionsBuilder = null; + Model parameter = null; + + if (hasArgs) + { + if (firstArg instanceof DimensionsBuilder) + { + dimensionsBuilder = (DimensionsBuilder) firstArg; + if (argCount == 2) + { + parameter = (Model) args[1]; + } + } + else + { + parameter = (Model) firstArg; + } + } + + if (dimensionsBuilder == null) + { + dimensionsBuilder = new DimensionsBuilder(model.getDimensions()); + dimensionsBuilder.setSchemaUri(linkProtoSlot.getResponseSchemaUri()); + } + + return visitLink(model, linkProtoSlot.getName(), dimensionsBuilder, parameter); + + } + + private Object setSlotValue(final Model model, final String slotName, final Object newValue, final URI schemaUri) + { + + return setSlotValue(model, slotName, newValue, schemaUri, true); + } + + private Object setSlotValue(final Model model, final String slotName, final Object newValue, final URI schemaUri, + final boolean strict) + { + + final ModelState state = getModelState(); + return state.setSlotValue(model, slotName, newValue, schemaUri, strict); + } + + private Object setSlotValue(final String slotName, final Object newValue, final URI schemaUri) + { + + return setSlotValue(slotName, newValue, schemaUri, true); + } + + private Object setSlotValue(final String slotName, final Object newValue, final URI schemaUri, final boolean strict) + { + + return setSlotValue(this, slotName, newValue, schemaUri, strict); + } + + private M visitLink(final Model model, final String linkSlotName, + final DimensionsBuilder dimensionsBuilder, final Model parameter) throws ModelException + { + + final Context context = getContext(); + return context.visitLink(model, linkSlotName, dimensionsBuilder, parameter); + } + + @Override + public boolean equals(final Object obj) + { + + if (obj instanceof DefaultModel) + { + final DefaultModel other = (DefaultModel) obj; + return Objects.equal(_Context, other._Context) && Objects.equal(_ModelState, other._ModelState) + && Objects.equal(_Dimensions, other._Dimensions); + } + else + { + return false; + } + } + + @Override + public int hashCode() + { + + return Objects.hashCode(_Context, _ModelState, _Dimensions); + } + + @Override + public String toString() + { + + return AsciiArt.express(this); + } + + /** + * The names of model methods that need to be considered as special cases within invoke. + */ + private static enum SpecialMethod + { + clearSlotValue, + containsSlotValue, + equals, + getKeys, + getPrototype, + getSchemaUri, + getSlotValue, + initKeySlots, + reference, + setSlotValue; + + // TODO: Want a generic utility to help statically cache a map of Enum .toString() values to the actual Enum + // values. + + private static final Map STRING_MAP; + + static + { + final SpecialMethod[] values = SpecialMethod.values(); + STRING_MAP = new HashMap(values.length); + for (final SpecialMethod e : values) + { + SpecialMethod.STRING_MAP.put(e.toString(), e); + } + } + + public static final SpecialMethod fromString(final String string) + { + + if (!SpecialMethod.STRING_MAP.containsKey(string)) + { + return null; + } + + return SpecialMethod.STRING_MAP.get(string); + } + + } + + /** + * Interface to the {@link DefaultModel}'s slot store and other matters of state. + */ + public static interface ModelState extends Cloneable + { + + Object clearSlotValue(final Model model, final String slotName, final URI schemaUri); + + ModelState clone(); + + boolean containsSlotValue(final Model model, final String slotName, final URI schemaUri); + + /** + * The unique heap id that corresponds to this model's slot storage. + */ + UUID getHeapId(final Model model); + + String getOriginServiceName(final Model model); + + Object getSlotValue(final Model model, final String slotName, final URI schemaUri, final boolean strict); + + Map getValuedSlots(final Model model); + + String setOriginServiceName(final Model model, final String originServiceName); + + Object setSlotValue(final Model model, final String slotName, final Object newValue, final URI schemaUri, + final boolean strict); + + } +} diff --git a/core/src/main/java/org/wrml/runtime/DefaultModelBuilder.java b/core/src/main/java/org/wrml/runtime/DefaultModelBuilder.java new file mode 100644 index 0000000..1eb7173 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/DefaultModelBuilder.java @@ -0,0 +1,569 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +import com.rits.cloning.Cloner; +import org.wrml.model.Model; +import org.wrml.runtime.DefaultModel.ModelState; +import org.wrml.runtime.schema.*; + +import java.lang.reflect.Proxy; +import java.net.URI; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; + +public class DefaultModelBuilder implements ModelBuilder +{ + + private static final Cloner CLONER = new Cloner(); + + private Context _Context; + + public DefaultModelBuilder() + { + + } + + @Override + public M copyModel(final Model model) + { + + final DefaultModel defaultModel = (DefaultModel) model; + final Model clone = new DefaultModel(model.getContext(), defaultModel.getModelState().clone()); + return clone.newAlternate(model.getDimensions()); + } + + @Override + public Context getContext() + { + + return _Context; + } + + @Override + public void init(final Context context) + { + + _Context = context; + } + + @Override + public final Dimensions newDimensions(final Class schemaInterface) throws ContextException + { + + return newDimensions(getSchemaLoader().getTypeUri(schemaInterface)); + } + + @Override + public final Dimensions newDimensions(final String schemaInterfaceName) throws ContextException + { + + return newDimensions(getSchemaLoader().getTypeUri(schemaInterfaceName)); + } + + @Override + public final Dimensions newDimensions(final URI schemaUri) throws ContextException + { + + final Dimensions dimensions = new DimensionsBuilder(schemaUri).toDimensions(); + return dimensions; + } + + @Override + public final Model newModel() throws ModelBuilderException + { + + return new DefaultModel(getSchemaLoader().getContext(), new DefaultModelState()); + } + + @Override + public final M newModel(final Class schemaInterface) throws ModelBuilderException + { + + return newModel(newDimensions(schemaInterface)); + } + + @Override + public final M newModel(final Dimensions dimensions) throws ModelBuilderException + { + + return newModel(dimensions, (ModelState) null); + } + + @Override + public M newModel(final Dimensions dimensions, final ConcurrentHashMap slots) + throws ModelBuilderException + { + + return newModel(dimensions, new DefaultModelState(UUID.randomUUID(), slots)); + } + + @Override + public final M newModel(final String schemaInterfaceName) throws ModelBuilderException + { + + return newModel(newDimensions(schemaInterfaceName)); + } + + @Override + public final M newModel(final URI schemaUri) throws ModelBuilderException + { + + return newModel(newDimensions(schemaUri)); + } + + protected final M newModel(final Dimensions dimensions, final ModelState existingState) + throws ModelBuilderException + { + + if (dimensions == null) + { + throw new ModelBuilderException("The dimensions cannot be null.", null, this); + } + + final SchemaLoader schemaLoader = getSchemaLoader(); + final Context context = schemaLoader.getContext(); + final URI schemaUri = dimensions.getSchemaUri(); + final Prototype prototype = schemaLoader.getPrototype(schemaUri); + + final ModelState modelState; + final boolean setDefaults; + + if (existingState != null) + { + modelState = existingState; + setDefaults = false; + } + else + { + modelState = new DefaultModelState(UUID.randomUUID()); + setDefaults = true; + + } + + final DefaultModel model = new DefaultModel(context, modelState); + if (setDefaults) + { + setDefaultValues(model, prototype); + } + + Class[] schemaInterfaceArray = null; + Class schemaInterface = null; + try + { + schemaInterface = schemaLoader.getSchemaInterface(schemaUri); + } + catch (final ClassNotFoundException e) + { + throw new ModelBuilderException("Unable to load the Java class representation of: " + schemaUri, e, this); + } + + if (schemaInterface != null) + { + if (!schemaInterface.isInterface()) + { + throw new ModelBuilderException( + "The requested schema already exists as a Java class (it is an implementation, not an interface).", + null, this); + } + + if (prototype.isAbstract()) + { + throw new ModelBuilderException("The requested schema (" + schemaUri + + ") is *abstract* and may never exist as a model.", null, this); + } + + if (ValueType.JAVA_TYPE_MODEL.isAssignableFrom(schemaInterface)) + { + // The requested schema already extends Model (as expected) + schemaInterfaceArray = new Class[]{schemaInterface}; + } + else + { + // The requested shema interface does not extend Model, add it to the Proxy's list manually. + schemaInterfaceArray = new Class[]{schemaInterface, ValueType.JAVA_TYPE_MODEL}; + } + } + + model.setDimensions(dimensions); + + // Defer to Java's cool Proxy class to work its magic. + // This alternate instance implements the Java interface(s) associated with the Dimension-specified WRML schema. + @SuppressWarnings("unchecked") + final M typedModel = (M) Proxy.newProxyInstance((ClassLoader) schemaLoader, schemaInterfaceArray, model); + + // Formally initialize the typed model by running the slot values through the constraints. + final Map slotMap = typedModel.getSlotMap(); + for (final String slotName : slotMap.keySet()) + { + final Object slotValue = slotMap.get(slotName); + final ProtoSlot protoSlot = prototype.getProtoSlot(slotName); + + if (protoSlot != null && protoSlot.getValueType() != ValueType.List) + { + typedModel.setSlotValue(slotName, slotValue); + } + } + + return typedModel; + + } + + protected void setDefaultValues(final Model model, final Prototype prototype) + { + + final SortedSet slotNames = prototype.getAllSlotNames(); + for (final String slotName : slotNames) + { + final ProtoSlot protoSlot = prototype.getProtoSlot(slotName); + if (protoSlot instanceof PropertyProtoSlot && !protoSlot.isAlias()) + { + final PropertyProtoSlot propertyProtoSlot = (PropertyProtoSlot) protoSlot; + final Object defaultValue = propertyProtoSlot.getDefaultValue(); + if (defaultValue != null) + { + model.setSlotValue(slotName, defaultValue); + } + } + } + } + + private SchemaLoader getSchemaLoader() + { + + return getContext().getSchemaLoader(); + } + + protected class DefaultModelState implements ModelState + { + + private final UUID _HeapId; + + private final ConcurrentHashMap _Slots; + + private String _OriginServiceName; + + public DefaultModelState() + { + + this(UUID.randomUUID()); + } + + protected DefaultModelState(final DefaultModelState source) + { + + //this(UUID.randomUUID(), CLONER.deepClone(source._Slots)); + this(UUID.randomUUID(), source._Slots); + _OriginServiceName = source._OriginServiceName; + } + + protected DefaultModelState(final UUID heapId) + { + + this(heapId, new ConcurrentHashMap()); + } + + protected DefaultModelState(final UUID heapId, final ConcurrentHashMap slots) + { + + _HeapId = heapId; + _Slots = slots; + } + + @Override + public Object clearSlotValue(final Model model, final String slotName, final URI schemaUri) + { + + String realSlotName = slotName; + if (schemaUri != null) + { + final SchemaLoader schemaLoader = getSchemaLoader(); + final Prototype prototype = schemaLoader.getPrototype(schemaUri); + if (prototype != null) + { + final ProtoSlot protoSlot = prototype.getProtoSlot(slotName); + if (protoSlot != null && protoSlot.isAlias()) + { + realSlotName = protoSlot.getRealName(); + } + } + } + + if (_Slots.containsKey(realSlotName)) + { + final Object oldValue = _Slots.remove(realSlotName); + return oldValue; + + } + return null; + } + + @Override + public DefaultModelState clone() + { + + return new DefaultModelState(this); + } + + @Override + public boolean containsSlotValue(final Model model, final String slotName, final URI schemaUri) + { + + String realSlotName = slotName; + if (schemaUri != null) + { + final SchemaLoader schemaLoader = getSchemaLoader(); + final Prototype prototype = schemaLoader.getPrototype(schemaUri); + if (prototype != null) + { + final ProtoSlot protoSlot = prototype.getProtoSlot(slotName, false); + if (protoSlot != null && protoSlot.isAlias()) + { + realSlotName = protoSlot.getRealName(); + } + } + } + + return _Slots.containsKey(realSlotName); + } + + @Override + public boolean equals(final Object obj) + { + + if (this == obj) + { + return true; + } + if (obj == null) + { + return false; + } + if (getClass() != obj.getClass()) + { + return false; + } + final DefaultModelState other = (DefaultModelState) obj; + if (_HeapId == null) + { + if (other._HeapId != null) + { + return false; + } + } + else if (!_HeapId.equals(other._HeapId)) + { + return false; + } + return true; + } + + @Override + public UUID getHeapId(final Model model) + { + + return _HeapId; + } + + @Override + public String getOriginServiceName(final Model model) + { + + return _OriginServiceName; + } + + @Override + public Object getSlotValue(final Model model, final String slotName, final URI schemaUri, final boolean strict) + { + + String realSlotName = slotName; + if (schemaUri != null) + { + final SchemaLoader schemaLoader = getSchemaLoader(); + final Prototype prototype = schemaLoader.getPrototype(schemaUri); + if (prototype != null) + { + final ProtoSlot protoSlot = prototype.getProtoSlot(slotName, strict); + if (protoSlot != null && protoSlot.isAlias()) + { + realSlotName = protoSlot.getRealName(); + } + } + } + + if (_Slots.containsKey(realSlotName)) + { + return _Slots.get(realSlotName); + } + + if (schemaUri == null) + { + return null; + } + + final SchemaLoader schemaLoader = getSchemaLoader(); + + final Prototype prototype = schemaLoader.getPrototype(schemaUri); + final ProtoSlot protoSlot = prototype.getProtoSlot(realSlotName, strict); + + if (protoSlot == null) + { + return null; + } + + /* + if (protoSlot instanceof LinkProtoSlot) + { + final LinkProtoSlot linkProtoSlot = (LinkProtoSlot) protoSlot; + final Link link = newModel(schemaLoader.getLinkSchemaUri()); + link.setRel(linkProtoSlot.getProtoRel().getUri()); + _Slots.put(realSlotName, link); + return link; + } + */ + if (protoSlot.getValueType() == ValueType.List) + { + // Lazily create the List slot value when requested + + final List emptyList = new LinkedList<>(); + _Slots.put(realSlotName, emptyList); + return emptyList; + } + else if (protoSlot instanceof PropertyProtoSlot) + { + // return the prototype's default + + return ((PropertyProtoSlot) protoSlot).getDefaultValue(); + } + + return null; + } + + @Override + public Map getValuedSlots(final Model model) + { + + return _Slots; + } + + @Override + public int hashCode() + { + + final int prime = 31; + int result = 1; + result = prime * result + ((_HeapId == null) ? 0 : _HeapId.hashCode()); + return result; + } + + @Override + public String setOriginServiceName(final Model model, final String originServiceName) + { + + final String oldOriginServiceName = _OriginServiceName; + _OriginServiceName = originServiceName; + return oldOriginServiceName; + } + + @SuppressWarnings({"rawtypes", "unchecked"}) + @Override + public Object setSlotValue(final Model model, final String slotName, final Object newValue, final URI schemaUri, final boolean strict) + { + + String realSlotName = slotName; + Object oldValue = null; + Prototype prototype = model.getPrototype(); + ProtoSlot protoSlot = null; + + if (schemaUri != null) + { + + final SchemaLoader schemaLoader = getSchemaLoader(); + if (prototype == null) + { + prototype = schemaLoader.getPrototype(schemaUri); + } + + protoSlot = prototype.getProtoSlot(slotName, strict); + if (protoSlot == null) + { + return null; + } + + realSlotName = protoSlot.getRealName(); + oldValue = _Slots.get(realSlotName); + + final PropertyProtoSlot propertyProtoSlot = (protoSlot instanceof PropertyProtoSlot) ? (PropertyProtoSlot) protoSlot + : null; + + if (propertyProtoSlot != null) + { + + if (oldValue == null) + { + oldValue = propertyProtoSlot.getDefaultValue(); + } + + propertyProtoSlot.validateNewValue(model, newValue); + + if (protoSlot.getValueType() == ValueType.List && newValue instanceof Collection) + { + final List list = (List) getSlotValue(model, realSlotName, schemaUri, strict); + if (list != newValue) + { + list.clear(); + list.addAll((Collection) newValue); + return list; + } + + return newValue; + } + } + } + + + if (newValue == null) + { + _Slots.remove(realSlotName); + } + else + { + _Slots.put(realSlotName, newValue); + } + + return oldValue; + } + + @Override + public String toString() + { + + return getClass().getSimpleName() + " { heapId : " + _HeapId + ", slots : " + _Slots + ", origin : " + _OriginServiceName + "}"; + } + + + } + +} diff --git a/core/src/main/java/org/wrml/runtime/DefaultModelBuilderFactory.java b/core/src/main/java/org/wrml/runtime/DefaultModelBuilderFactory.java new file mode 100644 index 0000000..2412076 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/DefaultModelBuilderFactory.java @@ -0,0 +1,36 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +public class DefaultModelBuilderFactory implements Factory +{ + @Override + public ModelBuilder create() + { + + return new DefaultModelBuilder(); + } +} diff --git a/core/src/main/java/org/wrml/runtime/Dimensions.java b/core/src/main/java/org/wrml/runtime/Dimensions.java new file mode 100644 index 0000000..f3ee583 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/Dimensions.java @@ -0,0 +1,161 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +import org.wrml.model.Model; +import org.wrml.model.rest.Document; +import org.wrml.model.rest.Link; +import org.wrml.model.rest.LinkRelation; +import org.wrml.model.rest.LinkTemplate; +import org.wrml.model.schema.Schema; +import org.wrml.model.schema.Slot; +import org.wrml.runtime.service.Service; +import org.wrml.runtime.service.cache.ShardedModelCache; +import org.wrml.runtime.syntax.LocaleSyntaxHandler; + +import java.io.Serializable; +import java.net.URI; +import java.util.List; +import java.util.Locale; +import java.util.SortedMap; + +/** + *

+ * Dimensions are the request parameters/options associated with a {@link Model}'s retrieval. The design of this POJO + * class is intended to reflect and abstract the role of HTTP/1.1 headers in REST interactions designed to respond with + * some representational state. + *

+ *

+ *

+ * WRML core methods used to retrieve a {@link Model} require a {@link Dimensions} parameter in order to + * specify/customize some aspects of the sought-after {@link Model}. This design is roughly analogous to the HTTP/1.1 + * GET request message headers that are used to "dimension" a response representation. + *

+ *

+ *

+ * {@link Dimensions} role in a {@link Model}'s life-cycle, as a predecessor for the Model's first retrieval and as a + * "request closures" enables the WRML runtime to "chain" request metadata when automating hypermedia-based interactions + * between {@link Model}s. + *

+ * + * @see Context#getModel(Keys, Dimensions) + * @see Model#getDimensions() + * @see HTTP/1.1 Header Field Definitions + */ +public interface Dimensions extends Serializable +{ + + /** + * An optional map of metadata "headers" associated with these {@link Dimensions}. + * + * @see org.wrml.runtime.rest.HeaderCategory + * @see org.wrml.runtime.rest.CommonHeader + */ + SortedMap getMetadata(); + + /** + * An optional map of request "query" associated with these {@link Dimensions}. + * + * @see java.net.URI#getQuery() + */ + SortedMap getQueryParameters(); + + /** + * An optional list of the {@link Link} {@link Slot} names that should be "referenced" by the {@link Context} + * or + * origin {@link Service} when retrieving the {@link Model} associated with these {@link Dimensions}. + * + * @see Link + * @see LinkRelation + * @see Slot + * @see org.wrml.runtime.schema.LinkSlot + */ + List getEmbeddedLinkSlotNames(); + + /** + *

+ * An optional list of {@link Slot} names that should be excluded from the requested {@link Model} associated + * with these {@link Dimensions}. If this list is not empty, it contains the list of slot names that should not have + * values defined in the {@link Model}. + *

+ *

+ *

+ * NOTE: This feature is not supported yet. Need to figure out what it means to have partial {@link Model}s + * in the heap. + *

+ * + * @see ShardedModelCache + */ + List getExcludedSlotNames(); + + /** + *

+ * An optional list of {@link Slot} names that should be included in the requested {@link Model} associated + * with these {@link Dimensions}. If this list is not empty, it contains the listing of all slot names that should + * have values defined in the {@link Model}. + *

+ *

+ *

+ * NOTE: This feature is not supported yet. Need to figure out what it means to have partial {@link Model}s + * in the heap. + *

+ */ + List getIncludedSlotNames(); + + /** + * The optional {@link Locale} "view" of the {@link Model} associated with these {@link Dimensions}. + * + * @see LocaleSyntaxHandler + */ + Locale getLocale(); + + /** + * The optional id of the {@link Document} that referenced the {@link Model} associated with these + * {@link Dimensions}. + * + * @see Model#reference(String, DimensionsBuilder) + * @see org.wrml.model.rest.Document#getUri() + * @see LinkRelation + * @see LinkTemplate + */ + URI getReferrerUri(); + + /** + *

+ * The required {@link URI} id ({@link org.wrml.model.rest.Document#getUri()} ()}) associated with the {@link Schema} that describes + * the structure of the {@link Model} to be retrieved with these {@link Dimensions}. + *

+ * + * @see Context#getModel(org.wrml.runtime.Keys, Dimensions) + * @see Model + * @see Schema + * @see org.wrml.model.rest.Document#getUri() + * @see http://www.wrml.org/schema + * @see REST + * API Design: Put the "Type" in "Content-Type" + */ + URI getSchemaUri(); + +} diff --git a/core/src/main/java/org/wrml/runtime/DimensionsBuilder.java b/core/src/main/java/org/wrml/runtime/DimensionsBuilder.java new file mode 100644 index 0000000..edd8feb --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/DimensionsBuilder.java @@ -0,0 +1,410 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +import com.rits.cloning.Cloner; +import org.wrml.model.Model; +import org.wrml.model.rest.Document; +import org.wrml.model.schema.Schema; +import org.wrml.util.AsciiArt; + +import java.net.URI; +import java.util.*; + +/** + * A simple builder for immutable {@link Dimensions}. + */ +public final class DimensionsBuilder +{ + + private final MutableDimensions _Dimensions; + + /** + * Default constructor creates initially "empty" Dimensions. + */ + public DimensionsBuilder() + { + + _Dimensions = new MutableDimensions(); + } + + /** + * Creates the {@link DimensionsBuilder} based upon the initial {@link Dimensions}. + */ + public DimensionsBuilder(final Dimensions dimensions) + { + + _Dimensions = ((MutableDimensions) dimensions).clone(); + } + + /** + * Creates the {@link DimensionsBuilder} with the initial dimensioned schema. + */ + public DimensionsBuilder(final URI schemaUri) + { + + this(); + _Dimensions.setSchemaUri(schemaUri); + + } + + public SortedMap getMetadata() + { + + return _Dimensions.getMetadata(); + } + + public SortedMap getQueryParameters() + { + + return _Dimensions.getQueryParameters(); + } + + public List getEmbeddedLinkSlotNames() + { + + return _Dimensions.getEmbeddedLinkSlotNames(); + } + + public List getExcludedSlotNames() + { + + return _Dimensions.getExcludedSlotNames(); + } + + public List getIncludedSlotNames() + { + + return _Dimensions.getIncludedSlotNames(); + } + + public Locale getLocale() + { + + return _Dimensions.getLocale(); + } + + /** + * @see Dimensions#getLocale() + */ + public DimensionsBuilder setLocale(final Locale locale) + { + + _Dimensions.setLocale(locale); + return this; + } + + public URI getReferrerUri() + { + + return _Dimensions.getReferrerUri(); + } + + /** + * @see Dimensions#getReferrerUri() + */ + public DimensionsBuilder setReferrerUri(final URI referrerUri) + { + + _Dimensions.setReferrerUri(referrerUri); + return this; + } + + public URI getSchemaUri() + { + + return _Dimensions.getSchemaUri(); + } + + /** + *

+ * The required {@link URI} id ({@link Document#getUri()}) associated with the {@link Schema} that describes + * the structure of the {@link Model} to be retrieved with these {@link Dimensions}. + *

+ * + * @see Dimensions#getSchemaUri() + */ + public DimensionsBuilder setSchemaUri(final URI schemaUri) + { + + _Dimensions.setSchemaUri(schemaUri); + return this; + } + + /** + * Return the build {@link Dimensions}. + */ + public Dimensions toDimensions() + { + + return _Dimensions; + } + + @Override + public String toString() + { + + return getClass().getSimpleName() + " { dimensions : " + _Dimensions + "}"; + } + + @Override + public boolean equals(final Object o) + { + + if (this == o) + { + return true; + } + if (o == null || getClass() != o.getClass()) + { + return false; + } + + final DimensionsBuilder that = (DimensionsBuilder) o; + + if (!_Dimensions.equals(that._Dimensions)) + { + return false; + } + + return true; + } + + @Override + public int hashCode() + { + + return _Dimensions.hashCode(); + } + + /** + * Internal, mutable implementation of {@link Dimensions}. + */ + private static final class MutableDimensions implements Cloneable, Dimensions + { + + private static final Cloner CLONER = new Cloner(); + + private static final long serialVersionUID = 1L; + + private final SortedMap _Metadata; + + private final List _EmbeddedLinkSlotNames; + + private final List _ExcludedSlotNames; + + private final List _IncludedSlotNames; + + private final SortedMap _QueryParameters; + + private URI _SchemaUri; + + private URI _ReferrerUri; + + private Locale _Locale; + + MutableDimensions() + { + + _Metadata = new TreeMap<>(); + _QueryParameters = new TreeMap<>(); + _EmbeddedLinkSlotNames = new LinkedList<>(); + _ExcludedSlotNames = new LinkedList<>(); + _IncludedSlotNames = new LinkedList<>(); + + } + + @Override + public MutableDimensions clone() + { + + return CLONER.deepClone(this); + } + + @Override + public SortedMap getMetadata() + { + + return _Metadata; + } + + @Override + public List getEmbeddedLinkSlotNames() + { + + return _EmbeddedLinkSlotNames; + + } + + @Override + public List getExcludedSlotNames() + { + + return _ExcludedSlotNames; + } + + @Override + public List getIncludedSlotNames() + { + + return _IncludedSlotNames; + } + + @Override + public Locale getLocale() + { + + return _Locale; + } + + /** + * @see #getLocale() + */ + void setLocale(final Locale locale) + { + + _Locale = locale; + } + + @Override + public SortedMap getQueryParameters() + { + + return _QueryParameters; + } + + @Override + public URI getReferrerUri() + { + + return _ReferrerUri; + } + + /** + * @see #getReferrerUri() + */ + void setReferrerUri(final URI referrerDocumentUri) + { + + _ReferrerUri = referrerDocumentUri; + } + + @Override + public URI getSchemaUri() + { + + return _SchemaUri; + } + + /** + *

+ * The required {@link URI} id ({@link Document#getUri()}) associated with the {@link Schema} that + * describes the structure of the {@link Model} to be retrieved with these {@link Dimensions}. + *

+ * + * @see #getSchemaUri() + */ + void setSchemaUri(final URI schemaUri) + { + + _SchemaUri = schemaUri; + } + + @Override + public boolean equals(final Object o) + { + + if (this == o) + { + return true; + } + if (!(o instanceof MutableDimensions)) + { + return false; + } + + final MutableDimensions that = (MutableDimensions) o; + + if (_Metadata != null ? !_Metadata.equals(that._Metadata) : that._Metadata != null) + { + return false; + } + if (_EmbeddedLinkSlotNames != null ? !_EmbeddedLinkSlotNames.equals(that._EmbeddedLinkSlotNames) : that._EmbeddedLinkSlotNames != null) + { + return false; + } + if (_ExcludedSlotNames != null ? !_ExcludedSlotNames.equals(that._ExcludedSlotNames) : that._ExcludedSlotNames != null) + { + return false; + } + if (_IncludedSlotNames != null ? !_IncludedSlotNames.equals(that._IncludedSlotNames) : that._IncludedSlotNames != null) + { + return false; + } + if (_Locale != null ? !_Locale.equals(that._Locale) : that._Locale != null) + { + return false; + } + if (_QueryParameters != null ? !_QueryParameters.equals(that._QueryParameters) : that._QueryParameters != null) + { + return false; + } + if (_ReferrerUri != null ? !_ReferrerUri.equals(that._ReferrerUri) : that._ReferrerUri != null) + { + return false; + } + if (_SchemaUri != null ? !_SchemaUri.equals(that._SchemaUri) : that._SchemaUri != null) + { + return false; + } + + return true; + } + + @Override + public int hashCode() + { + + int result = _SchemaUri != null ? _SchemaUri.hashCode() : 0; + result = 31 * result + (_ReferrerUri != null ? _ReferrerUri.hashCode() : 0); + result = 31 * result + (_Locale != null ? _Locale.hashCode() : 0); + result = 31 * result + (_Metadata != null ? _Metadata.hashCode() : 0); + result = 31 * result + (_EmbeddedLinkSlotNames != null ? _EmbeddedLinkSlotNames.hashCode() : 0); + result = 31 * result + (_ExcludedSlotNames != null ? _ExcludedSlotNames.hashCode() : 0); + result = 31 * result + (_IncludedSlotNames != null ? _IncludedSlotNames.hashCode() : 0); + result = 31 * result + (_QueryParameters != null ? _QueryParameters.hashCode() : 0); + return result; + } + + @Override + public String toString() + { + + return AsciiArt.express(this); + } + + } + +} diff --git a/core/src/main/java/org/wrml/runtime/Engine.java b/core/src/main/java/org/wrml/runtime/Engine.java new file mode 100644 index 0000000..5f2355c --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/Engine.java @@ -0,0 +1,71 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +import org.wrml.model.Model; +import org.wrml.model.rest.Api; + +import javax.xml.validation.Schema; + +/** + *

+ * The {@link Engine} is the WRML runtime's root component. The Engine uses a {@link org.wrml.runtime.syntax.SyntaxLoader} to manage the more + * static/permanent data and the {@link Context} to load App and Api specific data. + *

+ * + * @see EngineConfiguration + * @see Context + * @see org.wrml.runtime.syntax.SyntaxLoader + */ +public interface Engine +{ + + /** + * Initialize the Engine, loading the initial Context + * + * @param config the Engine's configuration. + */ + void init(EngineConfiguration config) throws EngineException; + + /** + * The {@link Engine}'s configuration, supplied during initialization. + */ + EngineConfiguration getConfig(); + + /** + * The currently loaded {@link Context}. + */ + Context getContext(); + + /** + * Call to "burst" the current {@link Context}'s bubble and reform a new/empty one. Or in code lingo, do a pointer + * swap and leave the current {@link Context} behind (along with any loaded {@link Schema}, {@link Api}s, and + * {@link Model}s). + *

+ * {@link Engine} implementations should initialize a {@link Context} to begin with, meaning that calling this + * method is only necessary if the caller wishes to do a "soft reboot" of the runtime. + */ + Context reloadContext() throws EngineException; +} diff --git a/core/src/main/java/org/wrml/runtime/EngineConfiguration.java b/core/src/main/java/org/wrml/runtime/EngineConfiguration.java new file mode 100644 index 0000000..761d718 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/EngineConfiguration.java @@ -0,0 +1,186 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.util.AsciiArt; +import org.wrml.util.PropertyUtil; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.net.URI; +import java.net.URL; + +import com.fasterxml.jackson.databind.ObjectMapper; + +/** + * WRML engine configuration. By default, looks for a {@link #DEFAULT_WRML_CONFIGURATION_FILE_NAME} on the classpath, but can be overridden by specifying + * -D{@link #WRML_CONFIGURATION_FILE_PATH_PROPERTY_NAME wrmlConfiguration}=file.json. + */ +public final class EngineConfiguration extends DefaultConfiguration +{ + + public static final String WRML_CONFIGURATION_FILE_PATH_PROPERTY_NAME = "wrmlConfiguration"; + + public final static String DEFAULT_WRML_CONFIGURATION_FILE_NAME = "wrml.json"; + + private static final Logger LOGGER = LoggerFactory.getLogger(EngineConfiguration.class); + + private ContextConfiguration _ContextConfiguration; + + // Privatize constructor + private EngineConfiguration() + { + + } + + public final static EngineConfiguration load() throws IOException + { + + String fileName = PropertyUtil.getSystemProperty(WRML_CONFIGURATION_FILE_PATH_PROPERTY_NAME); + if (fileName != null) + { + return EngineConfiguration.load(fileName); + } + + return EngineConfiguration.load((File) null); + } + + public final static EngineConfiguration load(final File fileOrDirectory) throws IOException + { + + File configFile = fileOrDirectory; + + if (fileOrDirectory == null) + { + // Check the system property + String fileName = PropertyUtil.getSystemProperty(WRML_CONFIGURATION_FILE_PATH_PROPERTY_NAME); + if (fileName != null) + { + configFile = FileUtils.getFile(fileName); + } + else + { + // Look in the local directory for the configuration file with the default name + configFile = FileUtils.getFile(new File("."), DEFAULT_WRML_CONFIGURATION_FILE_NAME); + + if (!configFile.exists()) + { + configFile = FileUtils.getFile(FileUtils.getUserDirectory(), DEFAULT_WRML_CONFIGURATION_FILE_NAME); + } + } + } + else if (fileOrDirectory.isDirectory()) + { + // Named a directory (assume default file name) + configFile = FileUtils.getFile(fileOrDirectory, DEFAULT_WRML_CONFIGURATION_FILE_NAME); + } + + if (!configFile.exists()) + { + throw new FileNotFoundException("The path \"" + configFile.getAbsolutePath() + "\" does not exist."); + } + + LOGGER.trace("loading EngineConfiguration from '{}'...", configFile); + final InputStream in = FileUtils.openInputStream(configFile); + final EngineConfiguration config = EngineConfiguration.load(in); + IOUtils.closeQuietly(in); + LOGGER.debug("loaded EngineConfiguration from '{}'", configFile); + return config; + } + + /** + * Load the EngineConfiguration from a named resource owned by the identified class. + */ + public final static EngineConfiguration load(final Class resourceOwner, final String resourceName) throws IOException + { + final URL resource = resourceOwner.getResource(resourceName); + LOGGER.trace("loading EngineConfiguration from '{}' [{}]...", resourceName, resource); + final EngineConfiguration result = EngineConfiguration.load(resourceOwner.getResourceAsStream(resourceName)); + LOGGER.debug("loaded EngineConfiguration from '{}'", resource); + return result; + } + + public final static EngineConfiguration load(final File directory, final String fileName) throws IOException + { + + return EngineConfiguration.load(FileUtils.getFile(directory, fileName)); + } + + public final static EngineConfiguration load(final InputStream in) throws IOException + { + + return new ObjectMapper().readValue(in, EngineConfiguration.class); + } + + public final static EngineConfiguration load(final String filePath) throws IOException + { + + final File fileOrDirectory = (filePath != null) ? FileUtils.getFile(filePath) : null; + return EngineConfiguration.load(fileOrDirectory); + } + + public final static EngineConfiguration load(final URI configLocation) throws IOException + { + + return EngineConfiguration.load(configLocation.toURL()); + } + + public final static EngineConfiguration load(final URL configLocation) throws IOException + { + // http://www.unitconversion.org/time/seconds-to-milliseconds-conversion.html + + final int connectionTimeoutMilliseconds = 10000; + final int readTimeoutMilliseconds = 10000; + final File tempFile = FileUtils.getFile(FileUtils.getTempDirectory(), EngineConfiguration.DEFAULT_WRML_CONFIGURATION_FILE_NAME); + FileUtils.copyURLToFile(configLocation, tempFile, connectionTimeoutMilliseconds, readTimeoutMilliseconds); + return EngineConfiguration.load(tempFile); + } + + public ContextConfiguration getContext() + { + + return _ContextConfiguration; + } + + public void setContext(final ContextConfiguration contextConfiguration) + { + + _ContextConfiguration = contextConfiguration; + } + + @Override + public String toString() + { + + return AsciiArt.express(this); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/EngineException.java b/core/src/main/java/org/wrml/runtime/EngineException.java new file mode 100644 index 0000000..72efad6 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/EngineException.java @@ -0,0 +1,47 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +/** + * The {@link Engine}'s associated error type. + */ +public class EngineException extends RuntimeException +{ + + private static final long serialVersionUID = 1L; + + private final Engine _Engine; + + EngineException(final String message, final Throwable cause, final Engine engine) + { + super(message, cause); + _Engine = engine; + } + + public Engine getEngine() + { + return _Engine; + } +} diff --git a/core/src/main/java/org/wrml/runtime/Factory.java b/core/src/main/java/org/wrml/runtime/Factory.java new file mode 100644 index 0000000..bbd5830 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/Factory.java @@ -0,0 +1,31 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +public interface Factory +{ + public T create(); +} diff --git a/core/src/main/java/org/wrml/runtime/FactoryConfiguration.java b/core/src/main/java/org/wrml/runtime/FactoryConfiguration.java new file mode 100644 index 0000000..38126a1 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/FactoryConfiguration.java @@ -0,0 +1,31 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +public interface FactoryConfiguration extends Configuration +{ + String getFactory(); +} diff --git a/core/src/main/java/org/wrml/runtime/Keys.java b/core/src/main/java/org/wrml/runtime/Keys.java new file mode 100644 index 0000000..20792be --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/Keys.java @@ -0,0 +1,133 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +import org.wrml.model.Model; +import org.wrml.model.rest.Api; +import org.wrml.model.rest.Document; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.schema.Prototype; + +import java.io.Serializable; +import java.net.URI; +import java.util.Set; + +/** + *

+ * {@link Keys} encapsulate the idea that a given model may have a few distinct identities, with respect to a few + * distinct domains (identity spaces). When connecting or intersecting domains, it is often necessary to translate or + * transform between two (or more) identity spaces. A common example of this problem occurs when an organization exposes + * an "internal" system to a globally/universally visible "external" domain, such as the Web. + *

+ *

+ *

+ * "External" domains require universally unique identifiers, such as a Document model's "URI on the Web". The + * Web's URIs commonly mask some other, "internal" (surrogate) identifier, such as a storage system-generated identifier + * (e.g. DB primary key). A URI "facade" has the side-benefit of granting the storage system's entities unique + * identities within the Universe of Documents domain. + *

+ *

+ *

+ * A {@link Keys} object contains one or more key values that identify a single model instance within the domain of an + * associated {@link Schema}. The WRML runtime uses {@link Keys} to communicate the multiple identity values that + * scope/qualify models within some multitude of domains. + *

+ *

+ *

+ * A {@link Keys} instance organizes a model's multiple identities via a mapping from {@link Schema} URI (a key value + * itself from {@link Document#getUri()}) to the model's key slot value (represented via {@link Object} so that it fits + * in any slot). This approach enables the WRML runtime itself to be agnostic with regard to the nature of keys, while + * allowing clients and servers to identify models using the key names and value types that feel natural. + *

+ *

+ *

+ * As a REST-oriented framework, WRML's core engine handles the translation between a model's Document.id and + * it's "internal", surrogate key(s). The {@link org.wrml.runtime.rest.ApiLoader#buildDocumentKeys(URI, URI)} method is a convenient + * way to create {@link Keys} containing the Document.uri and any surrogate key that could be derived from the + * available {@link Api} metadata. + *

+ *

+ *

+ * From a REST perspective, the specific problem that {@link Keys} helps WRML address is the enforcement (or at least + * encouragement) of "The Opacity Axiom", which applies to the use of URIs. The beginning of this axiom is quoted below. + * Please refer to the source document, Tim Berners-Lee's + * original WWW design notes, for the complete description. + *

+ *

+ *

The Opacity Axiom

+ *

+ *

+ * The concept of an identifier referring to a resource is very fundamental in the World Wide Web. Identifiers will + * refer to resources all different sorts. Any addressable thing will have an identifier. There are mechanisms we have + * just discussed for extending the spaces of identifiers into name spaces which have different properties. Different + * spaces may address different sorts of objects, and the relationship between the identifier and the object, such as + * the uniqueness of the object and the concept of identity, may vary. A very important axiom of the Web is that in + * general: + *

+ *

+ *

Axiom: Opacity of URIs
+ *

+ *

+ * The only thing you can use an identifier for is to refer to an object. When you are not dereferencing, you should not + * look at the contents of the URI string to gain other information. + *

+ *

+ *

+ * For the bulk of Web use URIs are passed around without anyone looking at their internal contents, the content of the + * string itself. This is known as the opacity. Software should be made to treat URIs as generally as possible, to allow + * the most reuse of existing or future schemes. + *

+ * + * @see Model#getKeys() + * @see Prototype#getAllKeySlotNames() + * @see org.wrml.runtime.schema.WRML + * @see Schema#getKeySlotNames() + * @see The Opacity Axiom + */ +public interface Keys extends Serializable +{ + + /** + * Returns the number (N >= 1) of individual keys in this Keys + */ + int getCount(); + + /** + * Returns a set of the schemas that pertain to this Keys instance. + * + * @return a Set of key URI's + */ + Set getKeyedSchemaUris(); + + /** + * Returns the key object that correlates to the schema passed in. + * Useful when a model (or request) has more than one schema. + * + * @param keyedSchemaUri + * @return the value of the requested key + */ + V getValue(final URI keyedSchemaUri); + +} diff --git a/core/src/main/java/org/wrml/runtime/KeysBuilder.java b/core/src/main/java/org/wrml/runtime/KeysBuilder.java new file mode 100644 index 0000000..2abba6c --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/KeysBuilder.java @@ -0,0 +1,230 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +import org.wrml.util.AsciiArt; + +import java.net.URI; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Set; + + +/** + * A simple builder for immutable {@link Keys}. + */ +public final class KeysBuilder +{ + + private final MutableKeys _Keys; + + /** + * Default constructor creates initially "empty" Keys. + */ + public KeysBuilder() + { + + _Keys = new MutableKeys(); + } + + /** + * Creates the {@link KeysBuilder} with the initial keyed schema. + */ + public KeysBuilder(final URI schemaUri, final Object keyValue) + { + + this(); + addKey(schemaUri, keyValue); + } + + public KeysBuilder addKey(final URI schemaUri, final Object keyValue) + { + + _Keys.addKey(schemaUri, keyValue); + return this; + } + + public Keys toKeys() + { + + return _Keys; + } + + @Override + public String toString() + { + + return getClass().getSimpleName() + " { keys : " + _Keys + "}"; + } + + /** + * Include all of the other Keys in the built Keys + * + * @param otherKeys some other Keys to include in the Keys being built. + */ + public void addAll(final Keys otherKeys) + { + + if (otherKeys instanceof MutableKeys) + { + _Keys._KeyedSchemaUriToKeyValue.putAll(((MutableKeys) otherKeys).getInternalMap()); + } + else if (otherKeys != null) + { + final Set keyedSchemaUris = otherKeys.getKeyedSchemaUris(); + for (URI keyedSchemaUri : keyedSchemaUris) + { + _Keys.addKey(keyedSchemaUri, otherKeys.getValue(keyedSchemaUri)); + } + } + } + + /** + * Internal, mutable implementation of {@link Keys}. + */ + private static final class MutableKeys implements Keys + { + + private static final long serialVersionUID = 1L; + + private final LinkedHashMap _KeyedSchemaUriToKeyValue; + + /** + * Create a set of keys with the specified pair as the first/primary identity. + */ + MutableKeys() + { + + _KeyedSchemaUriToKeyValue = new LinkedHashMap(); + } + + @Override + public boolean equals(final Object o) + { + + if (this == o) + { + return true; + } + if (!(o instanceof MutableKeys)) + { + return false; + } + + final MutableKeys that = (MutableKeys) o; + + if (_KeyedSchemaUriToKeyValue != null ? !_KeyedSchemaUriToKeyValue.equals(that._KeyedSchemaUriToKeyValue) : that._KeyedSchemaUriToKeyValue != null) + { + return false; + } + + return true; + } + + @Override + public int hashCode() + { + + return _KeyedSchemaUriToKeyValue != null ? _KeyedSchemaUriToKeyValue.hashCode() : 0; + } + + @Override + public int getCount() + { + + return _KeyedSchemaUriToKeyValue.size(); + } + + /** + * Returns a set of the schemas that pertain to this Keys instance. + * + * @return an unordered Set of key URI's + */ + @Override + public Set getKeyedSchemaUris() + { + + return _KeyedSchemaUriToKeyValue.keySet(); + } + + /** + * Returns the key object that correlates to the schema passed in. + * Useful when a model (or request) has more than one schema. + * + * @param keyedSchemaUri + * @return the value of the requested key + */ + @Override + @SuppressWarnings("unchecked") + public V getValue(final URI keyedSchemaUri) + { + + if (!_KeyedSchemaUriToKeyValue.containsKey(keyedSchemaUri)) + { + return null; + } + + return (V) _KeyedSchemaUriToKeyValue.get(keyedSchemaUri); + } + + @Override + public String toString() + { + + return AsciiArt.express(_KeyedSchemaUriToKeyValue); + } + + /** + * Add or replace a key to signify a secondary identity (scoped within an alternate/base schema). + * + * @param schemaUri - the schema to associate the key with + * @param keyValue + */ + void addKey(final URI schemaUri, final Object keyValue) + { + + if (schemaUri == null) + { + throw new NullPointerException("The schema uri is required."); + } + + if (keyValue == null) + { + throw new NullPointerException("The key value is required."); + } + + _KeyedSchemaUriToKeyValue.put(schemaUri, keyValue); + + } + + Map getInternalMap() + { + + return _KeyedSchemaUriToKeyValue; + } + + } + +} diff --git a/core/src/main/java/org/wrml/runtime/Loader.java b/core/src/main/java/org/wrml/runtime/Loader.java new file mode 100644 index 0000000..f77404e --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/Loader.java @@ -0,0 +1,33 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +public interface Loader extends ContextSensitive +{ + + void loadInitialState(); + +} diff --git a/core/src/main/java/org/wrml/runtime/ModelBuilder.java b/core/src/main/java/org/wrml/runtime/ModelBuilder.java new file mode 100644 index 0000000..b5b03e5 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/ModelBuilder.java @@ -0,0 +1,54 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +import org.wrml.model.Model; + +import java.net.URI; +import java.util.concurrent.ConcurrentHashMap; + +public interface ModelBuilder extends ContextSensitive +{ + M copyModel(Model model); + + Dimensions newDimensions(final Class schemaInterface) throws ModelBuilderException; + + Dimensions newDimensions(final String schemaInterfaceName) throws ModelBuilderException; + + Dimensions newDimensions(final URI schemaUri) throws ModelBuilderException; + + Model newModel() throws ModelBuilderException; + + M newModel(final Class schemaInterface) throws ModelBuilderException; + + M newModel(final Dimensions dimensions) throws ModelBuilderException; + + M newModel(final Dimensions dimensions, final ConcurrentHashMap slots) + throws ModelBuilderException; + + M newModel(final String schemaInterfaceName) throws ModelBuilderException; + + M newModel(final URI schemaUri) throws ModelBuilderException; +} diff --git a/core/src/main/java/org/wrml/runtime/ModelBuilderConfiguration.java b/core/src/main/java/org/wrml/runtime/ModelBuilderConfiguration.java new file mode 100644 index 0000000..bf0fc11 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/ModelBuilderConfiguration.java @@ -0,0 +1,30 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +public class ModelBuilderConfiguration extends DefaultFactoryConfiguration +{ +} diff --git a/core/src/main/java/org/wrml/runtime/ModelBuilderException.java b/core/src/main/java/org/wrml/runtime/ModelBuilderException.java new file mode 100644 index 0000000..e880ef9 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/ModelBuilderException.java @@ -0,0 +1,47 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +/** + * The {@link ModelBuilder}'s associated error type. + */ +public class ModelBuilderException extends RuntimeException +{ + + private static final long serialVersionUID = 1L; + + private final ModelBuilder _ModelBuilder; + + ModelBuilderException(final String message, final Throwable cause, final ModelBuilder modelBuilder) + { + super(message, cause); + _ModelBuilder = modelBuilder; + } + + public ModelBuilder getModelBuilder() + { + return _ModelBuilder; + } +} diff --git a/core/src/main/java/org/wrml/runtime/ModelComparator.java b/core/src/main/java/org/wrml/runtime/ModelComparator.java new file mode 100644 index 0000000..a7f4128 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/ModelComparator.java @@ -0,0 +1,127 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +import java.net.URI; +import java.util.Comparator; +import java.util.Set; + +import org.wrml.model.Model; + +import org.wrml.runtime.schema.Prototype; + +public final class ModelComparator implements Comparator +{ + + private final Context _Context; + + ModelComparator(final Context context) + { + _Context = context; + } + + @Override + public int compare(final Model model1, final Model model2) + { + return compare(model1, model2, null); + } + + public int compare(final Model model1, final Model model2, Set slotNames) + { + if (model1 == model2) + { + return 0; + } + + if (model1 == null) + { + return -1; + } + + if (model2 == null) + { + return 1; + } + + final URI schemaUri1 = model1.getSchemaUri(); + final URI schemaUri2 = model2.getSchemaUri(); + + if (schemaUri1 == null && schemaUri2 == null) + { + return compareBasics(model1, model2, slotNames); + } + else if (schemaUri1 == null) + { + // An undefined 1st model is less than a defined 2nd one + return -1; + } + else if (schemaUri2 == null) + { + // An defined 1st model is greater than an undefined 2nd one + return 1; + } + + if (slotNames == null) + { + if (schemaUri1.equals(schemaUri2)) + { + final Prototype prototype = model1.getPrototype(); + slotNames = prototype.getComparableSlotNames(); + } + else + { + return schemaUri1.compareTo(schemaUri2); + } + } + + if (slotNames == null || slotNames.size() == 0) + { + return compareBasics(model1, model2, slotNames); + } + + /* + * for (final String slotName : slotNames) + * { + * // TODO: Finish this + * } + */ + + return 0; + } + + public Context getContext() + { + return _Context; + } + + private int compareBasics(final Model model1, final Model model2, final Set slotNames) + { + + // TODO: Default sort to heap id + create time (long value) + // TODO: Need an invoke-based implementation to handle the + // schema-specific sorting hints + return 0; + } +} diff --git a/core/src/main/java/org/wrml/runtime/ModelException.java b/core/src/main/java/org/wrml/runtime/ModelException.java new file mode 100644 index 0000000..fdae9c9 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/ModelException.java @@ -0,0 +1,67 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +import org.wrml.model.Model; + +/** + * The modeling framework's base exception class. + */ +public class ModelException extends RuntimeException +{ + + private final Model _Model; + + private static final long serialVersionUID = 1L; + + /** + * Create a new {@link ModelException}. + * + * @param message + * The message to convey. + * + * @param cause + * The (internal) cause of the issue. + * + * @param model + * The model with issues. + */ + public ModelException(final String message, final Throwable cause, final Model model) + { + super(message, cause); + _Model = model; + } + + /** + * Get the troublemaker. + * + * @return The model that all this fuss is about. + */ + public Model getModel() + { + return _Model; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/format/AbstractFormatter.java b/core/src/main/java/org/wrml/runtime/format/AbstractFormatter.java new file mode 100644 index 0000000..e414d13 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/AbstractFormatter.java @@ -0,0 +1,103 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +import org.wrml.runtime.Context; + +import java.net.URI; +import java.util.Map; + +public abstract class AbstractFormatter implements Formatter +{ + + + private Context _Context; + + private URI _FormatUri; + + private FormatterConfiguration _Config; + + @Override + public final void init(final Context context, FormatterConfiguration config) + { + + + if (context == null) + { + throw new NullPointerException("The context cannot be null."); + } + + _Context = context; + + if (context == null) + { + throw new NullPointerException("The config cannot be null."); + } + + _Config = config; + _FormatUri = _Config.getFormatUri(); + initFromConfiguration(_Config); + } + + @Override + public final Context getContext() + { + + return _Context; + } + + @Override + public final FormatterConfiguration getConfig() + { + + return _Config; + } + + @Override + public final URI getFormatUri() + { + + return _FormatUri; + } + + @Override + public boolean isApplicableTo(final URI schemaUri) + { + + return true; + } + + @Override + public String toString() + { + + return getClass().getSimpleName() + " [Format = " + _FormatUri + "]"; + } + + protected void initFromConfiguration(final FormatterConfiguration config) + { + // Do nothing by default + } +} diff --git a/core/src/main/java/org/wrml/runtime/format/DefaultFormatLoader.java b/core/src/main/java/org/wrml/runtime/format/DefaultFormatLoader.java new file mode 100644 index 0000000..c0588d7 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/DefaultFormatLoader.java @@ -0,0 +1,425 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +import org.wrml.model.format.Format; +import org.wrml.runtime.Context; +import org.wrml.runtime.DefaultConfiguration; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.format.application.json.JsonModelParserFactory; +import org.wrml.runtime.format.application.json.JsonModelPrinterFactory; +import org.wrml.runtime.format.application.schema.json.JsonSchemaFormatter; +import org.wrml.runtime.format.application.vnd.wrml.ascii.api.ApiAsciiFormatter; +import org.wrml.runtime.format.application.vnd.wrml.design.schema.SchemaDesignFormatter; +import org.wrml.runtime.format.application.xml.XmlFormatter; +import org.wrml.runtime.format.text.html.WrmldocFormatter; +import org.wrml.runtime.format.text.java.JavaFormatter; +import org.wrml.runtime.rest.ApiLoader; +import org.wrml.runtime.rest.MediaType; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.util.UniqueName; + +import java.net.URI; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; + +public class DefaultFormatLoader implements FormatLoader +{ + + private final ConcurrentHashMap _Formats; + + private final ConcurrentHashMap _Formatters; + + private final ConcurrentHashMap _MediaTypeMapping; + + private Context _Context; + + private URI _DefaultFormatUri; + + public DefaultFormatLoader() + { + + _Formats = new ConcurrentHashMap<>(); + _Formatters = new ConcurrentHashMap<>(); + _MediaTypeMapping = new ConcurrentHashMap<>(); + _DefaultFormatUri = SystemFormat.json.getFormatUri(); + } + + @Override + public FormatLoaderConfiguration getConfig() + { + + return getContext().getConfig().getFormatLoader(); + } + + @Override + public Context getContext() + { + + return _Context; + } + + @Override + public URI getDefaultFormatUri() + { + + return _DefaultFormatUri; + } + + @Override + public void setDefaultFormatUri(final URI formatUri) + { + + if (formatUri != null) + { + _DefaultFormatUri = formatUri; + } + } + + @Override + public Format getDefaultFormat() + { + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final ApiLoader apiLoader = context.getApiLoader(); + final URI defaultFormatUri = getDefaultFormatUri(); + final Keys formatKeys = apiLoader.buildDocumentKeys(defaultFormatUri, schemaLoader.getFormatSchemaUri()); + return getLoadedFormat(formatKeys); + } + + @Override + public Formatter getFormatter(final URI formatUri) + { + + if (!_Formatters.containsKey(formatUri)) + { + return null; + } + return _Formatters.get(formatUri); + } + + @Override + public Format getLoadedFormat(final Keys keys) + { + + final SchemaLoader schemaLoader = getContext().getSchemaLoader(); + final URI uri = keys.getValue(schemaLoader.getDocumentSchemaUri()); + if (uri == null) + { + return null; + } + + if (_Formats.containsKey(uri)) + { + return _Formats.get(uri); + } + return null; + + } + + @Override + public Format getLoadedFormat(final MediaType mediaType) + { + + if (mediaType == null) + { + return null; + } + + if (_MediaTypeMapping.containsKey(mediaType)) + { + return _MediaTypeMapping.get(mediaType); + } + + return null; + } + + @Override + public Set getLoadedFormats() + { + + return new LinkedHashSet<>(_Formats.values()); + } + + @Override + public SortedSet getLoadedFormatUris() + { + + return new TreeSet<>(_Formats.keySet()); + } + + @Override + public void init(final Context context) + { + + if (context == null) + { + throw new FormatLoaderException("The WRML context cannot be null.", null, this); + } + + _Context = context; + + loadSystemFormats(); + } + + @Override + public void loadInitialState() + { + + + loadConfiguredFormats(); + + final FormatLoaderConfiguration config = getConfig(); + if (config == null) + { + return; + } + + final URI defaultFormatUri = config.getDefaultFormatUri(); + if (defaultFormatUri != null) + { + setDefaultFormatUri(defaultFormatUri); + } + + } + + @Override + public void loadConfiguredFormat(final FormatterConfiguration formatterConfiguration) throws FormatLoaderException + { + + final Context context = getContext(); + final URI formatUri = formatterConfiguration.getFormatUri(); + if (formatUri == null) + { + throw new FormatLoaderException("The Format URI cannot be null.", null, this); + } + + final String formatterClassName = formatterConfiguration.getFormatter(); + if (formatterClassName != null) + { + + loadFormat(formatUri); + + final Formatter formatter = DefaultConfiguration.newInstance(formatterClassName); + formatter.init(context, formatterConfiguration); + loadFormatter(formatter); + } + else + { + throw new FormatLoaderException("The Formatter name cannot be null.", null, this); + } + + } + + @Override + public void loadFormat(final Format format) throws FormatLoaderException + { + + final URI formatUri = format.getUri(); + if (formatUri == null) + { + throw new FormatLoaderException("The Format's URI cannot be null.", null, this); + } + + _Formats.put(formatUri, format); + + final MediaType mediaType = format.getMediaType(); + if (mediaType == null) + { + throw new FormatLoaderException("The Format's media type cannot be null.", null, this); + } + + _MediaTypeMapping.put(mediaType, format); + + } + + @Override + public Format loadFormat(final URI formatUri) throws FormatLoaderException + { + + if (formatUri == null) + { + return null; + } + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final ApiLoader apiLoader = context.getApiLoader(); + final Keys keys = apiLoader.buildDocumentKeys(formatUri, schemaLoader.getFormatSchemaUri()); + final Dimensions dimensions = schemaLoader.getFormatDimensions(); + + final Format format = context.getModel(keys, dimensions); + if (format == null) + { + throw new FormatLoaderException("The Format associated with Keys:\n" + keys + "\n... and Dimensions:\n" + + dimensions + " could not be loaded.", null, this); + } + + loadFormat(format); + + return format; + } + + @Override + public void loadFormatter(final Formatter formatter) + { + + final URI formatUri = formatter.getFormatUri(); + if (formatUri == null) + { + throw new FormatLoaderException("The Formatter's URI cannot be null.", null, this); + } + + _Formatters.put(formatUri, formatter); + } + + protected Formatter createSystemFormatter(final SystemFormat systemFormat) throws FormatLoaderException + { + + final Context context = getContext(); + final URI formatUri = systemFormat.getFormatUri(); + + final FormatterConfiguration formatterConfiguration = new FormatterConfiguration(); + formatterConfiguration.setFormatUri(formatUri); + + final Map settings = new HashMap<>(); + formatterConfiguration.setSettings(settings); + + final Formatter formatter; + switch (systemFormat) + { + + case json: + { + settings.put(PluggableFormatter.PARSER_FACTORY_SETTING_NAME, JsonModelParserFactory.class.getName()); + settings.put(PluggableFormatter.PRINTER_FACTORY_SETTING_NAME, JsonModelPrinterFactory.class.getName()); + formatter = new PluggableFormatter(); + break; + } + case xml: + { + formatter = new XmlFormatter(); + break; + } + case html: + { + formatter = new WrmldocFormatter(); + break; + } + case json_schema: + { + formatter = new JsonSchemaFormatter(); + break; + } + case java: + { + formatter = new JavaFormatter(); + break; + } + case vnd_wrml_design_schema: + { + formatter = new SchemaDesignFormatter(); + break; + } + case vnd_wrml_ascii_api: + { + formatter = new ApiAsciiFormatter(); + break; + } + default: + { + formatter = null; + break; + } + } + + if (formatter != null) + { + formatterConfiguration.setFormatter(formatter.getClass().getName()); + formatter.init(context, formatterConfiguration); + } + + return formatter; + + } + + protected void loadConfiguredFormats() throws FormatLoaderException + { + + final FormatLoaderConfiguration config = getConfig(); + if (config == null) + { + return; + } + + final FormatterConfiguration[] formatterConfigurations = config.getFormatters(); + if ((formatterConfigurations == null) || (formatterConfigurations.length == 0)) + { + return; + } + + for (final FormatterConfiguration formatterConfig : formatterConfigurations) + { + loadConfiguredFormat(formatterConfig); + } + } + + private void loadSystemFormats() throws FormatLoaderException + { + + final Context context = getContext(); + + for (final SystemFormat systemFormat : SystemFormat.values()) + { + + final URI formatUri = systemFormat.getFormatUri(); + + final UniqueName formatUniqueName = systemFormat.getUniqueName(); + final String mediaTypeString = formatUniqueName.toString(); + + final Format format = context.newModel(Format.class); + + format.setUniqueName(formatUniqueName); + format.setDescription(systemFormat.getDescription()); + format.setTitle(mediaTypeString); + format.setHomePageUri(systemFormat.getHomePageUri()); + format.setRfcPageUri(systemFormat.getRfcPageUri()); + format.setMediaType(systemFormat.getMediaType()); + format.setFileExtension(systemFormat.getFileExtension()); + + format.setUri(formatUri); + + loadFormat(format); + + final Formatter formatter = createSystemFormatter(systemFormat); + loadFormatter(formatter); + + } + + } + +} diff --git a/core/src/main/java/org/wrml/runtime/format/DefaultFormatLoaderFactory.java b/core/src/main/java/org/wrml/runtime/format/DefaultFormatLoaderFactory.java new file mode 100644 index 0000000..7ded0fc --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/DefaultFormatLoaderFactory.java @@ -0,0 +1,38 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +import org.wrml.runtime.Factory; + +public class DefaultFormatLoaderFactory implements Factory +{ + @Override + public FormatLoader create() + { + + return new DefaultFormatLoader(); + } +} diff --git a/core/src/main/java/org/wrml/runtime/format/FormatLoader.java b/core/src/main/java/org/wrml/runtime/format/FormatLoader.java new file mode 100644 index 0000000..4c31c73 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/FormatLoader.java @@ -0,0 +1,107 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +import org.wrml.model.format.Format; +import org.wrml.model.rest.Document; +import org.wrml.runtime.Keys; +import org.wrml.runtime.Loader; +import org.wrml.runtime.rest.MediaType; + +import java.net.URI; +import java.util.Set; +import java.util.SortedSet; + +/** + * A {@link Loader} of {@link Format} models. Allows the WRML runtime to vary its supported {@link Format}s and + * dynamically learn to communicate with new {@link Format}s. + */ +public interface FormatLoader extends Loader +{ + + FormatLoaderConfiguration getConfig(); + + /** + * Get the {@link URI} that identifies the runtime's current default {@link Format}. + */ + URI getDefaultFormatUri(); + + /** + * Get the runtime's current default {@link Format}. + */ + Format getDefaultFormat(); + + /** + * Set the URI that identifies the runtime's current default {@link Format}. + */ + void setDefaultFormatUri(final URI formatUri); + + /** + * Returns the {@link Formatter} associated with the specified {@link Format} {@link URI}. + * + * @param formatUri The {@link URI} of the {@link Format} associated with the {@link Formatter}. + * @return The {@link Formatter} associated with the specified {@link Format} {@link URI}. + */ + Formatter getFormatter(final URI formatUri); + + /** + * Returns the already loaded {@link Format} associated with the specified {@link Keys}. + */ + Format getLoadedFormat(final Keys keys); + + /** + * Returns the already loaded {@link Format} associated with the specified {@link MediaType}. + */ + Format getLoadedFormat(final MediaType mediaType); + + + /** + * Returns the {@link Set} of already loaded {@link Format}s. + */ + Set getLoadedFormats(); + + /** + * Returns the {@link Set} of already loaded {@link Format} {@link URI}s. + */ + SortedSet getLoadedFormatUris(); + + void loadConfiguredFormat(final FormatterConfiguration formatterConfiguration) throws FormatLoaderException; + + /** + * Loads/reloads the specified {@link Format}. + */ + void loadFormat(final Format format) throws FormatLoaderException; + + /** + * Loads/reloads the specified {@link Format}, by it's {@link Document} key ({@link URI}) value. + */ + Format loadFormat(final URI formatUri) throws FormatLoaderException; + + /** + * Loads/reloads the specified {@link Formatter}. + */ + void loadFormatter(final Formatter formatter) throws FormatLoaderException; + +} diff --git a/core/src/main/java/org/wrml/runtime/format/FormatLoaderConfiguration.java b/core/src/main/java/org/wrml/runtime/format/FormatLoaderConfiguration.java new file mode 100644 index 0000000..044e1ae --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/FormatLoaderConfiguration.java @@ -0,0 +1,73 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + + +import org.wrml.runtime.DefaultFactoryConfiguration; + +import java.net.URI; + +/** + * Configuration for the {@link FormatLoader} component. + */ +public final class FormatLoaderConfiguration extends DefaultFactoryConfiguration +{ + + private FormatterConfiguration[] _FormatterConfigurations; + + private URI _DefaultFormatUri; + + + public FormatLoaderConfiguration() + { + + } + + public URI getDefaultFormatUri() + { + + return _DefaultFormatUri; + } + + public void setDefaultFormatUri(final URI defaultFormatUri) + { + + _DefaultFormatUri = defaultFormatUri; + } + + + public FormatterConfiguration[] getFormatters() + { + + return _FormatterConfigurations; + } + + public void setFormatters(final FormatterConfiguration[] formatterConfigurations) + { + + _FormatterConfigurations = formatterConfigurations; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/format/FormatLoaderException.java b/core/src/main/java/org/wrml/runtime/format/FormatLoaderException.java new file mode 100644 index 0000000..160bd83 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/FormatLoaderException.java @@ -0,0 +1,63 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +/** + * The {@link FormatLoader}'s associated error type. + */ +public class FormatLoaderException extends RuntimeException +{ + + private final FormatLoader _FormatLoader; + + private static final long serialVersionUID = 1L; + + /** + * Create a new exception to communicate a problem about the specified {@link FormatLoader}. + * + * @param message + * The message to explain what is going on. + * + * @param apiLoader + * The impacted {@link FormatLoader}. + * + */ + FormatLoaderException(final String message, final Throwable cause, final FormatLoader formatLoader) + { + super(message, cause); + _FormatLoader = formatLoader; + } + + /** + * Get the {@link FormatLoader} associated with this error. + * + * @return The {@link FormatLoader} that raised this exception. + */ + public FormatLoader getApiLoader() + { + return _FormatLoader; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/format/Formatter.java b/core/src/main/java/org/wrml/runtime/format/Formatter.java new file mode 100644 index 0000000..a47d895 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/Formatter.java @@ -0,0 +1,92 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +import org.wrml.model.Model; +import org.wrml.model.format.Format; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; + +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URI; + +/** + * Reads and writes {@link Model} data that is serialized using an associated {@link Format}. + */ +public interface Formatter +{ + + /** + *

+ * Configures the {@link Formatter} for the given context with the given settings. + *

+ * + * @param context The runtime {@link Context} that owns the {@link Formatter}. + * @param config The {@link Formatter}'s "custom" configuration. + */ + void init(final Context context, FormatterConfiguration config); + + /** + * The runtime {@link Context} that owns the {@link Formatter}. + */ + Context getContext(); + + /** + * The {@link FormatterConfiguration} associated with this {@link Formatter}. + * + * @return The {@link FormatterConfiguration} associated with this {@link Formatter}. + */ + FormatterConfiguration getConfig(); + + /** + * The id of the {@link Format} that's associated with this {@link Formatter}. + */ + URI getFormatUri(); + + /** + * @return true iff this {@link Formatter} can be applied to format (read/write) {@link Model} + * instances of the the identified {@link Schema}. + */ + boolean isApplicableTo(final URI schemaUri); + + /** + * @return a {@link Model} with the indicated {@link Keys} and {@link Dimensions} from the specified{@link InputStream}. + * @throws {@link ModelReadingException} if {@code in} cannot be deserialized to a {@code Model}. + * @throws {@link UnsupportedOperationException} if the read operation is either never supported or is not supported for the dimensioned {@link Schema}. + */ + M readModel(final InputStream in, final Keys rootModelKeys, final Dimensions rootModelDimensions) throws ModelReadingException, UnsupportedOperationException; + + /** + * Writes a {@link Model} with the indicated {@link ModelWriteOptions} to the specified {@link OutputStream}. + * + * @throws {@link ModelWritingException} if {@code model} cannot be serialized to the {@code out} {@link OutputStream}. + * @throws {@link UnsupportedOperationException} if the write operation is either never supported or is not supported for the {@code model}'s {@link Schema}. + */ + void writeModel(final OutputStream out, Model model, final ModelWriteOptions writeOptions) throws ModelWritingException, UnsupportedOperationException; + +} diff --git a/core/src/main/java/org/wrml/runtime/format/FormatterConfiguration.java b/core/src/main/java/org/wrml/runtime/format/FormatterConfiguration.java new file mode 100644 index 0000000..0e60f43 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/FormatterConfiguration.java @@ -0,0 +1,68 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +import org.wrml.runtime.DefaultConfiguration; + +import java.net.URI; + +public class FormatterConfiguration extends DefaultConfiguration +{ + + private URI _FormatUri; + + private String _FormatterClassName; + + public FormatterConfiguration() + { + + } + + public URI getFormatUri() + { + + return _FormatUri; + } + + public void setFormatUri(final URI formatUri) + { + + _FormatUri = formatUri; + } + + public String getFormatter() + { + + return _FormatterClassName; + } + + public void setFormatter(final String formatterClassName) + { + + _FormatterClassName = formatterClassName; + } + + +} diff --git a/core/src/main/java/org/wrml/runtime/format/ModelFormattingException.java b/core/src/main/java/org/wrml/runtime/format/ModelFormattingException.java new file mode 100644 index 0000000..f172dbc --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/ModelFormattingException.java @@ -0,0 +1,50 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +import java.io.IOException; + +/** + * The Format runtime's primary error type. + */ +public class ModelFormattingException extends IOException +{ + + private static final long serialVersionUID = 1L; + + private final Object _Source; + + public ModelFormattingException(final String message, final Throwable cause, final Object source) + { + super(message, cause); + _Source = source; + } + + @SuppressWarnings("unchecked") + public S getSource() + { + return (S) _Source; + } +} diff --git a/core/src/main/java/org/wrml/runtime/format/ModelGraph.java b/core/src/main/java/org/wrml/runtime/format/ModelGraph.java new file mode 100644 index 0000000..41f1359 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/ModelGraph.java @@ -0,0 +1,51 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +import org.wrml.runtime.Context; + +public abstract class ModelGraph +{ + + /** The context to operate within. */ + private final Context _Context; + + /** + * Create a new model graph. + * + * @param context + * The context to operate within. + */ + public ModelGraph(final Context context) + { + _Context = context; + } + + public Context getContext() + { + return _Context; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/format/ModelGraphException.java b/core/src/main/java/org/wrml/runtime/format/ModelGraphException.java new file mode 100644 index 0000000..6f6b8e1 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/ModelGraphException.java @@ -0,0 +1,68 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +/** + * The {@link ModelGraph}'s associated error type. + */ +public class ModelGraphException extends RuntimeException +{ + + private final ModelGraph _ModelGraph; + + private static final long serialVersionUID = 1L; + + public ModelGraphException(final String message, final Throwable cause, final ModelGraph modelGraph) + { + super(message, cause); + _ModelGraph = modelGraph; + } + + /** + * Create a new exception to communicate a problem about the specified {@link ModelGraph}. + * + * @param message + * The message to explain what is going on. + * + * @param modelGraph + * The impacted graph. + */ + ModelGraphException(final String message, final ModelGraph modelGraph) + { + super(message); + _ModelGraph = modelGraph; + } + + /** + * Get the graph associated with this error. + * + * @return The graph that raised this exception. + */ + public ModelGraph getModelGraph() + { + return _ModelGraph; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/format/ModelParser.java b/core/src/main/java/org/wrml/runtime/format/ModelParser.java new file mode 100644 index 0000000..eb1fe5d --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/ModelParser.java @@ -0,0 +1,46 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +import java.io.IOException; + +/** + * Interface to enable pluggable implementations of token-based (streamed), + * serialized model parsers. + */ +public interface ModelParser +{ + + Double parseDoubleValue() throws IOException, ModelParserException; + + Integer parseIntegerValue() throws IOException, ModelParserException; + + ModelToken parseNextToken() throws IOException, ModelParserException; + + String parseSlotName() throws IOException, ModelParserException; + + String parseTextValue() throws IOException, ModelParserException; + +} diff --git a/core/src/main/java/org/wrml/runtime/format/ModelParserException.java b/core/src/main/java/org/wrml/runtime/format/ModelParserException.java new file mode 100644 index 0000000..ef2ee47 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/ModelParserException.java @@ -0,0 +1,47 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +/** + * The {@link ModelParser}'s associated error type. + */ +public class ModelParserException extends Exception +{ + + private static final long serialVersionUID = 1L; + + private final ModelParser _ModelParser; + + public ModelParserException(final String message, final Throwable cause, final ModelParser modelParser) + { + super(message, cause); + _ModelParser = modelParser; + } + + public ModelParser getModelParser() + { + return _ModelParser; + } +} diff --git a/core/src/main/java/org/wrml/runtime/format/ModelParserFactory.java b/core/src/main/java/org/wrml/runtime/format/ModelParserFactory.java new file mode 100644 index 0000000..2fc7a15 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/ModelParserFactory.java @@ -0,0 +1,35 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +import java.io.IOException; +import java.io.InputStream; + +public interface ModelParserFactory +{ + + ModelParser createModelParser(InputStream in) throws IOException, ModelParserException; + +} diff --git a/core/src/main/java/org/wrml/runtime/format/ModelPrinter.java b/core/src/main/java/org/wrml/runtime/format/ModelPrinter.java new file mode 100644 index 0000000..390cdca --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/ModelPrinter.java @@ -0,0 +1,60 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +import java.io.IOException; +import java.util.List; + +import org.wrml.model.Model; + +public interface ModelPrinter +{ + + void close() throws IOException, ModelPrinterException; + + ModelWriteOptions getWriteOptions(); + + void printBooleanValue(boolean booleanValue) throws IOException, ModelPrinterException; + + void printDoubleValue(double value) throws IOException, ModelPrinterException; + + void printIntegerValue(int value) throws IOException, ModelPrinterException; + + void printListEnd(List list) throws IOException, ModelPrinterException; + + void printListStart(List list) throws IOException, ModelPrinterException; + + void printLongValue(long value) throws IOException, ModelPrinterException; + + void printModelEnd(Model model) throws IOException, ModelPrinterException; + + void printModelStart(Model model) throws IOException, ModelPrinterException; + + void printNullValue() throws IOException, ModelPrinterException; + + void printSlotName(String slotName) throws IOException, ModelPrinterException; + + void printTextValue(String dateString) throws IOException, ModelPrinterException; +} diff --git a/core/src/main/java/org/wrml/runtime/format/ModelPrinterException.java b/core/src/main/java/org/wrml/runtime/format/ModelPrinterException.java new file mode 100644 index 0000000..238ad37 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/ModelPrinterException.java @@ -0,0 +1,47 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +/** + * The {@link ModelPrinter}'s associated error type. + */ +public class ModelPrinterException extends Exception +{ + + private static final long serialVersionUID = 1L; + + private final ModelPrinter _ModelPrinter; + + public ModelPrinterException(final String message, final Throwable cause, final ModelPrinter modelPrinter) + { + super(message, cause); + _ModelPrinter = modelPrinter; + } + + public ModelPrinter getModelPrinter() + { + return _ModelPrinter; + } +} diff --git a/core/src/main/java/org/wrml/runtime/format/ModelPrinterFactory.java b/core/src/main/java/org/wrml/runtime/format/ModelPrinterFactory.java new file mode 100644 index 0000000..4c65925 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/ModelPrinterFactory.java @@ -0,0 +1,36 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +import java.io.IOException; +import java.io.OutputStream; + +public interface ModelPrinterFactory +{ + + ModelPrinter createModelPrinter(OutputStream out, ModelWriteOptions writeOptions) throws IOException, + ModelPrinterException; + +} diff --git a/core/src/main/java/org/wrml/runtime/format/ModelReader.java b/core/src/main/java/org/wrml/runtime/format/ModelReader.java new file mode 100644 index 0000000..0439d0c --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/ModelReader.java @@ -0,0 +1,254 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +import java.io.IOException; +import java.io.InputStream; +import java.net.URI; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.Model; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; + +/** + * Reads a {@link Model}, relying on the {@link ParserModelGraph} for the + * semantic analysis. + * + * @see PluggableFormatter + */ +class ModelReader +{ + + private static final Logger LOG = LoggerFactory.getLogger(ModelReader.class); + + /** + * The context to operate within. + */ + private final Context _Context; + + private final URI _FormatUri; + + private final ModelParserFactory _ModelParserFactory; + + /** + * Creates a new model reader. + * + * @param context + * The context to operate within. + */ + public ModelReader(final Context context, final URI formatUri, final ModelParserFactory modelParserFactory) + { + + _Context = context; + + _FormatUri = formatUri; + + _ModelParserFactory = modelParserFactory; + } + + public Context getContext() + { + return _Context; + } + + public URI getFormatUri() + { + return _FormatUri; + } + + public ModelParserFactory getModelParserFactory() + { + return _ModelParserFactory; + } + + /** + * Read a model of unknown schema using the default format from the + * specified stream with the indicated options applied. + * + * @param in + * The input stream containing formatted bytes that represent the + * model graph to be read. + * + * @param rootModelKeys + * + * @param rootModelDimensions + * The dimensions to apply to the graph's root model. + * + * @return The initialized model representing the root of the input stream's + * model graph. + * + * @throws ModelReaderException + * Thrown if any problems are encountered. + */ + @SuppressWarnings("unchecked") + public M readModel(final InputStream in, final Keys rootModelKeys, + final Dimensions rootModelDimensions) throws ModelReaderException + { + if (rootModelDimensions == null) + { + throw new ModelReaderException("The root model Dimensions cannot be null.", null, this); + } + + if (rootModelDimensions.getSchemaUri() == null) + { + throw new ModelReaderException("The root model Schema URI cannot be null.", null, this); + } + + LOG.debug("Reading a model with dimensions:\n{}", rootModelDimensions); + + final Context context = getContext(); + + final ModelParserFactory parserFactory = getModelParserFactory(); + final ModelParser parser; + try + { + parser = parserFactory.createModelParser(in); + } + catch (final IOException e) + { + throw new ModelReaderException(e.getMessage(), e, this); + } + catch (final ModelParserException e) + { + throw new ModelReaderException(e.getMessage(), e, this); + } + + final ParserModelGraph parserModelGraph = new ParserModelGraph(context, rootModelKeys, rootModelDimensions); + + Model model = null; + ModelToken token; + + try + { + while ((token = parser.parseNextToken()) != null) + { + switch (token) + { + case MODEL_START: + { + LOG.debug("ModelReader: Starting model"); + parserModelGraph.startModel(); + break; + } + case MODEL_END: + { + LOG.debug("ModelReader: Finishing model"); + model = parserModelGraph.endModel(); + break; + } + case SLOT_NAME: + { + final String slotName = parser.parseSlotName(); + LOG.debug("ModelReader: Reading model slot: {}", slotName); + parserModelGraph.startSlot(slotName); + break; + } + case LIST_START: + { + LOG.debug("ModelReader: Starting list"); + parserModelGraph.startList(); + break; + } + case LIST_END: + { + LOG.debug("ModelReader: Finishing list"); + parserModelGraph.endList(); + break; + } + case VALUE_TEXT: + { + final String stringValue = parser.parseTextValue(); + LOG.debug("ModelReader: Read text: {}", stringValue); + parserModelGraph.endValue(stringValue); + break; + } + case VALUE_NULL: + { + LOG.debug("ModelReader: Read NULL value"); + parserModelGraph.endValue(null); + break; + } + case VALUE_TRUE: + { + LOG.debug("ModelReader: Read TRUE"); + parserModelGraph.endValue(Boolean.TRUE); + break; + } + case VALUE_FALSE: + { + LOG.debug("ModelReader: Read FALSE"); + parserModelGraph.endValue(Boolean.FALSE); + break; + } + case VALUE_INTEGER: + { + final Integer integerValue = parser.parseIntegerValue(); + LOG.debug("ModelReader: Read number: {}", integerValue); + parserModelGraph.endValue(integerValue); + break; + } + case VALUE_DOUBLE: + { + final Double doubleValue = parser.parseDoubleValue(); + LOG.debug("ModelReader: Read number: {}", doubleValue); + parserModelGraph.endValue(doubleValue); + break; + } + default: + { + break; + } + } + } + } + catch (final IOException e) + { + LOG.error(e.getMessage(), e); + throw new ModelReaderException("Encountered an I/O related problem while attempting to read a model: " + + e.getMessage(), e, this); + } + catch (final Exception e) + { + + LOG.error(e.getMessage(), e); + throw new ModelReaderException("Encountered an issue while attempting to read a model: " + e.getMessage(), + e, this); + + } + + return (M) model; + } + + @Override + public String toString() + { + return getClass().getSimpleName() + " [Format = " + _FormatUri + "]"; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/format/ModelReaderException.java b/core/src/main/java/org/wrml/runtime/format/ModelReaderException.java new file mode 100644 index 0000000..a46c0e5 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/ModelReaderException.java @@ -0,0 +1,45 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +/** + * The {@link ModelWriter}'s associated error type. + */ +public class ModelReaderException extends ModelReadingException +{ + + private static final long serialVersionUID = 1L; + + ModelReaderException(final String message, final Throwable cause, final ModelReader modelReader) + { + super(message, cause, modelReader); + + } + + public ModelReader getModelReader() + { + return getSource(); + } +} diff --git a/core/src/main/java/org/wrml/runtime/format/ModelReadingException.java b/core/src/main/java/org/wrml/runtime/format/ModelReadingException.java new file mode 100644 index 0000000..05a71de --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/ModelReadingException.java @@ -0,0 +1,39 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +/** + * The Format runtime's primary error type for problems that happen while a model is being read. + */ +public class ModelReadingException extends ModelFormattingException +{ + + private static final long serialVersionUID = 1L; + + public ModelReadingException(final String message, final Throwable cause, final Object source) + { + super(message, cause, source); + } +} \ No newline at end of file diff --git a/core/src/main/java/org/wrml/runtime/format/ModelToken.java b/core/src/main/java/org/wrml/runtime/format/ModelToken.java new file mode 100644 index 0000000..51f41d4 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/ModelToken.java @@ -0,0 +1,41 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +public enum ModelToken +{ + + MODEL_START, + MODEL_END, + SLOT_NAME, + LIST_START, + LIST_END, + VALUE_TEXT, + VALUE_NULL, + VALUE_TRUE, + VALUE_FALSE, + VALUE_INTEGER, + VALUE_DOUBLE; +} diff --git a/core/src/main/java/org/wrml/runtime/format/ModelWriteOptions.java b/core/src/main/java/org/wrml/runtime/format/ModelWriteOptions.java new file mode 100644 index 0000000..c5fc396 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/ModelWriteOptions.java @@ -0,0 +1,62 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +import java.net.URI; +import java.util.Set; + +public class ModelWriteOptions +{ + + private boolean _PrettyPrint; + + private Set _ExcludedSchemaUris; + + public ModelWriteOptions() + { + _PrettyPrint = false; + } + + public Set getExcludedSchemaUris() + { + return _ExcludedSchemaUris; + } + + public boolean isPrettyPrint() + { + return _PrettyPrint; + } + + public void setExcludedSchemaUris(final Set excludedSchemaUris) + { + _ExcludedSchemaUris = excludedSchemaUris; + } + + public void setPrettyPrint(final boolean prettyPrint) + { + _PrettyPrint = prettyPrint; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/format/ModelWriter.java b/core/src/main/java/org/wrml/runtime/format/ModelWriter.java new file mode 100644 index 0000000..6349cec --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/ModelWriter.java @@ -0,0 +1,405 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +import org.wrml.model.Model; +import org.wrml.model.Named; +import org.wrml.runtime.Context; +import org.wrml.runtime.format.PrinterModelGraph.ListNode; +import org.wrml.runtime.format.PrinterModelGraph.ModelNode; +import org.wrml.runtime.format.PrinterModelGraph.ModelReferenceNode; +import org.wrml.runtime.format.PrinterModelGraph.Node; +import org.wrml.runtime.schema.Prototype; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.runtime.schema.ValueType; + +import java.io.IOException; +import java.io.OutputStream; +import java.net.URI; +import java.util.*; + +/** + * Writes models using a configurable, format-specific {@link ModelPrinter} with + * the specified {@link ModelWriteOptions}. + * + * @see PluggableFormatter + */ +class ModelWriter +{ + + /** + * The context to operate within. + */ + private final Context _Context; + + private final URI _FormatUri; + + private final ModelPrinterFactory _ModelPrinterFactory; + + /** + * The default options to use if none are specified. + */ + private ModelWriteOptions _DefaultWriteOptions; + + /** + * Creates a new model writer. + * + * @param context The context to operate within. + */ + public ModelWriter(final Context context, final URI formatUri, final ModelPrinterFactory printerFactory) + { + + _Context = context; + + _FormatUri = formatUri; + _ModelPrinterFactory = printerFactory; + + } + + public Context getContext() + { + + return _Context; + } + + public ModelWriteOptions getDefaultWriteOptions() + { + + if (_DefaultWriteOptions == null) + { + _DefaultWriteOptions = new ModelWriteOptions(); + + // TODO: Change this default to false. + _DefaultWriteOptions.setPrettyPrint(true); + } + + return _DefaultWriteOptions; + } + + public URI getFormatUri() + { + + return _FormatUri; + } + + public ModelPrinterFactory getModelPrinterFactory() + { + + return _ModelPrinterFactory; + } + + @Override + public String toString() + { + + return getClass().getSimpleName() + " [Format = " + _FormatUri + "]"; + } + + public void writeModel(final OutputStream out, final Model model) throws ModelWriterException + { + + writeModel(out, model, getDefaultWriteOptions()); + } + + public void writeModel(final OutputStream out, final Model model, ModelWriteOptions writeOptions) + throws ModelWriterException + { + + if (out == null) + { + throw new ModelWriterException("The output stream cannot be null.", null, this); + } + + if (model == null) + { + throw new ModelWriterException("The model cannot be null.", null, this); + } + + if (writeOptions == null) + { + writeOptions = getDefaultWriteOptions(); + } + + final ModelPrinterFactory printerFactory = getModelPrinterFactory(); + final ModelPrinter printer; + try + { + printer = printerFactory.createModelPrinter(out, writeOptions); + } + catch (final IOException e) + { + throw new ModelWriterException(e.getMessage(), e, this); + } + catch (final ModelPrinterException e) + { + throw new ModelWriterException(e.getMessage(), e, this); + } + + final PrinterModelGraph printerModelGraph = new PrinterModelGraph(model, writeOptions.getExcludedSchemaUris()); + final ModelNode rootModelNode = printerModelGraph.getRootModelNode(); + + try + { + printModel(printer, rootModelNode); + printer.close(); + } + catch (final IOException e) + { + throw new ModelWriterException("Encountered an I/O related problem while attempting to write a model.", e, + this); + } + catch (final Exception e) + { + throw new ModelWriterException("Encountered an issue while attempting to write a model.", e, this); + } + + } + + private void printList(final ModelPrinter printer, final ListNode listNode) throws IOException, + ModelPrinterException + { + + final List printableElements = listNode.getPrintableElements(); + if (printableElements == null || printableElements.isEmpty()) + { + return; + } + + printer.printListStart(printableElements); + + final boolean isElementSchemaUriRequired = listNode.isElementSchemaUriRequired(); + for (final Object element : printableElements) + { + + if (isElementSchemaUriRequired && element instanceof ModelNode) + { + ((ModelNode) element).setSchemaUriRequired(true); + } + + printValue(printer, listNode, null, element); + } + + printer.printListEnd(printableElements); + } + + private void printModel(final ModelPrinter printer, final ModelNode modelNode) throws IOException, + ModelPrinterException + { + + final Model model = modelNode.getModel(); + + printer.printModelStart(model); + + // Used to hold the names of the "preliminary" slots; special slots that are printed first for + // clarity/readability. + final Set preliminarySlotNameSet = new LinkedHashSet<>(); + + if (modelNode.isHeapIdRequired()) + { + final Object printableHeapId = modelNode.makeValuePrintable(model.getHeapId()); + printSlot(printer, modelNode, Model.SLOT_NAME_HEAP_ID, printableHeapId); + preliminarySlotNameSet.add(Model.SLOT_NAME_HEAP_ID); + } + + if (modelNode.isSchemaUriRequired()) + { + final Object printableSchemaUri = modelNode.makeValuePrintable(model.getSchemaUri()); + printSlot(printer, modelNode, Model.SLOT_NAME_SCHEMA_URI, printableSchemaUri); + preliminarySlotNameSet.add(Model.SLOT_NAME_SCHEMA_URI); + } + + final Map printableSlots = modelNode.getPrintableSlots(); + + final Prototype prototype = model.getPrototype(); + final Set allKeySlotNames; + if (prototype != null) + { + allKeySlotNames = prototype.getAllKeySlotNames(); + } + else + { + allKeySlotNames = Collections.emptySet(); + } + + for (final String keySlotName : allKeySlotNames) + { + if (!printableSlots.containsKey(keySlotName)) + { + continue; + } + + printSlot(printer, modelNode, keySlotName, printableSlots.get(keySlotName)); + preliminarySlotNameSet.add(keySlotName); + } + + if (printableSlots.containsKey(Named.SLOT_NAME_NAME) + && !preliminarySlotNameSet.contains(Named.SLOT_NAME_NAME)) + { + printSlot(printer, modelNode, Named.SLOT_NAME_NAME, printableSlots.get(Named.SLOT_NAME_NAME)); + preliminarySlotNameSet.add(Named.SLOT_NAME_NAME); + } + + for (final String slotName : printableSlots.keySet()) + { + + if (preliminarySlotNameSet.contains(slotName)) + { + // Already printed this slot (see above) + continue; + } + + final Object slotValue = printableSlots.get(slotName); + + printSlot(printer, modelNode, slotName, slotValue); + + } + + printer.printModelEnd(model); + + } + + private void printSlot(final ModelPrinter printer, final ModelNode modelNode, final String slotName, + final Object slotValue) throws IOException, ModelPrinterException + { + + if (slotValue instanceof ModelNode) + { + + final ModelNode embeddedModelNode = (ModelNode) slotValue; + + final Map subslots = embeddedModelNode.getPrintableSlots(); + + if (!embeddedModelNode.isHeapIdRequired() && !embeddedModelNode.isSchemaUriRequired() + && (subslots == null || subslots.isEmpty())) + { + return; + } + } + else if (slotValue instanceof ListNode) + { + + final ListNode listNode = (ListNode) slotValue; + final List printableElements = listNode.getPrintableElements(); + if (printableElements == null || printableElements.isEmpty()) + { + return; + } + } + + printer.printSlotName(slotName); + printValue(printer, modelNode, slotName, slotValue); + + } + + private void printValue(final ModelPrinter printer, final Node node, final String slotName, final Object value) + throws IOException, ModelPrinterException + { + + if (value == null) + { + printer.printNullValue(); + return; + } + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final Class heapValueType = value.getClass(); + final ValueType valueType = schemaLoader.getValueType(heapValueType); + + boolean printed = true; + switch (valueType) + { + + case Boolean: + { + if (value.equals(Boolean.TRUE)) + + { + printer.printBooleanValue(true); + } + else + { + printer.printBooleanValue(false); + } + break; + + } + case Double: + { + printer.printDoubleValue(((Double) value).doubleValue()); + break; + } + case Integer: + { + printer.printIntegerValue(((Integer) value).intValue()); + break; + } + case Long: + { + printer.printLongValue(((Long) value).longValue()); + break; + } + case Text: + { + printer.printTextValue(String.valueOf(value)); + break; + } + default: + { + printed = false; + break; + } + + } // End of switch + + if (printed) + { + return; + } + + if (value instanceof ModelNode) + { + printModel(printer, (ModelNode) value); + } + else if (value instanceof ModelReferenceNode) + { + final ModelReferenceNode modelReferenceNode = (ModelReferenceNode) value; + final Model referencedModel = modelReferenceNode.getReferencedNode().getModel(); + printer.printModelStart(referencedModel); + printer.printSlotName(Model.SLOT_NAME_HEAP_ID); + printer.printTextValue(modelReferenceNode.getTargetHeapId().toString()); + printer.printModelEnd(referencedModel); + } + else if (value instanceof ListNode) + { + printList(printer, (ListNode) value); + } + else + { + printer.printNullValue(); + } + + } +} diff --git a/core/src/main/java/org/wrml/runtime/format/ModelWriterException.java b/core/src/main/java/org/wrml/runtime/format/ModelWriterException.java new file mode 100644 index 0000000..926d0dd --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/ModelWriterException.java @@ -0,0 +1,45 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +/** + * The {@link ModelWriter}'s associated error type. + */ +public class ModelWriterException extends ModelWritingException +{ + + private static final long serialVersionUID = 1L; + + ModelWriterException(final String message, final Throwable cause, final ModelWriter modelWriter) + { + super(message, cause, modelWriter); + + } + + public ModelWriter getModelWriter() + { + return getSource(); + } +} diff --git a/core/src/main/java/org/wrml/runtime/format/ModelWritingException.java b/core/src/main/java/org/wrml/runtime/format/ModelWritingException.java new file mode 100644 index 0000000..b232fe2 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/ModelWritingException.java @@ -0,0 +1,39 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +/** + * The Format runtime's primary error type for problems that happen while a model is being written. + */ +public class ModelWritingException extends ModelFormattingException +{ + + private static final long serialVersionUID = 1L; + + public ModelWritingException(final String message, final Throwable cause, final Object source) + { + super(message, cause, source); + } +} diff --git a/core/src/main/java/org/wrml/runtime/format/ParserModelGraph.java b/core/src/main/java/org/wrml/runtime/format/ParserModelGraph.java new file mode 100644 index 0000000..2ed44b7 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/ParserModelGraph.java @@ -0,0 +1,714 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +import java.lang.reflect.Type; +import java.net.URI; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.UUID; + +import org.wrml.model.Model; +import org.wrml.model.rest.Document; +import org.wrml.model.rest.Embedded; + +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.DimensionsBuilder; +import org.wrml.runtime.Keys; +import org.wrml.runtime.schema.PropertyProtoSlot; +import org.wrml.runtime.schema.ProtoSlot; +import org.wrml.runtime.schema.Prototype; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.runtime.schema.ValueType; +import org.wrml.runtime.syntax.SyntaxHandler; +import org.wrml.runtime.syntax.SyntaxLoader; +import java.util.List; + +import org.apache.commons.lang3.reflect.TypeUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * An abstract representation of a serialized graph of WRML models, which sort + * of resembles a DOM. + */ +public final class ParserModelGraph extends ModelGraph +{ + + private static final Logger LOG = LoggerFactory.getLogger(ParserModelGraph.class); + + /** The keys to apply to the graph's root model. */ + private final Keys _RootModelKeys; + + /** The dimensions to apply to the graph's root model. */ + private final DimensionsBuilder _RootModelDimensionsBuilder; + + /** + * Follows the scope (nesting/indentation) of the graph's models (sets of + * slots), and lists (of models or other "raw" types). + */ + private final LinkedList _ScopeStack; + + /** Follows the focus of the graph's models. */ + private final LinkedList _ModelStack; + + /** Follows the focus of the graph's (REST) Document models. */ + private final LinkedList _DocumentStack; + + /** Follows the bread-crumb-like scope of slots. */ + private final LinkedList _SlotNameStack; + + /** Follows the nesting of lists. */ + private final LinkedList> _ListStack; + + /** Follows the model dimensions. */ + private final LinkedList _DimensionsBuilderStack; + + private final Map _ShortcutModels; + + /** + * Create a new model graph. + * + * @param context + * The context to operate within. + * + * @param rootModelDimensions + * The dimensions to use for the root model. + */ + public ParserModelGraph(final Context context, final Keys rootModelKeys, final Dimensions rootModelDimensions) + { + super(context); + + if (rootModelDimensions == null) + { + throw new ModelGraphException("The root model dimensions cannot be null.", null, this); + } + + _RootModelDimensionsBuilder = new DimensionsBuilder(rootModelDimensions); + _RootModelKeys = rootModelKeys; + + // Create the graph's focus tracking stacks + _ScopeStack = new LinkedList(); + _ModelStack = new LinkedList(); + _DocumentStack = new LinkedList(); + _SlotNameStack = new LinkedList(); + _ListStack = new LinkedList>(); + _DimensionsBuilderStack = new LinkedList(); + _ShortcutModels = new HashMap(); + } + + public Object endList() + { + final List list = _ListStack.pop(); + _ScopeStack.pop(); + + return endValue(list); + } + + public Model endModel() + { + final Model model = _ModelStack.pop(); + _ScopeStack.pop(); + + if (model instanceof Document) + { + _DocumentStack.pop(); + } + + return (Model) endValue(model); + } + + /** + * Process a "raw" value (from a serialized model graph) into one that is + * ready for the runtime. + * + * @param rawValue + * The "raw" value to process. A raw value is used in + * serialization of model graphs. + * + * @return The processed value, ready for runtime. + */ + @SuppressWarnings("unchecked") + public Object endValue(final Object rawValue) + { + + /* + * As a special case for in-line model typing, WRML allows the + * "schemaUri" slot to be present "on the wire". This slot is + * "dimensional" in nature, so we will store it in the dimensions + * instead of the model itself. + * + * Compare the slot's name and update the Dimensions accordingly. + */ + if (!_SlotNameStack.isEmpty() && _SlotNameStack.peek().equals(Model.SLOT_NAME_SCHEMA_URI)) + { + _DimensionsBuilderStack.peek().setSchemaUri(URI.create(String.valueOf(rawValue))); + _SlotNameStack.pop(); + return null; + } + + Object runtimeValue = null; + boolean isModel = false; + if (rawValue != null && rawValue instanceof Model) + { + isModel = true; + + /* + * Convert "raw" (undefined) model values here to handle the root + * model case. + */ + runtimeValue = convertRawModelValue((Model) rawValue); + } + + if (!_ScopeStack.isEmpty()) + { + if (rawValue != null) + { + if (TypeUtils.isInstance(rawValue, String.class)) + { + runtimeValue = convertRawStringValue((String) rawValue); + } + else if (TypeUtils.isInstance(rawValue, Integer.class)) + { + runtimeValue = convertRawIntegerValue((Integer) rawValue); + } + else if (TypeUtils.isInstance(rawValue, List.class)) + { + runtimeValue = convertRawListValue((List) rawValue); + } + else if (!isModel) + { + /* + * The other "raw" types are equivalent to their "runtime" type + * counterparts; no conversion necessary. + */ + runtimeValue = rawValue; + } + } + + final ScopeType scopeType = _ScopeStack.peek(); + + switch (scopeType) + { + case Model: + { + /* + * The graph is focused on the parent model; meaning that a slot + * should be set. + */ + final Model parentModel = _ModelStack.peek(); + final String slotName = _SlotNameStack.peek(); + + if (!slotName.equals(Model.SLOT_NAME_HEAP_ID)) + { + parentModel.getSlotMap().put(slotName, runtimeValue); + } + else if (runtimeValue != null) + { + + // Remove the started model from the stack + _ModelStack.pop(); + // Push this model onto the stack + final Model m = (Model) runtimeValue; + _ModelStack.push(m); + } + + /* + * Now finished with this slot, shift focus. + */ + _SlotNameStack.pop(); + + break; + } + case List: + { + + /* + * The graph is focused on a list; meaning that an element + * should be added. + */ + + final List list = _ListStack.peek(); + list.add(runtimeValue); + + break; + } + + } // End of switch + } + + return runtimeValue; + } + + + public Keys getRootModelKeys() + { + return _RootModelKeys; + } + + /** + * Create a new list and make it the focus of this graph. Note that lists + * may not start graphs, so you must create a model and a slot before you + * may create any graph lists. + */ + public void startList() + { + if (_ScopeStack.isEmpty() || _ModelStack.isEmpty() || _SlotNameStack.isEmpty()) + { + // TODO: Future, move hard-coded messages like this into a + // "StringTable & MessageFormat" utility class + + final ModelGraphException e = new ModelGraphException( + "Graph lists may be created for a slot value of a model or as an element of another graph list; but the whole graph must be model-rooted.", + this); + ParserModelGraph.LOG.error(e.getMessage(), e); + throw e; + + } + + final List newList = new ArrayList<>(); + + // Give the new list focus + _ListStack.push(newList); + _ScopeStack.push(ScopeType.List); + + } + + /** + * Create a new model and make it the focus of this graph. + */ + public void startModel() + { + final Context context = getContext(); + + /* + * Create a new model, with an "undefined" schema. + */ + final Model newModel = context.getModelBuilder().newModel(); + DimensionsBuilder newModelDimensionsBuilder = null; + + if (_ScopeStack.isEmpty()) + { + /* + * This is the first model in the graph; the root model. The first + * model's creation is how a graph begins. + */ + + /* + * Use the specified root model's dimensions for this model. + * + * Note that the root model's dimensions may have a requested schema + * URI already set. + * + * If however, during the course of creating this model's slots, the + * graph discovers a "schemaUri" slot then we will trust the model to + * tell us it's type. + */ + + newModelDimensionsBuilder = _RootModelDimensionsBuilder; + } + else + { + /* + * Make an effort to find the best "default" schema id for the new + * (child/nested) model by consulting the focused slot's prototype + * (if available). + * + * NOTE: If we have any scope at all, then the graph's rules state + * that we must also have a parent model ("parent" in the model + * graph hierarchy sense; not to be confused with schematic + * inheritance and "base" schemas). + */ + + final String slotName = _SlotNameStack.peek(); + final DimensionsBuilder parentDimensionsBuilder = _DimensionsBuilderStack.peek(); + + /* + * Initialize the new dimensions from the (graph's) parent + * dimensions + */ + + newModelDimensionsBuilder = new DimensionsBuilder(parentDimensionsBuilder.toDimensions()) + .setSchemaUri(null); + URI newModelSchemaUri = null; + + final URI parentSchemaUri = parentDimensionsBuilder.getSchemaUri(); + if (parentSchemaUri != null) + { + /* + * If the parent's schema URI is known, attempt to use it to + * determine the (default) schema URI of new model. + */ + + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final Prototype parentPrototype = schemaLoader.getPrototype(parentSchemaUri); + if (parentPrototype.getLinkRelationUri(slotName) != null) + { + newModelSchemaUri = schemaLoader.getTypeUri(ValueType.JAVA_TYPE_LINK); + } + else + { + final ProtoSlot parentSlot = parentPrototype.getProtoSlot(slotName); + + if (parentSlot != null) + { + /* + * The prototype slot associated with the parent model's + * schema may help us determine the default schematic + * type identity for the model we are about to create. + */ + + final ScopeType scopeType = _ScopeStack.peek(); + + switch (scopeType) + { + case Model: + { + + if (parentSlot.getValueType() == ValueType.Model) + { + newModelSchemaUri = ((PropertyProtoSlot) parentSlot).getModelSchemaUri(); + } + + break; + } + case List: + { + if (parentSlot.getValueType() == ValueType.List) + { + final Type listElementType = ((PropertyProtoSlot) parentSlot).getListElementType(); + if (ValueType.isModelType(listElementType)) + { + newModelSchemaUri = ((PropertyProtoSlot) parentSlot).getListElementSchemaUri(); + } + } + + break; + } + + } // End of switch + } + } + } + + newModelDimensionsBuilder.setSchemaUri(newModelSchemaUri); + } + + /* + * Shift the graph's focus to the new model. + */ + final Dimensions newModelDimensions = newModelDimensionsBuilder.toDimensions(); + + // newModel.setDimensions(newModelDimensions); + + _ModelStack.push(newModel); + _DimensionsBuilderStack.push(newModelDimensionsBuilder); + _ScopeStack.push(ScopeType.Model); + + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final URI schemaUri = newModelDimensions.getSchemaUri(); + + if (schemaUri != null) + { + Class schemaInterface; + try + { + schemaInterface = schemaLoader.getSchemaInterface(schemaUri); + } + catch (final ClassNotFoundException e) + { + ParserModelGraph.LOG.error(e.getMessage(), e); + throw new ModelGraphException(e.getMessage(), e, this); + } + + if (TypeUtils.isAssignable(schemaInterface, Document.class)) + { + _DocumentStack.push(newModel); + } + } + } + + /** + * Create a new slot (must be called with model focus). + * + * @param slotName + * the name of the slot to create storage for within the graph's + * focused model. + */ + public void startSlot(final String slotName) + { + if (_ScopeStack.isEmpty() || _ModelStack.isEmpty() || (_ScopeStack.peek() != ScopeType.Model)) + { + // TODO: Future, move hard-coded messages like this into a + // "StringTable & MessageFormat" utility class + + final ModelGraphException e = new ModelGraphException("Slot must be created within a model's scope.", this); + ParserModelGraph.LOG.error(e.getMessage(), e); + throw e; + } + + _SlotNameStack.push(slotName); + + } + + private Object convertRawIntegerValue(final Integer rawValue) + { + final DimensionsBuilder dimensionsBuilder = _DimensionsBuilderStack.peek(); + final URI modelSchemaUri = dimensionsBuilder.getSchemaUri(); + if (modelSchemaUri == null) + { + return rawValue; + } + + final String slotName = _SlotNameStack.peek(); + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final Prototype prototype = schemaLoader.getPrototype(modelSchemaUri); + final ProtoSlot protoSlot = prototype.getProtoSlot(slotName); + final Type slotType = protoSlot.getHeapValueType(); + if (slotType.equals(Integer.class) || (slotType.equals(int.class) && rawValue != null)) + { + return rawValue; + } + + final ScopeType scopeType = _ScopeStack.peek(); + + switch (scopeType) + { + case Model: + { + + if (slotType.equals(Long.class) || (slotType.equals(long.class) && rawValue != null)) + { + return new Long(rawValue); + } + if (slotType.equals(Double.class) || (slotType.equals(double.class) && rawValue != null)) + { + return new Double(rawValue); + } + + break; + } + case List: + { + + if (protoSlot.getValueType() == ValueType.List) + { + final Type listElementType = ((PropertyProtoSlot) protoSlot).getListElementType(); + if (listElementType.equals(Long.class) || (listElementType.equals(long.class) && rawValue != null)) + { + return new Long(rawValue); + } + if (listElementType.equals(Double.class) || (listElementType.equals(double.class) && rawValue != null)) + { + return new Double(rawValue); + } + + } + + break; + } + + } // End of switch + + final ModelGraphException e = new ModelGraphException("Unable to transform schema (" + modelSchemaUri + + ") slot named \"" + slotName + "\" raw String value \"" + rawValue + "\" to type " + slotType + ".", + this); + ParserModelGraph.LOG.error(e.getMessage(), e); + throw e; + + } + + private Object convertRawListValue(final List rawValue) + { + return rawValue; + } + + private Object convertRawModelValue(final Model model) + { + final DimensionsBuilder dimensionsBuilder = _DimensionsBuilderStack.pop(); + + final URI schemaUri = dimensionsBuilder.getSchemaUri(); + if (schemaUri == null || model == null) + { + return model; + } + + final Dimensions dimensions = dimensionsBuilder.toDimensions(); + final Model typedModel = model.newAlternate(dimensions); + + if (typedModel instanceof Embedded) + { + final Model documentModel = _DocumentStack.peek(); + if (documentModel == null) + { + + final ModelGraphException e = new ModelGraphException("Model: " + typedModel + + " must be embedded within a Document.", this); + ParserModelGraph.LOG.error(e.getMessage(), e); + throw e; + } + + // Embedded models need a pointer to their enclosing Document. + + // Set the Embedded's document uri slot + final URI uri = (URI) documentModel.getSlotMap().get(Document.SLOT_NAME_URI); + typedModel.setSlotValue(Embedded.SLOT_NAME_DOCUMENT_URI, uri); + } + + if (_ModelStack.isEmpty()) + { + // This is the root model, include all of its requested key values in the slot map. + final Keys keys = getRootModelKeys(); + if (keys != null) + { + typedModel.initKeySlots(keys); + } + } + + return typedModel; + + } + + @SuppressWarnings({ "unchecked", "rawtypes" }) + private Object convertRawStringValue(final String rawValue) + { + final DimensionsBuilder dimensionsBuilder = _DimensionsBuilderStack.peek(); + final URI schemaUri = dimensionsBuilder.getSchemaUri(); + if (schemaUri == null) + { + return rawValue; + } + + final ScopeType scopeType = _ScopeStack.peek(); + final String slotName = _SlotNameStack.peek(); + + // Check if the slotName is heapId + if (slotName.equals(Model.SLOT_NAME_HEAP_ID) && scopeType.equals(ScopeType.Model)) + { + LOG.debug("Current slot is a Heap Id {}", rawValue); + final UUID heapId = UUID.fromString(rawValue); + if (_ShortcutModels.containsKey(heapId)) + { + // Need to stuff this into the current model location.... + + return _ShortcutModels.get(heapId); + } + else + { + // Assumes scope type is Model + + LOG.debug("Creating new model with schema {} with heapId {}", new Object[] { schemaUri, heapId }); + + // Pull the created reference from the model stack and put into the map + final Model parentModel = _ModelStack.peek(); + _ShortcutModels.put(heapId, parentModel); + + // Return null if we're in the first occurrence + return null; + } + } + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final SyntaxLoader syntaxLoader = context.getSyntaxLoader(); + + final Prototype prototype = schemaLoader.getPrototype(schemaUri); + + // TODO fix this for HEAP ID's { + final ProtoSlot protoSlot = prototype.getProtoSlot(slotName); + + final Type slotType = protoSlot.getHeapValueType(); + if (slotType.equals(String.class)) + { + return rawValue; + } + + switch (scopeType) + { + case Model: + { + if (TypeUtils.isAssignable(slotType, Enum.class)) + { + return Enum.valueOf((Class) slotType, rawValue); + } + else if (slotType instanceof Class) + { + + final SyntaxHandler syntaxHandler = syntaxLoader.getSyntaxHandler((Class) slotType); + if (syntaxHandler != null) + { + return syntaxHandler.parseSyntacticText(rawValue); + } + } + + break; + } + case List: + { + + if (protoSlot.getValueType() == ValueType.List) + { + final Type listElementType = ((PropertyProtoSlot) protoSlot).getListElementType(); + if (String.class.equals(listElementType)) + { + return rawValue; + } + else if (TypeUtils.isAssignable(listElementType, Enum.class)) + { + return Enum.valueOf((Class) listElementType, rawValue); + } + else if (listElementType instanceof Class) + { + final SyntaxHandler syntaxHandler = syntaxLoader.getSyntaxHandler((Class) listElementType); + if (syntaxHandler != null) + { + return syntaxHandler.parseSyntacticText(rawValue); + } + } + } + break; + } + + } // End of switch + + final ModelGraphException e = new ModelGraphException("Unable to transform schema (" + schemaUri + + ") slot named \"" + slotName + "\" raw String value \"" + rawValue + "\" to type " + slotType + ".", + this); + ParserModelGraph.LOG.error(e.getMessage(), e); + throw e; + } + + public enum ScopeType + { + Model, + List; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/format/PluggableFormatter.java b/core/src/main/java/org/wrml/runtime/format/PluggableFormatter.java new file mode 100644 index 0000000..2220b69 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/PluggableFormatter.java @@ -0,0 +1,129 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +import org.wrml.model.Model; +import org.wrml.runtime.Context; +import org.wrml.runtime.DefaultConfiguration; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; + +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URI; +import java.util.Map; + +/** + * The pluggable {@link Formatter} implementation. + * + * @see ModelReader + * @see ModelWriter + */ +public class PluggableFormatter extends AbstractFormatter +{ + + public static final String PARSER_FACTORY_SETTING_NAME = "parserFactory"; + + public static final String PRINTER_FACTORY_SETTING_NAME = "printerFactory"; + + private ModelReader _ModelReader; + + private ModelWriter _ModelWriter; + + public PluggableFormatter() + { + + } + + @Override + protected void initFromConfiguration(final FormatterConfiguration config) + { + + final Map settings = config.getSettings(); + if (settings == null || settings.isEmpty()) + { + throw new IllegalArgumentException("The Format settings cannot be null."); + } + + final Context context = getContext(); + final URI formatUri = getFormatUri(); + + final ModelParserFactory parserFactory; + final String modelParserFactoryClassName = settings.get(PARSER_FACTORY_SETTING_NAME); + if (modelParserFactoryClassName != null) + { + parserFactory = DefaultConfiguration.newInstance(modelParserFactoryClassName); + + if (parserFactory != null) + { + _ModelReader = new ModelReader(context, formatUri, parserFactory); + } + } + + final ModelPrinterFactory printerFactory; + final String modelPrinterFactoryClassName = settings.get(PRINTER_FACTORY_SETTING_NAME); + if (modelPrinterFactoryClassName != null) + { + printerFactory = DefaultConfiguration.newInstance(modelPrinterFactoryClassName); + if (printerFactory != null) + { + _ModelWriter = new ModelWriter(context, formatUri, printerFactory); + } + } + + if (_ModelReader == null && _ModelWriter == null) + { + throw new IllegalArgumentException("The Format must configure both/either a " + PARSER_FACTORY_SETTING_NAME + + " and/or a " + PRINTER_FACTORY_SETTING_NAME + "."); + } + + } + + @Override + public M readModel(final InputStream in, final Keys rootModelKeys, + final Dimensions rootModelDimensions) throws ModelReadingException + { + + if (_ModelReader == null) + { + throw new UnsupportedOperationException("The \"readModel\" operation is not supported by the \"" + getFormatUri() + "\" format."); + } + + return _ModelReader.readModel(in, rootModelKeys, rootModelDimensions); + } + + @Override + public void writeModel(final OutputStream out, final Model model, final ModelWriteOptions writeOptions) throws ModelWritingException + { + + if (_ModelWriter == null) + { + throw new UnsupportedOperationException("The \"writeModel\" operation is not supported by the \"" + getFormatUri() + "\" format."); + } + + _ModelWriter.writeModel(out, model, writeOptions); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/format/PrinterModelGraph.java b/core/src/main/java/org/wrml/runtime/format/PrinterModelGraph.java new file mode 100644 index 0000000..09f2fe8 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/PrinterModelGraph.java @@ -0,0 +1,574 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +import java.lang.reflect.Type; +import java.net.URI; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; +import java.util.UUID; +import java.util.WeakHashMap; + +import org.wrml.model.Model; +import org.wrml.model.rest.Embedded; +import org.wrml.model.rest.Link; + +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.schema.PropertyProtoSlot; +import org.wrml.runtime.schema.ProtoSlot; +import org.wrml.runtime.schema.Prototype; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.runtime.schema.ValueType; +import org.wrml.runtime.syntax.SyntaxHandler; +import org.wrml.runtime.syntax.SyntaxLoader; + +public class PrinterModelGraph extends ModelGraph +{ + + private final Model _RootModel; + + private final ModelNode _RootModelNode; + + private final Map _ModelNodes; + + private final Set _ExcludedSchemaUris; + + public PrinterModelGraph(final Model rootModel) + { + this(rootModel, null); + } + + public PrinterModelGraph(final Model rootModel, final Set excludedSchemaUris) + { + super(rootModel.getContext()); + + _RootModel = rootModel; + _ModelNodes = new WeakHashMap(); + _ExcludedSchemaUris = new HashSet(); + + if (excludedSchemaUris != null) + { + _ExcludedSchemaUris.addAll(excludedSchemaUris); + } + + if (_ExcludedSchemaUris.contains(rootModel.getSchemaUri())) + { + throw new ModelGraphException("The root model's schema is excluded from the graph.", this); + } + + _RootModelNode = new ModelNode(null, _RootModel); + } + + public Model getRootModel() + { + return _RootModel; + } + + public ModelNode getRootModelNode() + { + return _RootModelNode; + } + + public class ListNode extends Node + { + + private final List _PrintableElements; + + private boolean _ElementSchemaUriRequired; + + private URI _MonomorphicSchemaUri; + + ListNode(final Node parent, final List list) + { + super(parent); + + _PrintableElements = new ArrayList(list.size()); + + boolean isMonomorphic = true; + for (final Object element : list) + { + final Object printableElement = makeValuePrintable(element); + if (printableElement == null) + { + continue; + } + + _PrintableElements.add(printableElement); + + if (printableElement instanceof ModelNode) + { + final URI schemaUri = ((ModelNode) printableElement).getModel().getSchemaUri(); + + if (isMonomorphic && _MonomorphicSchemaUri == null) + { + _MonomorphicSchemaUri = schemaUri; + } + else if (_MonomorphicSchemaUri != null && !_MonomorphicSchemaUri.equals(schemaUri)) + { + isMonomorphic = false; + _MonomorphicSchemaUri = null; + } + } + else + { + isMonomorphic = false; + _MonomorphicSchemaUri = null; + } + + } + + } + + public URI getMonomorphicSchemaUri() + { + return _MonomorphicSchemaUri; + } + + public List getPrintableElements() + { + return _PrintableElements; + } + + public boolean isElementSchemaUriRequired() + { + + return _ElementSchemaUriRequired; + } + + public void setElementSchemaUriRequired(final boolean elementSchemaUriRequired) + { + _ElementSchemaUriRequired = elementSchemaUriRequired; + + } + + } + + public class ModelNode extends Node + { + + private final Model _Model; + + private final Map _PrintableSlots; + + private boolean _HeapIdRequired; + + private boolean _SchemaUriRequired; + + ModelNode(final Node parent, final Model model) + { + super(parent); + + _Model = model; + + // Track this model node to avoid circular model reference + // serialization + _ModelNodes.put(_Model.getHeapId(), this); + + _PrintableSlots = makeSlotsPrintable(getRawSlots()); + } + + public Model getModel() + { + return _Model; + } + + public Map getPrintableSlots() + { + return _PrintableSlots; + } + + public boolean isHeapIdRequired() + { + return _HeapIdRequired; + } + + public boolean isSchemaUriRequired() + { + return _SchemaUriRequired; + } + + public void setHeapIdRequired(final boolean heapIdRequired) + { + _HeapIdRequired = heapIdRequired; + } + + public void setSchemaUriRequired(final boolean schemaUriRequired) + { + _SchemaUriRequired = schemaUriRequired; + } + + private Map getRawSlots() + { + + final Model model = getModel(); + + Map rawSlots = new HashMap<>(model.getSlotMap()); + + if (model instanceof Embedded) + { + rawSlots.remove(Embedded.SLOT_NAME_DOCUMENT_URI); + } + + final Dimensions dimensions = model.getDimensions(); + + final List excludedSlotNames = dimensions.getExcludedSlotNames(); + if (excludedSlotNames != null && !excludedSlotNames.isEmpty()) + { + for (final String excludedSlotName : excludedSlotNames) + { + rawSlots.remove(excludedSlotName); + } + } + else + { + final List includedSlotNames = dimensions.getIncludedSlotNames(); + if (includedSlotNames != null && !includedSlotNames.isEmpty()) + { + + final Map includedSlots = new HashMap(includedSlotNames.size()); + for (final String includedSlotName : includedSlotNames) + { + if (rawSlots.containsKey(includedSlotName)) + { + final Object value = rawSlots.get(includedSlotName); + includedSlots.put(includedSlotName, value); + } + } + + rawSlots = includedSlots; + } + } + + return rawSlots; + } + + private Map makeSlotsPrintable(final Map rawSlots) + { + + final Model model = getModel(); + final URI schemaUri = model.getSchemaUri(); + + final Set slotNameSet = rawSlots.keySet(); + if (slotNameSet.isEmpty()) + { + return rawSlots; + } + + final SchemaLoader schemaLoader = getContext().getSchemaLoader(); + final Prototype prototype = model.getPrototype(); + + final SortedSet slotNames = new TreeSet(slotNameSet); + + if (prototype != null) + { + final Collection aliases = prototype.getSlotAliases(); + for (final String alias : aliases) + { + final String realSlotName = prototype.getRealSlotName(alias); + if (realSlotName != null && rawSlots.containsKey(realSlotName)) + { + slotNames.add(alias); + } + } + } + + for (final String slotName : slotNames) + { + + String realSlotName = slotName; + + ProtoSlot protoSlot = null; + if (prototype != null) + { + protoSlot = prototype.getProtoSlot(slotName); + realSlotName = protoSlot.getRealName(); + + final URI slotDeclaringSchemaUri = protoSlot.getDeclaringSchemaUri(); + + if (_ExcludedSchemaUris.contains(slotDeclaringSchemaUri)) + { + rawSlots.remove(realSlotName); + continue; + } + } + + final Object slotValue = rawSlots.get(realSlotName); + + final Object printableValue = makeValuePrintable(slotValue); + + if (printableValue == null && slotValue != null) + { + + // The printable value signals slot removal by turning the initially non-null slot value into a null + // printable value. + + rawSlots.remove(realSlotName); + } + else + { + rawSlots.put(slotName, printableValue); + + if (schemaUri == null) + { + continue; + } + + if (protoSlot != null && !(protoSlot instanceof PropertyProtoSlot)) + { + continue; + } + + final PropertyProtoSlot propertyProtoSlot = (PropertyProtoSlot) protoSlot; + if (printableValue instanceof ModelNode) + { + + final URI declaredSchemaUri = propertyProtoSlot.getModelSchemaUri(); + Class declaredSchemaIterface; + try + { + declaredSchemaIterface = schemaLoader.getSchemaInterface(declaredSchemaUri); + } + catch (final ClassNotFoundException e) + { + throw new ModelGraphException(e.getMessage(), e, PrinterModelGraph.this); + } + + final ModelNode modelNode = (ModelNode) printableValue; + final URI actualSchemaUri = modelNode.getModel().getSchemaUri(); + Class actualSchemaInterface; + try + { + actualSchemaInterface = schemaLoader.getSchemaInterface(actualSchemaUri); + } + catch (final ClassNotFoundException e) + { + throw new ModelGraphException(e.getMessage(), e, PrinterModelGraph.this); + } + + if (schemaLoader.isSubschema(declaredSchemaIterface, actualSchemaInterface)) + { + modelNode.setSchemaUriRequired(true); + } + + } + else if (printableValue instanceof ListNode) + { + + final ListNode listNode = (ListNode) printableValue; + final Type declaredElementType = propertyProtoSlot.getListElementType(); + final URI monomorphicSchemaUri = listNode.getMonomorphicSchemaUri(); + + if (monomorphicSchemaUri == null) + { + continue; + } + + final Type monomorphicElementType; + try + { + monomorphicElementType = schemaLoader.getSchemaInterface(monomorphicSchemaUri); + } + catch (final ClassNotFoundException e) + { + throw new ModelGraphException(e.getMessage(), e, PrinterModelGraph.this); + } + + if (schemaLoader.isSubschema(declaredElementType, monomorphicElementType)) + { + listNode.setElementSchemaUriRequired(true); + } + + } + + } + } + + // Now all are printable + return rawSlots; + } + } + + public class ModelReferenceNode extends Node + { + + private final UUID _TargetHeapId; + + ModelReferenceNode(final Node parent, final UUID targetHeapId) + { + super(parent); + _TargetHeapId = targetHeapId; + } + + public ModelNode getReferencedNode() + { + return _ModelNodes.get(getTargetHeapId()); + } + + public UUID getTargetHeapId() + { + return _TargetHeapId; + } + + } + + public abstract class Node + { + + private final Node _Parent; + + Node(final Node parent) + { + _Parent = parent; + } + + public final Node getParent() + { + return _Parent; + } + + public Object makeValuePrintable(final Object value) + { + + if (value == null) + { + return null; + } + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final SyntaxLoader syntaxLoader = context.getSyntaxLoader(); + + final Class heapValueType = value.getClass(); + final ValueType valueType = schemaLoader.getValueType(heapValueType); + + Object printableValue = value; + + switch (valueType) + { + + case Date: + { + + final SyntaxHandler dateSyntaxHandler = syntaxLoader.getSyntaxHandler(Date.class); + final String dateString = dateSyntaxHandler.formatSyntaxValue((Date) value); + printableValue = dateString; + break; + + } + case Link: + { + final Link link = (Link) value; + printableValue = new ModelNode(this, link); + + break; + } + case List: + { + + final List list = (List) value; + final ListNode listNode = new ListNode(this, list); + printableValue = listNode; + break; + } + case Model: + { + final Model model = (Model) value; + + // Use a Map to track model heap ids and ensure that models + // containing themselves are not infinitely printed. + + final UUID heapId = model.getHeapId(); + if (_ModelNodes.containsKey(heapId)) + { + + final ModelNode targetModelNode = _ModelNodes.get(heapId); + + // The target model will need to include its heap id so that + // it can be referred to. + targetModelNode.setHeapIdRequired(true); + + printableValue = new ModelReferenceNode(this, heapId); + } + else + { + printableValue = new ModelNode(this, model); + } + + break; + } + case SingleSelect: + { + final String textValue = ((Enum) value).name(); + printableValue = textValue; + break; + } + case Text: + { + + if (value instanceof String) + { + printableValue = value; + } + else + { + @SuppressWarnings("rawtypes") + final SyntaxHandler syntaxHandler = syntaxLoader.getSyntaxHandler(heapValueType); + + if (syntaxHandler != null) + { + @SuppressWarnings("unchecked") + final String textValue = syntaxHandler.formatSyntaxValue(value); + printableValue = textValue; + } + else + { + printableValue = null; + } + } + + break; + } + default: + { + break; + } + + } // End of switch + + return printableValue; + } + + } + +} diff --git a/core/src/main/java/org/wrml/runtime/format/SystemFormat.java b/core/src/main/java/org/wrml/runtime/format/SystemFormat.java new file mode 100644 index 0000000..1deddb1 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/SystemFormat.java @@ -0,0 +1,164 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +import org.wrml.runtime.rest.MediaType; +import org.wrml.runtime.rest.SystemApi; +import org.wrml.util.UniqueName; + +import java.net.URI; + +public enum SystemFormat +{ + + json(new UniqueName("application/json"), + "The WRML System Format representing the \"application/json\" media type.", + URI.create("http://www.json.org"), + URI.create("http://www.ietf.org/rfc/rfc4627.txt?number=4627"), + "json"), + + xml(new UniqueName("application/xml"), + "The WRML System Format representing the \"application/xml\" media type.", + URI.create("http://www.xml.com"), + URI.create(""), + "xml"), + + html(new UniqueName("text/html"), + "The WRML System Format representing the \"text/html\" media type.", + URI.create("http://www.w3.org/html"), + URI.create("http://www.ietf.org/rfc/rfc2854.txt"), + "html"), + + json_schema(new UniqueName("application/schema+json"), + "The WRML System Format representing the \"application/schema+json\" media type.", + URI.create("http://json-schema.org"), + URI.create("http://tools.ietf.org/html/draft-zyp-json-schema-03"), + "json"), + + java(new UniqueName("text/java"), + "The WRML System Format representing the \"text/java\" media type (for Java source files).", + URI.create(""), + URI.create(""), + "java"), + + + vnd_wrml_ascii_api(new UniqueName("application/vnd.wrml.ascii.api"), + "The WRML System Format representing the \"application/vnd.wrml.ascii.api\" media type.", + URI.create("http://wrml.org"), + URI.create(""), "txt"), + + // TODO: This is Api Designer tool/app specific. Move this to a non-system Format (resource file?) + vnd_wrml_design_schema(new UniqueName("application/vnd.wrml.design.schema"), + "The WRML System Format representing the \"application/vnd.wrml.design.schema\" media type.", + URI.create("http://www.w3.org/xml"), + URI.create("http://www.ietf.org/rfc/rfc3023.txt"), + "json"); + + private final URI _FormatUri; + + private final String _Description; + + private final UniqueName _UniqueName; + + private final URI _HomePageUri; + + private final URI _RfcPageUri; + + private final MediaType _MediaType; + + private final String _FileExtension; + + private SystemFormat(final UniqueName uniqueName, final String description, final URI homePageUri, final URI rfcPageUri, final String fileExtension) + { + + _UniqueName = uniqueName; + + _Description = description; + _HomePageUri = homePageUri; + _RfcPageUri = rfcPageUri; + _FileExtension = fileExtension; + + _MediaType = new MediaType(uniqueName.getNamespace(), uniqueName.getLocalName()); + final URI relativeUri = URI.create("/" + _UniqueName.toString()); + _FormatUri = SystemApi.Format.getUri().resolve(relativeUri); + + } + + public static SystemFormat fromUniqueName(final UniqueName name) + { + + for (final SystemFormat format : SystemFormat.values()) + { + if (format._UniqueName.equals(name)) + { + return format; + } + } + + return null; + } + + public String getDescription() + { + + return _Description; + } + + public URI getFormatUri() + { + + return _FormatUri; + } + + public URI getHomePageUri() + { + + return _HomePageUri; + } + + public MediaType getMediaType() + { + + return _MediaType; + } + + public URI getRfcPageUri() + { + + return _RfcPageUri; + } + + public UniqueName getUniqueName() + { + + return _UniqueName; + } + + public String getFileExtension() + { + + return _FileExtension; + } +} diff --git a/core/src/main/java/org/wrml/runtime/format/application/json/JsonModelParser.java b/core/src/main/java/org/wrml/runtime/format/application/json/JsonModelParser.java new file mode 100644 index 0000000..b20da09 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/application/json/JsonModelParser.java @@ -0,0 +1,101 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format.application.json; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +import org.wrml.runtime.format.ModelParser; +import org.wrml.runtime.format.ModelParserException; +import org.wrml.runtime.format.ModelToken; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonToken; + +public class JsonModelParser implements ModelParser +{ + + private final static Map TOKEN_MAP = new HashMap(); + + static + { + JsonModelParser.TOKEN_MAP.put(JsonToken.START_OBJECT, ModelToken.MODEL_START); + JsonModelParser.TOKEN_MAP.put(JsonToken.END_OBJECT, ModelToken.MODEL_END); + JsonModelParser.TOKEN_MAP.put(JsonToken.FIELD_NAME, ModelToken.SLOT_NAME); + JsonModelParser.TOKEN_MAP.put(JsonToken.START_ARRAY, ModelToken.LIST_START); + JsonModelParser.TOKEN_MAP.put(JsonToken.END_ARRAY, ModelToken.LIST_END); + JsonModelParser.TOKEN_MAP.put(JsonToken.VALUE_STRING, ModelToken.VALUE_TEXT); + JsonModelParser.TOKEN_MAP.put(JsonToken.VALUE_NULL, ModelToken.VALUE_NULL); + JsonModelParser.TOKEN_MAP.put(JsonToken.VALUE_TRUE, ModelToken.VALUE_TRUE); + JsonModelParser.TOKEN_MAP.put(JsonToken.VALUE_FALSE, ModelToken.VALUE_FALSE); + JsonModelParser.TOKEN_MAP.put(JsonToken.VALUE_NUMBER_INT, ModelToken.VALUE_INTEGER); + JsonModelParser.TOKEN_MAP.put(JsonToken.VALUE_NUMBER_FLOAT, ModelToken.VALUE_DOUBLE); + } + + private final JsonParser _JsonParser; + + public JsonModelParser(final JsonParser jsonParser) + { + _JsonParser = jsonParser; + } + + public JsonParser getJsonParser() + { + return _JsonParser; + } + + @Override + public Double parseDoubleValue() throws IOException, ModelParserException + { + return getJsonParser().getDoubleValue(); + } + + @Override + public Integer parseIntegerValue() throws IOException, ModelParserException + { + return getJsonParser().getIntValue(); + } + + @Override + public ModelToken parseNextToken() throws IOException, ModelParserException + { + final JsonToken jsonToken = getJsonParser().nextToken(); + return JsonModelParser.TOKEN_MAP.get(jsonToken); + } + + @Override + public String parseSlotName() throws IOException, ModelParserException + { + return getJsonParser().getCurrentName(); + } + + @Override + public String parseTextValue() throws IOException, ModelParserException + { + return getJsonParser().getText(); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/format/application/json/JsonModelParserFactory.java b/core/src/main/java/org/wrml/runtime/format/application/json/JsonModelParserFactory.java new file mode 100644 index 0000000..2b5a30e --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/application/json/JsonModelParserFactory.java @@ -0,0 +1,67 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format.application.json; + +import java.io.IOException; +import java.io.InputStream; + +import org.wrml.runtime.format.ModelParser; +import org.wrml.runtime.format.ModelParserException; +import org.wrml.runtime.format.ModelParserFactory; + +import com.fasterxml.jackson.core.JsonFactory; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; + +public class JsonModelParserFactory implements ModelParserFactory +{ + + @Override + public ModelParser createModelParser(final InputStream in) throws IOException, ModelParserException + { + + final JsonFactory jsonFactory = new JsonFactory(); + final JsonParser jsonParser; + + try + { + jsonParser = jsonFactory.createParser(in); + } + catch (final JsonParseException e) + { + throw new ModelParserException( + "An serious JSON related problem has occurred while attempting to parse a Model.", e, null); + } + catch (final IOException e) + { + throw new ModelParserException( + "An serious I/O related problem has occurred while attempting to parse a Model.", e, null); + } + + final JsonModelParser parser = new JsonModelParser(jsonParser); + return parser; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/format/application/json/JsonModelPrinter.java b/core/src/main/java/org/wrml/runtime/format/application/json/JsonModelPrinter.java new file mode 100644 index 0000000..06b6a59 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/application/json/JsonModelPrinter.java @@ -0,0 +1,145 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format.application.json; + +import java.io.IOException; +import java.util.List; + +import org.wrml.model.Model; + +import org.wrml.runtime.format.ModelPrinter; +import org.wrml.runtime.format.ModelPrinterException; +import org.wrml.runtime.format.ModelWriteOptions; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; + +public class JsonModelPrinter implements ModelPrinter +{ + + private final JsonGenerator _JsonGenerator; + + private final ModelWriteOptions _WriteOptions; + + public JsonModelPrinter(final JsonGenerator jsonGenerator, final ModelWriteOptions writeOptions) + { + _JsonGenerator = jsonGenerator; + _WriteOptions = writeOptions; + + if (_WriteOptions.isPrettyPrint()) + { + final DefaultPrettyPrinter prettyPrinter = new DefaultPrettyPrinter(); + prettyPrinter.indentObjectsWith(new DefaultPrettyPrinter.Lf2SpacesIndenter()); + prettyPrinter.indentArraysWith(new DefaultPrettyPrinter.Lf2SpacesIndenter()); + _JsonGenerator.setPrettyPrinter(prettyPrinter); + + // _JsonGenerator.useDefaultPrettyPrinter(); + } + } + + @Override + public void close() throws IOException, ModelPrinterException + { + _JsonGenerator.close(); + } + + public JsonGenerator getJsonGenerator() + { + return _JsonGenerator; + } + + @Override + public ModelWriteOptions getWriteOptions() + { + return _WriteOptions; + } + + @Override + public void printBooleanValue(final boolean booleanValue) throws IOException, ModelPrinterException + { + _JsonGenerator.writeBoolean(booleanValue); + } + + @Override + public void printDoubleValue(final double value) throws IOException, ModelPrinterException + { + _JsonGenerator.writeNumber(value); + } + + @Override + public void printIntegerValue(final int value) throws IOException, ModelPrinterException + { + _JsonGenerator.writeNumber(value); + } + + @Override + public void printListEnd(final List list) throws IOException, ModelPrinterException + { + _JsonGenerator.writeEndArray(); + } + + @Override + public void printListStart(final List list) throws IOException, ModelPrinterException + { + _JsonGenerator.writeStartArray(); + } + + @Override + public void printLongValue(final long value) throws IOException, ModelPrinterException + { + _JsonGenerator.writeNumber(value); + } + + @Override + public void printModelEnd(final Model model) throws IOException, ModelPrinterException + { + _JsonGenerator.writeEndObject(); + } + + @Override + public void printModelStart(final Model model) throws IOException, ModelPrinterException + { + _JsonGenerator.writeStartObject(); + } + + @Override + public void printNullValue() throws IOException, ModelPrinterException + { + _JsonGenerator.writeNull(); + } + + @Override + public void printSlotName(final String slotName) throws IOException, ModelPrinterException + { + _JsonGenerator.writeFieldName(slotName); + } + + @Override + public void printTextValue(final String textValue) throws IOException, ModelPrinterException + { + _JsonGenerator.writeString(textValue); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/format/application/json/JsonModelPrinterFactory.java b/core/src/main/java/org/wrml/runtime/format/application/json/JsonModelPrinterFactory.java new file mode 100644 index 0000000..3314d84 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/application/json/JsonModelPrinterFactory.java @@ -0,0 +1,62 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format.application.json; + +import java.io.IOException; +import java.io.OutputStream; + +import org.wrml.runtime.format.ModelPrinter; +import org.wrml.runtime.format.ModelPrinterException; +import org.wrml.runtime.format.ModelPrinterFactory; +import org.wrml.runtime.format.ModelWriteOptions; + +import com.fasterxml.jackson.core.JsonFactory; +import com.fasterxml.jackson.core.JsonGenerator; + +public class JsonModelPrinterFactory implements ModelPrinterFactory +{ + + @Override + public ModelPrinter createModelPrinter(final OutputStream out, final ModelWriteOptions writeOptions) + throws IOException, ModelPrinterException + { + final JsonFactory jsonFactory = new JsonFactory(); + final JsonGenerator jsonGenerator; + + try + { + jsonGenerator = jsonFactory.createGenerator(out); + } + catch (final IOException e) + { + throw new ModelPrinterException( + "An serious I/O related problem has occurred while attempting to print a Model.", e, null); + } + + final JsonModelPrinter printer = new JsonModelPrinter(jsonGenerator, writeOptions); + return printer; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/format/application/json/package-info.java b/core/src/main/java/org/wrml/runtime/format/application/json/package-info.java new file mode 100644 index 0000000..42bc9ac --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/application/json/package-info.java @@ -0,0 +1,32 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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. + */ +/** + * Support for the application/json media type. + * + @see JSON.org + @see JSON RFC + */ +package org.wrml.runtime.format.application.json; + diff --git a/core/src/main/java/org/wrml/runtime/format/application/schema/json/JsonSchema.java b/core/src/main/java/org/wrml/runtime/format/application/schema/json/JsonSchema.java new file mode 100644 index 0000000..1cd5e96 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/application/schema/json/JsonSchema.java @@ -0,0 +1,1185 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format.application.schema.json; + +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.BooleanNode; +import com.fasterxml.jackson.databind.node.ObjectNode; +import com.fasterxml.jackson.databind.node.TextNode; +import org.apache.commons.lang3.StringUtils; +import org.wrml.runtime.format.application.schema.json.JsonSchema.Definitions.JsonType; +import org.wrml.runtime.format.application.schema.json.JsonSchema.Definitions.PropertyType; +import org.wrml.runtime.syntax.SyntaxLoader; +import org.wrml.util.UniqueName; + +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.*; +import java.util.Map.Entry; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.CopyOnWriteArraySet; + +/** + * http://tools.ietf.org/html/draft-zyp-json-schema-03 + */ +public class JsonSchema +{ + + private final JsonSchemaLoader _JsonSchemaLoader; + + private final ObjectNode _RootNode; + + private final URI _SchemaUri; + + private final ConcurrentMap _Properties; + + private final CopyOnWriteArrayList _Links; + + private final CopyOnWriteArraySet _ExtendsSet; + + private final CopyOnWriteArrayList _Required; + + private final Map> _Dependencies; + + JsonSchema(final JsonSchemaLoader loader, final ObjectNode rootNode) + { + _JsonSchemaLoader = loader; + _RootNode = rootNode; + + final SyntaxLoader syntaxLoader = _JsonSchemaLoader.getContext().getSyntaxLoader(); + _SchemaUri = Definitions.PropertyType.$Schema.getValue(_RootNode, syntaxLoader); + + _ExtendsSet = new CopyOnWriteArraySet<>(); + + _Properties = new ConcurrentHashMap<>(); + _Dependencies = new ConcurrentHashMap<>(); + _Required = new CopyOnWriteArrayList<>(); + _Links = new CopyOnWriteArrayList<>(); + + // TODO not pass the args... + parseExtensions(rootNode, syntaxLoader); + parseProperties(); + parseLinks(); + parseRequireds(); + parseDependencies(); + } + + private void parseExtensions(final ObjectNode rootNode, final SyntaxLoader syntaxLoader) + { + // v3 uses the extends keyword + if (rootNode.has(PropertyType.Extends.getName())) + { + final JsonNode extendsJsonNode = rootNode.get(PropertyType.Extends.getName()); + + if (extendsJsonNode instanceof ArrayNode) + { + final ArrayNode extendsArrayNode = (ArrayNode) extendsJsonNode; + final Iterator elements = extendsArrayNode.elements(); + while (elements.hasNext()) + { + final JsonNode baseSchemaUriNode = elements.next(); + final String baseSchemaUriString = baseSchemaUriNode.asText(); + if (baseSchemaUriString != null && !baseSchemaUriString.isEmpty()) + { + final URI baseSchemaUri = syntaxLoader.parseSyntacticText(baseSchemaUriString, URI.class); + if (baseSchemaUri != null) + { + _ExtendsSet.add(baseSchemaUri); + } + } + } + } + else if (extendsJsonNode instanceof TextNode) + { + final String baseSchemaUriString = extendsJsonNode.asText(); + if (baseSchemaUriString != null && !baseSchemaUriString.isEmpty()) + { + final URI baseSchemaUri = syntaxLoader.parseSyntacticText(baseSchemaUriString, URI.class); + if (baseSchemaUri != null) + { + _ExtendsSet.add(baseSchemaUri); + } + } + + } + } + + // v4 uses the allOf keyword + if (rootNode.has(PropertyType.AllOf.getName())) + { + final JsonNode allOfJsonNode = rootNode.get(PropertyType.AllOf.getName()); + + // This element type MUST be an array + if (allOfJsonNode instanceof ArrayNode) + { + final ArrayNode allOfArrayNode = (ArrayNode) allOfJsonNode; + final Iterator elements = allOfArrayNode.elements(); + while (elements.hasNext()) + { + final JsonNode schemaNode = elements.next(); + final JsonNode baseSchemaUriNode = schemaNode.get(PropertyType.$Ref.getName()); + if (baseSchemaUriNode != null) + { + final URI baseSchemaUri = syntaxLoader.parseSyntacticText(baseSchemaUriNode.asText(), URI.class); + if (baseSchemaUri != null) + { + _ExtendsSet.add(baseSchemaUri); + } + } + } + } + } + } + + private void parseProperties() + { + final ObjectNode propertiesNode = (ObjectNode) Definitions.PropertyType.Properties.getValueNode(_RootNode); + + if (propertiesNode != null) + { + + final Iterator propertyNames = propertiesNode.fieldNames(); + while (propertyNames.hasNext()) + { + final String name = propertyNames.next(); + + final ObjectNode propertyNode = (ObjectNode) propertiesNode.get(name); + + Property property; + try + { + property = new Property(this, name, propertyNode); + } + catch (final IOException e) + { + continue; + } + + // Add to the required set if noted + Object value = property.getValue(PropertyType.Required); + if (value != null && (Boolean)value) + { + _Required.add(property); + } + + _Properties.put(name, property); + + } + } + } + + private void parseLinks() + { + final ArrayNode linksNode = Definitions.PropertyType.Links.getValueNode(_RootNode); + + if (linksNode != null) + { + + for (final JsonNode linkNode : linksNode) + { + final Link link = new Link(this, (ObjectNode) linkNode); + _Links.add(link); + } + + } + } + + private void parseRequireds() + { + final JsonNode requiredPreNode = Definitions.PropertyType.Required.getValueNode(_RootNode); + + if (requiredPreNode != null && requiredPreNode instanceof ArrayNode) + { + final ArrayNode requiredNode = (ArrayNode)requiredPreNode; + for (final JsonNode requiredSubNode : requiredNode) + { + final String propertyName = requiredSubNode.asText(); + final Property property = _Properties.get(propertyName); + _Required.add(property); + if (property != null) + { + ObjectNode node = property.getPropertyNode(); + node.put(PropertyType.Required.getName(), true); + } + } + } + } + + private void parseDependencies() + { + final ObjectNode dependenciesNode = Definitions.PropertyType.Dependencies.getValueNode(_RootNode); + + if (dependenciesNode != null) + { + Iterator> iter2 = dependenciesNode.fields(); + + while (iter2.hasNext()) + { + Entry current = iter2.next(); + String dependent = current.getKey(); + JsonNode dependencies = current.getValue(); + + List propertyDependencies = new ArrayList(); + + if (dependencies instanceof ArrayNode) + { + ArrayNode dependenciesArray = (ArrayNode)dependencies; + Iterator iter3 = dependenciesArray.iterator(); + + while (iter3.hasNext()) + { + JsonNode dependency = iter3.next(); + String depText = dependency.asText(); + Property prop = _Properties.get(depText); + if(prop != null) + { + propertyDependencies.add(prop); + } + } + } + + // Only add if our list has values that map. + if (!propertyDependencies.isEmpty()) + { + _Dependencies.put(dependent, propertyDependencies); + } + } + } + } + + public static UniqueName createJsonSchemaUniqueName(final URI schemaUri) + { + + String uniqueNameString = schemaUri.getPath(); + uniqueNameString = StringUtils.stripStart(uniqueNameString, "/"); + uniqueNameString = StringUtils.stripEnd(uniqueNameString, "#"); + if (uniqueNameString.endsWith(".json")) + { + uniqueNameString = uniqueNameString.substring(0, uniqueNameString.length() - ".json".length()); + } + + if (!uniqueNameString.contains("/")) + { + uniqueNameString = "schemas/" + uniqueNameString; + } + + final UniqueName literalUniqueName = new UniqueName(uniqueNameString); + return literalUniqueName; + } + + public String getDescription() + { + + final SyntaxLoader syntaxLoader = _JsonSchemaLoader.getContext().getSyntaxLoader(); + return Definitions.PropertyType.Description.getValue(getRootNode(), syntaxLoader); + } + + public Set getExtendedSchemaUris() + { + + return _ExtendsSet; + } + + public URI getId() + { + + final SyntaxLoader syntaxLoader = _JsonSchemaLoader.getContext().getSyntaxLoader(); + return Definitions.PropertyType.Id.getValue(_RootNode, syntaxLoader); + } + + public List getLinks() + { + + return _Links; + } + + public List getRequired() + { + return _Required; + } + + public Map> getDependencies() + { + return _Dependencies; + } + + public JsonSchemaLoader getLoader() + { + + return _JsonSchemaLoader; + } + + public ConcurrentMap getProperties() + { + + return _Properties; + } + + public ObjectNode getRootNode() + { + + return _RootNode; + } + + public URI getSchemaUri() + { + + return _SchemaUri; + } + + public JsonNode getTypeNode() + { + + return Definitions.PropertyType.Type.getValueNode(getRootNode()); + } + + @Override + public String toString() + { + + return String.valueOf(getRootNode()); + } + + /* + * date-time This SHOULD be a date in ISO 8601 format of YYYY-MM- + * DDThh:mm:ssZ in UTC time. This is the recommended form of date/ + * timestamp. + * + * date This SHOULD be a date in the format of YYYY-MM-DD. It is + * recommended that you use the "date-time" format instead of "date" + * unless you need to transfer only the date part. + * + * time This SHOULD be a time in the format of hh:mm:ss. It is + * recommended that you use the "date-time" format instead of "time" + * unless you need to transfer only the time part. + * + * utc-millisec This SHOULD be the difference, measured in + * milliseconds, between the specified time and midnight, 00:00 of + * January 1, 1970 UTC. The value SHOULD be a number (integer or + * float). + * + * regex A regular expression, following the regular expression + * specification from ECMA 262/Perl 5. + * + * color This is a CSS color (like "#FF0000" or "red"), based on CSS + * 2.1 [W3C.CR-CSS21-20070719]. + * + * style This is a CSS style definition (like "color: red; background- + * color:#FFF"), based on CSS 2.1 [W3C.CR-CSS21-20070719]. + * + * phone This SHOULD be a phone number (format MAY follow E.123). + * + * uri This value SHOULD be a URI.. + * + * email This SHOULD be an email address. + * + * ip-address This SHOULD be an ip version 4 address. + * + * ipv6 This SHOULD be an ip version 6 address. + * + * host-name This SHOULD be a host-name. + */ + public enum JsonStringFormat + { + DateTime("date-time", Date.class), + Date("date", Date.class), + Time("time", Date.class), + Uri("uri", URI.class); + + private final static Map KEYWORD_MAP = new HashMap<>(); + + private final static Map, JsonStringFormat> JAVA_TYPE_MAP = new HashMap<>(); + + static + { + for (final JsonStringFormat jsonStringFormat : JsonStringFormat.values()) + { + KEYWORD_MAP.put(jsonStringFormat.getKeyword(), jsonStringFormat); + JAVA_TYPE_MAP.put(jsonStringFormat.getJavaType(), jsonStringFormat); + } + } + + private final String _Keyword; + + private final Class _JavaType; + + JsonStringFormat(final String keyword, final Class javaType) + { + + _Keyword = keyword; + _JavaType = javaType; + } + + public static JsonStringFormat forJavaType(final Class javaType) + { + + if (!JAVA_TYPE_MAP.containsKey(javaType)) + { + return null; + } + return JAVA_TYPE_MAP.get(javaType); + } + + public static JsonStringFormat forKeyword(final String keyword) + { + + if (!KEYWORD_MAP.containsKey(keyword)) + { + return null; + } + return KEYWORD_MAP.get(keyword); + } + + public Class getJavaType() + { + + return _JavaType; + } + + public String getKeyword() + { + + return _Keyword; + } + + } + + public static interface Definitions + { + + /** + * http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1 + */ + public static enum JsonType + { + + /** + * Value MAY be of any type including null. + */ + Any("any"), + + /** + * Value MUST be an array. + */ + Array("array"), + + /** + * Value MUST be a boolean. + */ + Boolean("boolean"), + + /** + * Value MUST be an integer, no floating point numbers are allowed. This is a subset of the number type. + */ + Integer("integer"), + + /** + * Value MUST be null. Note this is mainly for purpose of being able use union types to define + * nullability. If this type is not included in a union, null values are not allowed (the primitives + * listed above do not allow nulls on their own). + */ + Null("null"), + + /** + * Value MUST be a number, floating point numbers are allowed. + */ + Number("number"), + + /** + * Value MUST be an object. + */ + Object("object"), + + /** + * Value MUST be a string. + */ + String("string"); + + private final static Map KEYWORD_MAP = new HashMap<>(); + + static + { + for (final JsonType jsonType : JsonType.values()) + { + KEYWORD_MAP.put(jsonType.getKeyword(), jsonType); + } + } + + private final String _Keyword; + + JsonType(final String keyword) + { + + _Keyword = keyword; + } + + public static JsonType forKeyword(final String keyword) + { + + if (!KEYWORD_MAP.containsKey(keyword)) + { + return null; + } + return KEYWORD_MAP.get(keyword); + } + + public String getKeyword() + { + + return _Keyword; + } + + } + + /** + * http://tools.ietf.org/html/draft-zyp-json-schema-03 + */ + public static enum PropertyType + { + + AdditionalItems("additionalItems", JsonType.Any), + AdditionalProperties("additionalProperties", JsonType.Any), + AllOf("allOf", JsonType.Object), + AnyOf("anyOf", JsonType.Object), + Default("default", JsonType.Any), + Definitions("definitions", JsonType.Object), + Dependencies("dependencies", JsonType.Object), + Description("description", JsonType.String), + Disallow("disallow", JsonType.Any), + DivisibleBy("divisibleBy", JsonType.Number), + Enctype("enctype", JsonType.String), + Enum("enum", JsonType.Array), + ExclusiveMaximum("exclusiveMaximum", JsonType.Boolean), + ExclusiveMinimum("exclusiveMinimum", JsonType.Boolean), + Extends("extends", JsonType.Any), + Format("format", JsonType.String), + Href("href", URI.class), + Id("id", URI.class), + Items("items", JsonType.Any), + Links("links", JsonType.Array), + Maximum("maximum", JsonType.Number), + MaxItems("maxItems", JsonType.Integer), + MaxLength("maxLength", JsonType.Integer), + MaxProperties("maxProperties", JsonType.Integer), + Method("method", JsonType.String), + Minimum("minimum", JsonType.Number), + MinItems("minItems", JsonType.Integer), + MinLength("minLength", JsonType.Integer), + MinProperties("minProperties", JsonType.Integer), + MultipleOf("multipleOf", JsonType.Number), + Pattern("pattern", JsonType.String), + PatternProperties("patternProperties", JsonType.Object), + Properties("properties", JsonType.Object), + $Ref("$ref", URI.class), + Rel("rel", JsonType.String), + // TODO This field is now deprecated in the properties + Required("required", JsonType.Boolean), + $Schema("$schema", URI.class), + Schema("schema", JsonType.Object), + TargetSchema("targetSchema", JsonType.Object), + Title("title", JsonType.String), + Type("type", JsonType.Any), + UniqueItems("uniqueItems", JsonType.Boolean); + + private final static Map NAME_MAP = new HashMap<>(); + + static + { + for (final PropertyType propertyType : PropertyType.values()) + { + final String name = propertyType.getName(); + if (NAME_MAP.containsKey(name)) + { + throw new RuntimeException("Duplicate mappings detected."); + } + + NAME_MAP.put(name, propertyType); + } + } + + private final String _Name; + + private final JsonType _JsonType; + + private final Object _DefaultValue; + + private final Class _Format; + + private PropertyType(final String textPropertyName, final Class format) + { + + this(textPropertyName, JsonType.String, format, null); + } + + private PropertyType(final String propertyName, final JsonType jsonType) + { + + this(propertyName, jsonType, null, null); + } + + private PropertyType(final String propertyName, final JsonType jsonType, final Class format, + final Object defaultValue) + { + + _Name = propertyName; + _JsonType = jsonType; + _Format = format; + _DefaultValue = defaultValue; + } + + private PropertyType(final String propertyName, final JsonType jsonType, final Object defaultValue) + { + + this(propertyName, jsonType, null, defaultValue); + } + + public static PropertyType forName(final String name) + { + + if (!NAME_MAP.containsKey(name)) + { + return null; + } + return NAME_MAP.get(name); + } + + public Object getDefaultValue() + { + + return _DefaultValue; + } + + public Class getFormat() + { + + return _Format; + } + + public JsonType getJsonType() + { + + return _JsonType; + } + + public String getName() + { + + return _Name; + } + + @SuppressWarnings("unchecked") + public T getValue(final JsonNode jsonNode, final SyntaxLoader syntaxLoader) + { + + final JsonNode valueNode = getValueNode(jsonNode); + if (valueNode == null) + { + return null; + } + + final T value; + + switch (_JsonType) + { + + case Any: + { + + value = (T) valueNode.asText(); + break; + } + case Array: + { + value = null; + break; + } + case Boolean: + { + + if (valueNode.isBoolean()) + { + value = (T) ((valueNode.asBoolean()) ? Boolean.TRUE : Boolean.FALSE); + } + else + { + value = null; + } + + break; + } + case Integer: + { + + if (valueNode.isIntegralNumber()) + { + value = (T) new Integer(valueNode.asInt()); + } + else + { + value = null; + } + + break; + } + case Null: + { + value = null; + break; + } + case Number: + { + if (valueNode.isFloatingPointNumber()) + { + value = (T) new Double(valueNode.asDouble()); + } + else if (valueNode.isIntegralNumber()) + { + value = (T) new Integer(valueNode.asInt()); + } + else + { + value = null; + } + + break; + } + case Object: + { + value = (T) valueNode; + break; + } + case String: + { + + if (valueNode.isTextual()) + { + final String textValue = valueNode.textValue(); + + if (_Format != null && textValue != null && !(textValue.trim()).isEmpty()) + { + value = syntaxLoader.parseSyntacticText(textValue, _Format); + } + else + { + value = (T) textValue; + } + } + else + { + value = null; + } + + break; + } + default: + { + value = null; + break; + } + } + + return value; + } + + @SuppressWarnings("unchecked") + public T getValueNode(final JsonNode jsonNode) + { + + return (T) jsonNode.get(_Name); + } + + public void setValue(final ObjectNode jsonNode, final Object value, final SyntaxLoader syntaxLoader) + { + + if (value == null) + { + return; + } + + final String name = getName(); + switch (_JsonType) + { + case Any: + { + if (value instanceof String) + { + jsonNode.put(name, (String) value); + } + else if (value instanceof Integer) + { + jsonNode.put(name, (Integer) value); + } + else if (value instanceof Long) + { + jsonNode.put(name, (Long) value); + } + else if (value instanceof Double) + { + jsonNode.put(name, (Double) value); + } + else if (value instanceof Boolean) + { + jsonNode.put(name, (Boolean) value); + } + else + { + final String formattedValue = syntaxLoader.formatSyntaxValue(value); + if (formattedValue != null) + { + jsonNode.put(name, formattedValue); + } + } + break; + } + case Array: + { + break; + } + case Boolean: + { + jsonNode.put(name, (Boolean) value); + break; + } + case Integer: + { + jsonNode.put(name, (Integer) value); + break; + } + case Null: + { + break; + } + case Number: + { + if (value instanceof Integer) + { + jsonNode.put(name, (Integer) value); + } + else if (value instanceof Long) + { + jsonNode.put(name, (Long) value); + } + else if (value instanceof Double) + { + jsonNode.put(name, (Double) value); + } + + break; + } + case Object: + { + jsonNode.putObject(name); + break; + + } + case String: + { + jsonNode.put(name, syntaxLoader.formatSyntaxValue(value)); + break; + } + default: + { + break; + } + + } + + } + } + + } + + public static final class Link + { + + private final JsonSchema _JsonSchema; + + private final ObjectNode _LinkNode; + + private final String _Rel; + + private final URI _RelId; + + private final URI _SchemaId; + + private final URI _TargetSchemaId; + + public Link(final JsonSchema jsonSchema, final ObjectNode linkNode) + { + + if (jsonSchema == null || linkNode == null) + { + throw new NullPointerException(); + } + _JsonSchema = jsonSchema; + _LinkNode = linkNode; + + + final SyntaxLoader syntaxLoader = getJsonSchema().getLoader().getContext().getSyntaxLoader(); + _Rel = PropertyType.Rel.getValue(getLinkNode(), syntaxLoader); + + URI linkRelationUri = null; + try + { + linkRelationUri = new URI(_Rel); + } + catch (final URISyntaxException e) + { + + } + + _RelId = linkRelationUri; + + // isolate() + { + final ObjectNode targetSchemaNode = PropertyType.TargetSchema.getValueNode(getLinkNode()); + if (targetSchemaNode == null) + { + _TargetSchemaId = null; + } + else + { + _TargetSchemaId = PropertyType.$Ref.getValue(targetSchemaNode, syntaxLoader); + } + } + + // isolate() + { + + final ObjectNode schemaNode = PropertyType.Schema.getValueNode(getLinkNode()); + if (schemaNode == null) + { + _SchemaId = null; + } + else + { + _SchemaId = PropertyType.$Ref.getValue(schemaNode, syntaxLoader); + } + } + + } + + public JsonSchema getJsonSchema() + { + + return _JsonSchema; + } + + public ObjectNode getLinkNode() + { + + return _LinkNode; + } + + public String getRel() + { + + return _Rel; + } + + public URI getRelId() + { + + return _RelId; + } + + public URI getSchemaId() + { + + return _SchemaId; + } + + public URI getTargetSchemaId() + { + + return _TargetSchemaId; + } + + } + + public static final class Property + { + + private final JsonSchema _JsonSchema; + + private final String _Name; + + private final ObjectNode _PropertyNode; + + private final JsonType _JsonType; + + public Property(final JsonSchema jsonSchema, final String name, final ObjectNode propertyNode) + throws IOException + { + + if (jsonSchema == null || name == null || propertyNode == null) + { + throw new NullPointerException(); + } + + _JsonSchema = jsonSchema; + _Name = name; + + final boolean isReference = isReference(propertyNode); + if (isReference) + { + final JsonSchema referencedJsonSchema = resolveReference(propertyNode); + _PropertyNode = referencedJsonSchema.getRootNode(); + } + else + { + _PropertyNode = propertyNode; + } + + final JsonNode typeNode = PropertyType.Type.getValueNode(_PropertyNode); + + if (typeNode != null) + { + if (typeNode.isTextual()) + { + final String typeName = typeNode.textValue(); + _JsonType = Definitions.JsonType.forKeyword(typeName); + } + else if (typeNode instanceof ArrayNode) + { + _JsonType = JsonType.String; + } + else + { + _JsonType = null; + } + } + else + { + _JsonType = null; + } + + } + + public JsonSchema getJsonSchema() + { + + return _JsonSchema; + } + + public JsonType getJsonType() + { + + return _JsonType; + } + + public String getName() + { + + return _Name; + } + + public ObjectNode getPropertyNode() + { + + return _PropertyNode; + } + + void setRequired(final Boolean required) + { + + } + + public PropertyType getPropertyType() + { + + return PropertyType.forName(getName()); + } + + public T getValue(final PropertyType propertyType) + { + + final SyntaxLoader syntaxLoader = getJsonSchema().getLoader().getContext().getSyntaxLoader(); + return propertyType.getValue(getPropertyNode(), syntaxLoader); + } + + public JsonNode getValueNode(final PropertyType propertyType) + { + + return propertyType.getValueNode(getPropertyNode()); + } + + private boolean isReference(final JsonNode node) + { + + final JsonNode refNode = PropertyType.$Ref.getValueNode(node); + if (refNode == null) + { + return false; + } + final JsonSchemaLoader jsonSchemaLoader = getJsonSchema().getLoader(); + final SyntaxLoader syntaxLoader = jsonSchemaLoader.getContext().getSyntaxLoader(); + final URI refUri = PropertyType.$Ref.getValue(node, syntaxLoader); + return (refUri != null); + + } + + private JsonSchema resolveReference(final JsonNode node) throws IOException + { + + final JsonNode refNode = PropertyType.$Ref.getValueNode(node); + if (refNode == null) + { + return null; + } + + final JsonSchema jsonSchema = getJsonSchema(); + final JsonSchemaLoader jsonSchemaLoader = jsonSchema.getLoader(); + final SyntaxLoader syntaxLoader = jsonSchemaLoader.getContext().getSyntaxLoader(); + final URI refUri = PropertyType.$Ref.getValue(node, syntaxLoader); + if (refUri == null) + { + return null; + } + + final URI resolvedUri; + if (refUri.isAbsolute()) + { + resolvedUri = refUri; + } + else + { + resolvedUri = jsonSchema.getId().resolve(refUri); + } + + final JsonSchema referencedSchema = jsonSchemaLoader.load(resolvedUri); + + return referencedSchema; + } + + } + +} diff --git a/core/src/main/java/org/wrml/runtime/format/application/schema/json/JsonSchemaFormatter.java b/core/src/main/java/org/wrml/runtime/format/application/schema/json/JsonSchemaFormatter.java new file mode 100644 index 0000000..efe3f78 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/application/schema/json/JsonSchemaFormatter.java @@ -0,0 +1,137 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format.application.schema.json; + +import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectWriter; +import org.wrml.model.Model; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.format.AbstractFormatter; +import org.wrml.runtime.format.ModelReadingException; +import org.wrml.runtime.format.ModelWriteOptions; +import org.wrml.runtime.format.ModelWritingException; +import org.wrml.runtime.schema.Prototype; +import org.wrml.runtime.schema.SchemaLoader; + +import java.io.InputStream; +import java.io.InvalidObjectException; +import java.io.OutputStream; +import java.net.URI; + +public class JsonSchemaFormatter extends AbstractFormatter +{ + + + public JsonSchemaFormatter() + { + + } + + @Override + public boolean isApplicableTo(final URI schemaUri) + { + + if (schemaUri == null) + { + return false; + } + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final Prototype schemaPrototype = schemaLoader.getPrototype(schemaLoader.getSchemaSchemaUri()); + return (schemaPrototype.isAssignableFrom(schemaUri)); + } + + @SuppressWarnings("unchecked") + @Override + public M readModel(final InputStream in, final Keys rootModelKeys, final Dimensions rootModelDimensions) throws ModelReadingException, UnsupportedOperationException + { + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + + final URI uri = rootModelKeys.getValue(schemaLoader.getDocumentSchemaUri()); + final URI schemaUri = rootModelDimensions.getSchemaUri(); + + if (!isApplicableTo(schemaUri)) + { + throw new UnsupportedOperationException(getClass().getSimpleName() + " can be used to read and write schemas only (" + schemaLoader.getSchemaSchemaUri() + ")"); + } + + final JsonSchemaLoader jsonSchemaLoader = schemaLoader.getJsonSchemaLoader(); + JsonSchema jsonSchema; + Schema wrmlSchema = null; + try + { + jsonSchema = jsonSchemaLoader.load(in, uri); + wrmlSchema = schemaLoader.load(jsonSchema, schemaLoader.getDocumentSchemaUri()); + if (wrmlSchema == null) + { + throw new InvalidObjectException("Unable to deserialize InputStream to Model"); + } + } + catch (Exception e) + { + throw new ModelReadingException(getClass().getSimpleName() + + " encounter an error while attempting to read a JSON Schema (" + uri + "). Message: " + + e.getMessage(), null, this); + } + + return (M) wrmlSchema; + } + + @Override + public void writeModel(final OutputStream out, final Model model, final ModelWriteOptions writeOptions) throws ModelWritingException, UnsupportedOperationException + { + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + + if (!(model instanceof Schema)) + { + throw new UnsupportedOperationException(getClass().getSimpleName() + " can be used to read and write schemas only (" + schemaLoader.getSchemaSchemaUri() + ")"); + } + + final Schema wrmlSchema = (Schema) model; + final ObjectWriter objectWriter = new ObjectMapper().writer(new DefaultPrettyPrinter()); + final JsonSchema jsonSchema = schemaLoader.getJsonSchemaLoader().load(wrmlSchema); + + try + { + objectWriter.writeValue(out, jsonSchema.getRootNode()); + } + catch (final Exception e) + { + throw new ModelWritingException(getClass().getSimpleName() + + " encounter an error while attempting to write a JSON Schema (" + model + "). Message: " + + e.getMessage(), null, this); + + } + + } +} diff --git a/core/src/main/java/org/wrml/runtime/format/application/schema/json/JsonSchemaLoader.java b/core/src/main/java/org/wrml/runtime/format/application/schema/json/JsonSchemaLoader.java new file mode 100644 index 0000000..85d47a1 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/application/schema/json/JsonSchemaLoader.java @@ -0,0 +1,460 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format.application.schema.json; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.JsonNodeFactory; +import com.fasterxml.jackson.databind.node.ObjectNode; +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; +import org.wrml.model.MaybeRequired; +import org.wrml.model.rest.LinkRelation; +import org.wrml.model.schema.*; +import org.wrml.runtime.*; +import org.wrml.runtime.format.application.schema.json.JsonSchema.Definitions.JsonType; +import org.wrml.runtime.format.application.schema.json.JsonSchema.Definitions.PropertyType; +import org.wrml.runtime.format.application.schema.json.JsonSchema.JsonStringFormat; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.runtime.syntax.SyntaxLoader; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.net.URI; +import java.net.URL; +import java.util.Collection; +import java.util.List; +import java.util.SortedSet; +import java.util.TreeSet; +import java.util.concurrent.ConcurrentHashMap; + +public class JsonSchemaLoader implements Loader +{ + + private Context _Context; + + private final ConcurrentHashMap _JsonSchemas; + + public JsonSchemaLoader() + { + _JsonSchemas = new ConcurrentHashMap(); + } + + public static void main(final String[] args) throws Exception + { + + final String wrmlConfigFilePath = args[0]; + final EngineConfiguration config = EngineConfiguration.load(wrmlConfigFilePath); + final Engine engine = new DefaultEngine(); + engine.init(config); + + final String urlString = args[1]; + final URL jsonSchemaId = new URL(urlString); + + final SchemaLoader schemaLoader = engine.getContext().getSchemaLoader(); + + final JsonSchemaLoader jsonSchemaLoader = schemaLoader.getJsonSchemaLoader(); + final JsonSchema downloadedJsonSchema = jsonSchemaLoader.load(jsonSchemaId); + System.out.println("Downloaded JSON schema:\n" + downloadedJsonSchema); + + final Schema schema = schemaLoader.load(downloadedJsonSchema, schemaLoader.getDocumentSchemaUri()); + System.out.println("Generated WRML schema:\n" + schema); + + final Schema docSchema = schemaLoader.load(schemaLoader.getDocumentSchemaUri()); + final JsonSchema docJsonSchema = jsonSchemaLoader.load(docSchema); + System.out.println("Generated WRML's Document schema as a JSON schema:\n" + docJsonSchema); + + } + + public JsonSchema getLoadedJsonSchema(final URI schemaUri) + { + + if (_JsonSchemas.containsKey(schemaUri)) + { + return _JsonSchemas.get(schemaUri); + } + return null; + } + + public SortedSet getLoadedJsonSchemaUris() + { + + return new TreeSet(_JsonSchemas.keySet()); + } + + + public JsonSchema load(final File file) throws IOException + { + + if (file == null) + { + throw new FileNotFoundException("The JSON schema file is null."); + } + + if (!file.exists()) + { + throw new FileNotFoundException("The JSON schema file named \"" + file.getAbsolutePath() + + "\" does not exist."); + } + + final InputStream in = FileUtils.openInputStream(file); + final JsonSchema jsonSchema = load(in, null); + IOUtils.closeQuietly(in); + return jsonSchema; + } + + public JsonSchema load(final InputStream in, final URI jsonSchemaId) throws IOException + { + + final ObjectNode rootNode = new ObjectMapper().readValue(in, ObjectNode.class); + return load(rootNode, jsonSchemaId); + } + + public JsonSchema load(final ObjectNode rootNode, final URI jsonSchemaId) + { + + final URI jsonSchemaIdPropertyValue = PropertyType.Id.getValue(rootNode, getSyntaxLoader()); + final URI id = (jsonSchemaIdPropertyValue != null) ? jsonSchemaIdPropertyValue : jsonSchemaId; + + if (id == null) + { + throw new JsonSchemaLoaderException("The JSON Schema \"id\" slot value (URI) could not be determined.", + null, this); + + } + + PropertyType.Id.setValue(rootNode, id, getSyntaxLoader()); + + final JsonSchema jsonSchema = new JsonSchema(this, rootNode); + + _JsonSchemas.put(id, jsonSchema); + + return jsonSchema; + + } + + public JsonSchema load(final Schema wrmlSchema) + { + + if (wrmlSchema == null) + { + return null; + } + + final URI schemaUri = wrmlSchema.getUri(); + if (_JsonSchemas.containsKey(schemaUri)) + { + return _JsonSchemas.get(schemaUri); + } + + final String schemaTitle = wrmlSchema.getTitle(); + final String schemaDescription = wrmlSchema.getDescription(); + + final ObjectNode schemaNode = JsonNodeFactory.instance.objectNode(); + + PropertyType.Id.setValue(schemaNode, schemaUri, getSyntaxLoader()); + PropertyType.Title.setValue(schemaNode, schemaTitle, getSyntaxLoader()); + PropertyType.Description.setValue(schemaNode, schemaDescription, getSyntaxLoader()); + PropertyType.Type.setValue(schemaNode, JsonType.Object.getKeyword(), getSyntaxLoader()); + + initStringArrayNode(schemaNode, PropertyType.Extends.getName(), wrmlSchema.getBaseSchemaUris()); + + initStringArrayNode(schemaNode, Schema.SLOT_NAME_KEY_SLOT_NAMES, wrmlSchema.getKeySlotNames()); + + // TODO + // wrmlSchema.getVersion(); + + final ObjectNode propertiesNode = schemaNode.putObject(PropertyType.Properties.getName()); + final List slots = wrmlSchema.getSlots(); + for (final Slot slot : slots) + { + + final Value value = slot.getValue(); + if (value instanceof LinkValue) + { + initLinkSlotNode(schemaNode, slot); + } + else + { + final String slotName = slot.getName(); + final ObjectNode slotNode = propertiesNode.putObject(slotName); + + initPropertySlotNode(slotNode, slot); + } + + } + + return load(schemaNode, schemaUri); + } + + private void initStringArrayNode(final ObjectNode node, final String arrayNodeName, Collection arrayNodeElements) + { + + if (arrayNodeElements == null || arrayNodeElements.isEmpty() || arrayNodeName == null) + { + return; + } + + final ArrayNode arrayNode = node.putArray(arrayNodeName); + + final SyntaxLoader syntaxLoader = getSyntaxLoader(); + for (Object element : arrayNodeElements) + { + final String stringValue = syntaxLoader.formatSyntaxValue(element); + arrayNode.add(stringValue); + } + + } + + public JsonSchema load(final URI jsonSchemaUri) throws IOException + { + + if (_JsonSchemas.containsKey(jsonSchemaUri)) + { + return _JsonSchemas.get(jsonSchemaUri); + } + + final ObjectNode rootNode = new ObjectMapper().readValue(jsonSchemaUri.toURL(), ObjectNode.class); + return load(rootNode, jsonSchemaUri); + } + + public JsonSchema load(final URL jsonSchemaUrl) throws IOException + { + + final URI jsonSchemaUri = URI.create(jsonSchemaUrl.toString()); + if (_JsonSchemas.containsKey(jsonSchemaUri)) + { + return _JsonSchemas.get(jsonSchemaUri); + } + + final ObjectNode rootNode = new ObjectMapper().readValue(jsonSchemaUrl, ObjectNode.class); + return load(rootNode, jsonSchemaUri); + } + + private JsonType getJsonType(final Value value) + { + + final JsonType jsonType; + + if (value instanceof TextValue) + { + jsonType = JsonType.String; + } + else if (value instanceof ListValue) + { + jsonType = JsonType.Array; + } + else if (value instanceof ModelValue) + { + jsonType = JsonType.Object; + } + else if (value instanceof IntegerValue) + { + jsonType = JsonType.Integer; + } + else if (value instanceof BooleanValue) + { + jsonType = JsonType.Boolean; + } + else if (value instanceof DoubleValue || value instanceof LongValue) + { + jsonType = JsonType.Number; + } + else if (value instanceof DateValue || value instanceof SingleSelectValue) + { + jsonType = JsonType.String; + } + else if (value instanceof LinkValue) + { + jsonType = null; + } + else + { + jsonType = JsonType.Any; + } + + return jsonType; + } + + private void initLinkSlotNode(final ObjectNode schemaNode, final Slot slot) + { + + ArrayNode linksArrayNode = PropertyType.Links.getValueNode(schemaNode); + if (linksArrayNode == null) + { + linksArrayNode = schemaNode.putArray(PropertyType.Links.getName()); + } + + final LinkValue linkValue = (LinkValue) slot.getValue(); + final ObjectNode linkNode = linksArrayNode.addObject(); + PropertyType.Type.setValue(linkNode, JsonType.Object.getKeyword(), getSyntaxLoader()); + + final URI linkRelationUri = linkValue.getLinkRelationUri(); + final LinkRelation linkRelation = linkValue.getContext().getApiLoader().loadLinkRelation(linkRelationUri); + if (linkRelation != null) + { + + PropertyType.Rel.setValue(linkNode, linkRelation.getUniqueName().getLocalName(), getSyntaxLoader()); + + PropertyType.Method + .setValue(linkNode, linkRelation.getMethod().getProtocolGivenName(), getSyntaxLoader()); + } + + final URI responseSchemaUri = linkValue.getResponseSchemaUri(); + if (responseSchemaUri != null) + { + final ObjectNode targetSchemaNode = linkNode.putObject(PropertyType.TargetSchema.getName()); + PropertyType.Type.setValue(targetSchemaNode, JsonType.Object.getKeyword(), getSyntaxLoader()); + PropertyType.$Ref.setValue(targetSchemaNode, responseSchemaUri, getSyntaxLoader()); + } + + final URI requestSchemaUri = linkValue.getRequestSchemaUri(); + if (requestSchemaUri != null) + { + final ObjectNode paramSchemaNode = linkNode.putObject(PropertyType.Schema.getName()); + PropertyType.Type.setValue(paramSchemaNode, JsonType.Object.getKeyword(), getSyntaxLoader()); + PropertyType.$Ref.setValue(paramSchemaNode, requestSchemaUri, getSyntaxLoader()); + } + + } + + private void initPropertySlotNode(final ObjectNode slotNode, final Slot slot) + { + + final Value value = slot.getValue(); + + PropertyType.Title.setValue(slotNode, slot.getTitle(), getSyntaxLoader()); + PropertyType.Description.setValue(slotNode, slot.getDescription(), getSyntaxLoader()); + final JsonType valueJsonType = getJsonType(value); + + if (valueJsonType != null) + { + PropertyType.Type.setValue(slotNode, valueJsonType.getKeyword(), getSyntaxLoader()); + } + + if (value instanceof TextValue) + { + final TextValue textValue = (TextValue) value; + final URI syntaxUri = textValue.getSyntaxUri(); + if (syntaxUri != null) + { + final Context context = slot.getContext(); + final SyntaxLoader syntaxLoader = context.getSyntaxLoader(); + final Class syntaxJavaClass = syntaxLoader.getSyntaxJavaClass(syntaxUri); + if (syntaxJavaClass != null) + { + final JsonStringFormat jsonStringFormat = JsonStringFormat.forJavaType(syntaxJavaClass); + if (jsonStringFormat != null) + { + PropertyType.Format.setValue(slotNode, jsonStringFormat.getKeyword(), getSyntaxLoader()); + } + } + } + + PropertyType.MaxLength.setValue(slotNode, value.getSlotValue(TextValue.SLOT_NAME_MAXIMUM_LENGTH), + getSyntaxLoader()); + + PropertyType.MinLength.setValue(slotNode, value.getSlotValue(TextValue.SLOT_NAME_MINIMUM_LENGTH), + getSyntaxLoader()); + + } + else if (value instanceof ListValue) + { + final ListValue listValue = (ListValue) value; + final ArrayNode arrayNode = slotNode.putArray(PropertyType.Items.getName()); + final ObjectNode itemSlotNode = arrayNode.addObject(); + initPropertySlotNode(itemSlotNode, listValue.getElementSlot()); + + PropertyType.MaxItems.setValue(slotNode, value.getSlotValue(ListValue.SLOT_NAME_MAXIMUM_SIZE), + getSyntaxLoader()); + + PropertyType.MinItems.setValue(slotNode, value.getSlotValue(ListValue.SLOT_NAME_MINIMUM_SIZE), + getSyntaxLoader()); + + PropertyType.UniqueItems.setValue(slotNode, + value.getSlotValue(ListValue.SLOT_NAME_ELEMENT_UNIQUENESS_CONSTRAINED), getSyntaxLoader()); + + } + else if (value instanceof ModelValue) + { + final ModelValue modelValue = (ModelValue) value; + PropertyType.$Ref.setValue(slotNode, modelValue.getModelSchemaUri(), getSyntaxLoader()); + } + else if (value instanceof NumericValue) + { + PropertyType.Maximum.setValue(slotNode, value.getSlotValue(NumericValue.SLOT_NAME_MAXIMUM), + getSyntaxLoader()); + + PropertyType.Minimum.setValue(slotNode, value.getSlotValue(NumericValue.SLOT_NAME_MINIMUM), + getSyntaxLoader()); + + } + + if (value instanceof MaybeRequired) + { + PropertyType.Required.setValue(slotNode, value.getSlotValue(MaybeRequired.SLOT_NAME_REQUIRED), + getSyntaxLoader()); + } + + if (value.containsSlotValue(Value.SLOT_NAME_DEFAULT)) + { + PropertyType.Default.setValue(slotNode, value.getSlotValue(Value.SLOT_NAME_DEFAULT), getSyntaxLoader()); + } + + } + + private SyntaxLoader getSyntaxLoader() + { + + return getContext().getSyntaxLoader(); + } + + @Override + public void loadInitialState() + { + + } + + @Override + public Context getContext() + { + + return _Context; + } + + @Override + public void init(final Context context) + { + if (context == null) + { + throw new JsonSchemaLoaderException("The context cannot be null.", null, this); + } + + _Context = context; + + } +} diff --git a/core/src/main/java/org/wrml/runtime/format/application/schema/json/JsonSchemaLoaderException.java b/core/src/main/java/org/wrml/runtime/format/application/schema/json/JsonSchemaLoaderException.java new file mode 100644 index 0000000..0b1ac86 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/application/schema/json/JsonSchemaLoaderException.java @@ -0,0 +1,47 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format.application.schema.json; + +/** + * The {@link resources}'s associated error type. + */ +public class JsonSchemaLoaderException extends RuntimeException +{ + + private static final long serialVersionUID = 1L; + + private final JsonSchemaLoader _JsonSchemaLoader; + + JsonSchemaLoaderException(final String message, final Throwable cause, final JsonSchemaLoader jsonSchemaLoader) + { + super(message, cause); + _JsonSchemaLoader = jsonSchemaLoader; + } + + public JsonSchemaLoader getJsonSchemaLoader() + { + return _JsonSchemaLoader; + } +} diff --git a/core/src/main/java/org/wrml/runtime/format/application/schema/json/package-info.java b/core/src/main/java/org/wrml/runtime/format/application/schema/json/package-info.java new file mode 100644 index 0000000..51c334b --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/application/schema/json/package-info.java @@ -0,0 +1,30 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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. + */ +/** + * Support for the application/schema+json media type. + * @see http://tools.ietf.org/html/draft-zyp-json-schema-03 + */ +package org.wrml.runtime.format.application.schema.json; + diff --git a/core/src/main/java/org/wrml/runtime/format/application/vnd/wrml/ascii/api/ApiAsciiFormatter.java b/core/src/main/java/org/wrml/runtime/format/application/vnd/wrml/ascii/api/ApiAsciiFormatter.java new file mode 100644 index 0000000..465216e --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/application/vnd/wrml/ascii/api/ApiAsciiFormatter.java @@ -0,0 +1,109 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format.application.vnd.wrml.ascii.api; + +import org.wrml.model.Model; +import org.wrml.model.rest.Api; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.format.AbstractFormatter; +import org.wrml.runtime.format.ModelReadingException; +import org.wrml.runtime.format.ModelWriteOptions; +import org.wrml.runtime.format.ModelWritingException; +import org.wrml.runtime.rest.ApiBuilder; +import org.wrml.runtime.rest.ApiNavigator; +import org.wrml.runtime.schema.Prototype; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.util.AsciiArt; + +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URI; +import java.nio.charset.Charset; + +/** + * Ascii art format for WRML REST APIs. + */ +public class ApiAsciiFormatter extends AbstractFormatter +{ + + public ApiAsciiFormatter() + { + + } + + @Override + public boolean isApplicableTo(final URI schemaUri) + { + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final Prototype apiPrototype = schemaLoader.getPrototype(schemaLoader.getApiSchemaUri()); + return (apiPrototype.isAssignableFrom(schemaUri)); + } + + @Override + public M readModel(final InputStream in, final Keys rootModelKeys, final Dimensions rootModelDimensions) throws ModelReadingException + { + + throw new UnsupportedOperationException("The \"readModel\" operation is not supported by the \"" + getFormatUri() + "\" format."); + } + + @Override + public void writeModel(final OutputStream out, final Model model, final ModelWriteOptions writeOptions) throws ModelWritingException + { + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + + if (!(model instanceof Api)) + { + throw new ModelWritingException("The \"" + getFormatUri() + "\" format supports " + + schemaLoader.getApiSchemaUri() + ", it cannot write the model.", null, this); + } + + final Api api = (Api) model; + final ApiBuilder apiBuilder = new ApiBuilder(api); + final ApiNavigator apiNavigator = apiBuilder.navigate(); + + final String asciiArtText = AsciiArt.express(apiNavigator); + + try + { + out.write(asciiArtText.getBytes(Charset.forName("UTF-8"))); + } + catch (final Exception e) + { + throw new ModelWritingException(getClass().getSimpleName() + + " encounter an error while attempting to write an API (" + model + "). Message: " + + e.getMessage(), null, this); + + } + + } + +} diff --git a/core/src/main/java/org/wrml/runtime/format/application/vnd/wrml/design/schema/SchemaDesignFormatter.java b/core/src/main/java/org/wrml/runtime/format/application/vnd/wrml/design/schema/SchemaDesignFormatter.java new file mode 100644 index 0000000..9e46e9a --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/application/vnd/wrml/design/schema/SchemaDesignFormatter.java @@ -0,0 +1,432 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format.application.vnd.wrml.design.schema; + +import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectWriter; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.ObjectNode; +import org.wrml.model.Model; +import org.wrml.model.Named; +import org.wrml.model.Titled; +import org.wrml.model.rest.Document; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.format.AbstractFormatter; +import org.wrml.runtime.format.ModelReadingException; +import org.wrml.runtime.format.ModelWriteOptions; +import org.wrml.runtime.format.ModelWritingException; +import org.wrml.runtime.rest.SystemLinkRelation; +import org.wrml.runtime.schema.*; +import org.wrml.runtime.syntax.SyntaxLoader; + +import java.io.InputStream; +import java.io.OutputStream; +import java.lang.reflect.Type; +import java.net.URI; +import java.util.Collection; +import java.util.Set; +import java.util.SortedSet; + +/** + * Format for WRML schemas for use in design tools/apps. + */ +public class SchemaDesignFormatter extends AbstractFormatter +{ + + + public SchemaDesignFormatter() + { + + } + + + @Override + public boolean isApplicableTo(final URI schemaUri) + { + + final SchemaLoader schemaLoader = getContext().getSchemaLoader(); + return (schemaLoader.getSchemaSchemaUri().equals(schemaUri)); + } + + @Override + public M readModel(final InputStream in, final Keys rootModelKeys, final Dimensions rootModelDimensions) throws ModelReadingException + { + + throw new UnsupportedOperationException("The \"readModel\" operation is not supported by the \"" + getFormatUri() + "\" format."); + } + + @Override + public void writeModel(final OutputStream out, final Model model, final ModelWriteOptions writeOptions) throws ModelWritingException + { + + if (!(model instanceof Schema)) + { + throw new ModelWritingException("The \"" + getFormatUri() + "\" format cannot write the model.", null, this); + } + + final Schema schema = (Schema) model; + final ObjectNode rootNode; + final ObjectWriter objectWriter; + + try + { + + // TODO: Should this ObjectMapper be stored in a field? + final ObjectMapper objectMapper = new ObjectMapper(); + rootNode = createSchemaDesignObjectNode(objectMapper, schema); + objectWriter = objectMapper.writer(new DefaultPrettyPrinter()); + objectWriter.writeValue(out, rootNode); + } + catch (final Exception e) + { + throw new ModelWritingException(getClass().getSimpleName() + + " encounter an error while attempting to write a SchemaDesign. Message: " + e.getMessage(), null, this); + + } + + } + + private ObjectNode createSchemaDesignObjectNode(final ObjectMapper objectMapper, final Schema schema) + { + + final Context context = schema.getContext(); + final SyntaxLoader syntaxLoader = context.getSyntaxLoader(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final ObjectNode rootNode = objectMapper.createObjectNode(); + + final URI schemaUri = schema.getUri(); + + rootNode.put(PropertyName.uri.name(), syntaxLoader.formatSyntaxValue(schemaUri)); + rootNode.put(PropertyName.title.name(), schema.getTitle()); + rootNode.put(PropertyName.description.name(), schema.getDescription()); + + final String guessedTitleSlot = guessTitleSlot(schemaUri, schemaLoader); + if (guessedTitleSlot != null) + { + rootNode.put(PropertyName.titleSlotName.name(), guessedTitleSlot); + } + + final Prototype prototype = schemaLoader.getPrototype(schemaUri); + final ArrayNode allKeySlotNamesNode = objectMapper.createArrayNode(); + rootNode.put(PropertyName.allKeySlotNames.name(), allKeySlotNamesNode); + final Set allKeySlotNames = prototype.getAllKeySlotNames(); + + final ObjectNode keySlotMap = objectMapper.createObjectNode(); + rootNode.put(PropertyName.keys.name(), keySlotMap); + + final String uriSlotName = PropertyName.uri.name(); + if (allKeySlotNames.contains(uriSlotName)) + { + allKeySlotNamesNode.add(uriSlotName); + + final ObjectNode slot = createSlot(objectMapper, prototype, uriSlotName); + keySlotMap.put(uriSlotName, slot); + } + + + for (final String keySlotName : allKeySlotNames) + { + if (!Document.SLOT_NAME_URI.equals(keySlotName)) + { + allKeySlotNamesNode.add(keySlotName); + + final ObjectNode slot = createSlot(objectMapper, prototype, keySlotName); + keySlotMap.put(keySlotName, slot); + } + } + + + final ObjectNode slotMapNode = objectMapper.createObjectNode(); + rootNode.put(PropertyName.slots.name(), slotMapNode); + + final SortedSet allSlotNames = prototype.getAllSlotNames(); + for (final String slotName : allSlotNames) + { + final ObjectNode slotNode = createSlot(objectMapper, prototype, slotName); + + if (slotNode != null) + { + slotMapNode.put(slotName, slotNode); + } + } + + final ObjectNode linksMapNode = objectMapper.createObjectNode(); + rootNode.put(PropertyName.links.name(), linksMapNode); + final Collection linkProtoSlots = prototype.getLinkProtoSlots().values(); + for (final LinkProtoSlot linkProtoSlot : linkProtoSlots) + { + + final ObjectNode linkNode = objectMapper.createObjectNode(); + + String linkTitle = linkProtoSlot.getTitle(); + if (linkTitle == null) + { + linkTitle = linkProtoSlot.getName(); + } + + linkNode.put(PropertyName.title.name(), linkTitle); + + + final URI linkRelationUri = linkProtoSlot.getLinkRelationUri(); + + linkNode.put(PropertyName.rel.name(), syntaxLoader.formatSyntaxValue(linkRelationUri)); + linkNode.put(PropertyName.method.name(), linkProtoSlot.getMethod().getProtocolGivenName()); + + URI responseSchemaUri = linkProtoSlot.getResponseSchemaUri(); + if (schemaLoader.getDocumentSchemaUri().equals(responseSchemaUri)) + { + if (SystemLinkRelation.self.getUri().equals(linkRelationUri) || SystemLinkRelation.save.getUri().equals(linkRelationUri)) + { + responseSchemaUri = schemaUri; + } + } + + if (responseSchemaUri != null) + { + linkNode.put(PropertyName.responseSchemaUri.name(), syntaxLoader.formatSyntaxValue(responseSchemaUri)); + + final Schema responseSchema = schemaLoader.load(responseSchemaUri); + if (responseSchema != null) + { + linkNode.put(PropertyName.responseSchemaTitle.name(), responseSchema.getTitle()); + } + } + + linksMapNode.put(linkTitle, linkNode); + } + + return rootNode; + } + + + public static String guessTitleSlot(final URI schemaUri, final SchemaLoader schemaLoader) + { + // + // Attempt to (heuristically) determine the "title" slot for the model + // + final Prototype prototype = schemaLoader.getPrototype(schemaUri); + if (prototype == null) + { + return null; + } + + final Class schemaInterface = prototype.getSchemaBean().getIntrospectedClass(); + if (Titled.class.isAssignableFrom(schemaInterface)) + { + return Titled.SLOT_NAME_TITLE; + } + else if (Named.class.isAssignableFrom(schemaInterface)) + { + return Named.SLOT_NAME_NAME; + } + else + { + + String titleKeySlot = null; + boolean hasUriSlot = false; + final Set allKeySlotNames = prototype.getAllKeySlotNames(); + for (final String keySlotName : allKeySlotNames) + { + if (keySlotName.equals(Document.SLOT_NAME_URI)) + { + hasUriSlot = true; + continue; + } + + // TODO: Change this logic to account for composite keys + titleKeySlot = keySlotName; + break; + } + + if (titleKeySlot != null) + { + return titleKeySlot; + } + + if (hasUriSlot) + { + return Document.SLOT_NAME_URI; + } + + } + + return null; + } + + + private ObjectNode createSlot(final ObjectMapper objectMapper, final Prototype prototype, final String slotName) + { + + final ProtoSlot protoSlot = prototype.getProtoSlot(slotName); + final SchemaLoader schemaLoader = prototype.getSchemaLoader(); + final Context context = schemaLoader.getContext(); + final SyntaxLoader syntaxLoader = context.getSyntaxLoader(); + + final ValueType valueType = protoSlot.getValueType(); + if (valueType == ValueType.Link) + { + return null; + } + + final Type heapValueType = protoSlot.getHeapValueType(); + + final ObjectNode slotNode = objectMapper.createObjectNode(); + slotNode.put(PropertyName.name.name(), slotName); + slotNode.put(PropertyName.title.name(), protoSlot.getTitle()); + slotNode.put(PropertyName.type.name(), valueType.name()); + slotNode.put(PropertyName.description.name(), protoSlot.getDescription()); + + switch (valueType) + { + case Text: + { + final ObjectNode syntaxNode = buildSyntaxNode(objectMapper, heapValueType, syntaxLoader); + slotNode.put(PropertyName.syntax.name(), syntaxNode); + + break; + } + case List: + { + final PropertyProtoSlot listPropertyProtoSlot = (PropertyProtoSlot) protoSlot; + + final ObjectNode elementNode = objectMapper.createObjectNode(); + slotNode.put(PropertyName.element.name(), elementNode); + + + final Type elementType = listPropertyProtoSlot.getListElementType(); + final ValueType elementValueType = schemaLoader.getValueType(elementType); + elementNode.put(PropertyName.type.name(), elementValueType.name()); + + if (elementValueType == ValueType.Model) + { + final URI elementSchemaUri = listPropertyProtoSlot.getListElementSchemaUri(); + if (elementSchemaUri != null) + { + final ObjectNode schemaNode = buildSchemaNode(objectMapper, elementSchemaUri, schemaLoader); + elementNode.put(PropertyName.schema.name(), schemaNode); + } + } + else if (elementValueType == ValueType.Text) + { + final ObjectNode syntaxNode = buildSyntaxNode(objectMapper, elementType, syntaxLoader); + elementNode.put(PropertyName.syntax.name(), syntaxNode); + + } + + break; + } + case Model: + { + final ObjectNode schemaNode = buildSchemaNode(objectMapper, ((PropertyProtoSlot) protoSlot).getModelSchemaUri(), schemaLoader); + slotNode.put(PropertyName.schema.name(), schemaNode); + break; + } + case SingleSelect: + { + + break; + } + } + + + return slotNode; + } + + public static ObjectNode buildSchemaNode(final ObjectMapper objectMapper, final URI schemaUri, final SchemaLoader schemaLoader) + { + + + final Prototype prototype = schemaLoader.getPrototype(schemaUri); + if (prototype != null) + { + + final ObjectNode schemaNode = objectMapper.createObjectNode(); + schemaNode.put(PropertyName.title.name(), prototype.getTitle()); + schemaNode.put(PropertyName.uri.name(), schemaUri.toString()); + + final String titleSlotName = guessTitleSlot(schemaUri, schemaLoader); + if (titleSlotName != null) + { + schemaNode.put(PropertyName.titleSlotName.name(), titleSlotName); + } + + + return schemaNode; + } + + return null; + } + + + private ObjectNode buildSyntaxNode(final ObjectMapper objectMapper, final Type heapValueType, final SyntaxLoader syntaxLoader) + { + + if (!String.class.equals(heapValueType) && heapValueType instanceof Class) + { + + + // TODO: Make it easy/possible to get the Syntax Document's title and uri + + final Class heapValueClass = (Class) heapValueType; + final URI syntaxUri = syntaxLoader.getSyntaxUri(heapValueClass); + final String syntaxName = heapValueClass.getSimpleName(); + final ObjectNode syntaxNode = objectMapper.createObjectNode(); + + syntaxNode.put(PropertyName.title.name(), syntaxName); + syntaxNode.put(PropertyName.uri.name(), syntaxUri.toString()); + return syntaxNode; + } + return null; + } + + + private enum PropertyName + { + + allKeySlotNames, + description, + keys, + links, + element, + method, + name, + rel, + responseSchemaUri, + responseSchemaTitle, + schema, + slots, + syntax, + title, + titleSlotName, + type, + uri; + + } +} diff --git a/core/src/main/java/org/wrml/runtime/format/application/xml/XmlFormatter.java b/core/src/main/java/org/wrml/runtime/format/application/xml/XmlFormatter.java new file mode 100644 index 0000000..2827e8f --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/application/xml/XmlFormatter.java @@ -0,0 +1,105 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format.application.xml; + +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.annotations.XStreamOmitField; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.Model; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.format.*; + +import java.io.InputStream; +import java.io.OutputStream; + +/** + * Implementation of {@link Formatter} to marshal and unmarshal XML using {@link XStream}. + */ +public class XmlFormatter extends AbstractFormatter +{ + + private static final Logger LOG = LoggerFactory.getLogger(XmlFormatter.class); + + private Context _Context; + + @XStreamOmitField + private XStream _XStream; + + public XmlFormatter() + { + + } + + @SuppressWarnings("unchecked") + @Override + public M readModel(final InputStream in, final Keys rootModelKeys, final Dimensions rootModelDimensions) throws ModelReadingException + { + + // TODO: Implement this + + M result; + try + { + Object obj = _XStream.fromXML(in); + result = (M) obj; + LOG.debug("unmarshalled input xml to Model={}", result); + } + catch (Exception e) + { + throw new ModelReadingException("Unable to marshall input xml to Model", e, this); + } + return result; + } + + @Override + public void writeModel(final OutputStream out, final Model model, final ModelWriteOptions writeOptions) throws ModelWritingException + { + + // TODO: Implement this + + try + { + _XStream.toXML(model, out); + } + catch (Exception e) + { + throw new ModelWritingException(getClass().getSimpleName() + " had an Exception (" + e.getMessage() + ") processing model:\n" + model, e, this); + } + + } + + @Override + protected void initFromConfiguration(final FormatterConfiguration configu) + { + + _XStream = new XStream(); + _XStream.autodetectAnnotations(true); + + } +} diff --git a/core/src/main/java/org/wrml/runtime/format/application/xml/package-info.java b/core/src/main/java/org/wrml/runtime/format/application/xml/package-info.java new file mode 100644 index 0000000..9aa18e6 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/application/xml/package-info.java @@ -0,0 +1,29 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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. + */ +/** + * Support for the application/xml media type. + */ +package org.wrml.runtime.format.application.xml; + diff --git a/core/src/main/java/org/wrml/runtime/format/package-info.java b/core/src/main/java/org/wrml/runtime/format/package-info.java new file mode 100644 index 0000000..aad87b7 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/package-info.java @@ -0,0 +1,29 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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. + */ +/** + * Runtime implementations for WRML {@link org.wrml.model.Model Model} serialization. + */ +package org.wrml.runtime.format; + diff --git a/core/src/main/java/org/wrml/runtime/format/text/html/WrmldocFormatter.java b/core/src/main/java/org/wrml/runtime/format/text/html/WrmldocFormatter.java new file mode 100644 index 0000000..6c3d639 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/text/html/WrmldocFormatter.java @@ -0,0 +1,295 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format.text.html; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.ObjectNode; +import org.apache.commons.io.IOUtils; +import org.wrml.model.Model; +import org.wrml.model.rest.Api; +import org.wrml.model.rest.Document; +import org.wrml.model.rest.Method; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.format.*; +import org.wrml.runtime.format.application.vnd.wrml.design.schema.SchemaDesignFormatter; +import org.wrml.runtime.rest.ApiLoader; +import org.wrml.runtime.rest.ApiNavigator; +import org.wrml.runtime.rest.Resource; +import org.wrml.runtime.schema.SchemaLoader; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URI; +import java.text.MessageFormat; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + +/** + * The wrmldoc formatter is spiritually akin to the javadoc tool in that it generates HTML from models and metadata. + * + * @see SystemFormat#html + * @see First Introduced + * @see Javadoc Doclet Prototype + */ +public class WrmldocFormatter extends AbstractFormatter +{ + + public static final String DOCROOT_SETTING_NAME = "docroot"; + + public static final String DEFAULT_DOCROOT = "http://www.wrml.org/wrmldoc/"; + + public static final String SHELL_PAGE_TEMPLATE_RESOURCE = "index.html"; + + public static final String INDEX_HEAD_TEMPLATE_PATH = "js/templates/indexHead.ejs"; + + public static final String INDEX_BODY_TEMPLATE_PATH = "js/templates/indexBody.ejs"; + + private Map _Templates; + + private String _Docroot; + + public WrmldocFormatter() + { + + } + + @SuppressWarnings("unchecked") + @Override + public M readModel(final InputStream in, final Keys rootModelKeys, final Dimensions rootModelDimensions) throws ModelReadingException, UnsupportedOperationException + { + + throw new UnsupportedOperationException("The \"readModel\" operation is not supported by the \"" + getFormatUri() + "\" format."); + } + + @Override + public void writeModel(final OutputStream out, final Model model, final ModelWriteOptions writeOptions) throws ModelWritingException, UnsupportedOperationException + { + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final URI schemaUri = model.getSchemaUri(); + + try + { + + final ObjectMapper objectMapper = new ObjectMapper(); + + final ObjectNode indexHeadTemplateNode = objectMapper.createObjectNode(); + indexHeadTemplateNode.put("url", _Docroot + INDEX_HEAD_TEMPLATE_PATH); + final String indexHeadTemplateValue = indexHeadTemplateNode.toString(); + + final ObjectNode indexBodyTemplateNode = objectMapper.createObjectNode(); + indexBodyTemplateNode.put("url", _Docroot + INDEX_BODY_TEMPLATE_PATH); + final String indexBodyTemplateValue = indexBodyTemplateNode.toString(); + + final String modelValue = model.toString(); + + final Schema schema = schemaLoader.load(schemaUri); + final ByteArrayOutputStream schemaBytes = new ByteArrayOutputStream(); + context.writeModel(schemaBytes, schema, SystemFormat.vnd_wrml_design_schema.getFormatUri()); + final String schemaValue = schemaBytes.toString(); + + + final ObjectNode apiNode = buildApiNode(objectMapper, model); + final String apiValue = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(apiNode); + + final MessageFormat pageTemplate = getTemplate(SHELL_PAGE_TEMPLATE_RESOURCE); + final String renderedPage = renderPage(pageTemplate, _Docroot, indexHeadTemplateValue, indexBodyTemplateValue, modelValue, schemaValue, apiValue); + + IOUtils.write(renderedPage, out); + + } + catch (IOException e) + { + throw new ModelWritingException(e.getMessage(), e, this); + } + + } + + public MessageFormat getTemplate(String templateName) throws IOException + { + + if (!_Templates.containsKey(templateName)) + { + final InputStream templateStream = getClass().getResourceAsStream(templateName); + final String templateSource = IOUtils.toString(templateStream); + + _Templates.put(templateName, new MessageFormat(templateSource)); + } + + return _Templates.get(templateName); + + } + + + protected String renderPage(final MessageFormat template, Object... params) throws IOException + { + + final String renderedPage = template.format(params); + return renderedPage; + } + + protected ObjectNode buildApiNode(final ObjectMapper objectMapper, final Model model) + { + + final ObjectNode apiNode = objectMapper.createObjectNode(); + if (!(model instanceof Document)) + { + return apiNode; + } + + final Context context = getContext(); + + final Document document = (Document) model; + final URI uri = document.getUri(); + final ApiLoader apiLoader = context.getApiLoader(); + final ApiNavigator apiNavigator = apiLoader.getParentApiNavigator(uri); + final Api api = apiNavigator.getApi(); + final Resource resource = apiNavigator.getResource(uri); + + final URI apiUri = api.getUri(); + + apiNode.put(PropertyName.uri.name(), apiUri.toString()); + apiNode.put(PropertyName.title.name(), api.getTitle()); + apiNode.put(PropertyName.description.name(), api.getDescription()); + apiNode.put(PropertyName.version.name(), api.getVersion()); + + final ObjectNode resourceNode = buildResourceNode(objectMapper, resource); + apiNode.put(PropertyName.resource.name(), resourceNode); + + return apiNode; + } + + protected ObjectNode buildResourceNode(final ObjectMapper objectMapper, final Resource resource) + { + + final SchemaLoader schemaLoader = getContext().getSchemaLoader(); + final ObjectNode resourceNode = objectMapper.createObjectNode(); + resourceNode.put(PropertyName.pathSegment.name(), resource.getPathSegment()); + resourceNode.put(PropertyName.uriTemplate.name(), resource.getUriTemplate().getUriTemplateString()); + resourceNode.put(PropertyName.id.name(), resource.getResourceTemplateId().toString()); + + final ObjectNode allowNode = objectMapper.createObjectNode(); + resourceNode.put(PropertyName.allow.name(), allowNode); + + for (final Method method : Method.values()) + { + + final Set referenceLinkRelationUris = resource.getReferenceLinkRelationUris(method); + if (referenceLinkRelationUris == null || referenceLinkRelationUris.isEmpty()) + { + continue; + } + + final ObjectNode methodNode = objectMapper.createObjectNode(); + allowNode.put(method.getProtocolGivenName(), methodNode); + methodNode.put(PropertyName.title.name(), method.getProtocolGivenName()); + + + final Set responseSchemaUris = resource.getResponseSchemaUris(method); + if (responseSchemaUris != null && !responseSchemaUris.isEmpty()) + { + final ArrayNode responseSchemaArrayNode = objectMapper.createArrayNode(); + methodNode.put(PropertyName.responseSchemas.name(), responseSchemaArrayNode); + for (final URI responseSchemaUri : responseSchemaUris) + { + final ObjectNode schemaNode = SchemaDesignFormatter.buildSchemaNode(objectMapper, responseSchemaUri, schemaLoader); + responseSchemaArrayNode.add(schemaNode); + } + } + + + + final Set requestSchemaUris = resource.getRequestSchemaUris(method); + if (requestSchemaUris != null && !requestSchemaUris.isEmpty()) + { + final ArrayNode requestSchemaArrayNode = objectMapper.createArrayNode(); + methodNode.put(PropertyName.requestSchemas.name(), requestSchemaArrayNode); + for (final URI requestSchemaUri : requestSchemaUris) + { + final ObjectNode schemaNode = SchemaDesignFormatter.buildSchemaNode(objectMapper, requestSchemaUri, schemaLoader); + requestSchemaArrayNode.add(schemaNode); + } + } + + } + + + return resourceNode; + } + + @Override + protected void initFromConfiguration(final FormatterConfiguration config) + { + + final Map settings = config.getSettings(); + if (settings == null) + { + throw new NullPointerException("The settings cannot be null."); + } + + _Templates = new HashMap<>(); + + try + { + getTemplate(SHELL_PAGE_TEMPLATE_RESOURCE); + } + catch (IOException e) + { + throw new IllegalArgumentException("The shell page template could not be read from: " + SHELL_PAGE_TEMPLATE_RESOURCE); + } + + _Docroot = DEFAULT_DOCROOT; + if (settings.containsKey(DOCROOT_SETTING_NAME)) + { + _Docroot = settings.get(DOCROOT_SETTING_NAME); + } + } + + private enum PropertyName + { + allow, + description, + id, + pathSegment, + requestSchemas, + resource, + responseSchemas, + title, + uri, + uriTemplate, + version; + + } + +} diff --git a/core/src/main/java/org/wrml/runtime/format/text/java/JavaFormatter.java b/core/src/main/java/org/wrml/runtime/format/text/java/JavaFormatter.java new file mode 100644 index 0000000..5b3cbf5 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/text/java/JavaFormatter.java @@ -0,0 +1,100 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format.text.java; + +import org.objectweb.asm.ClassReader; +import org.wrml.model.Model; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.format.AbstractFormatter; +import org.wrml.runtime.format.ModelReadingException; +import org.wrml.runtime.format.ModelWriteOptions; +import org.wrml.runtime.format.ModelWritingException; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.runtime.schema.generator.SchemaGenerator; + +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URI; + +/** + * Format for WRML schemas for use in design tools/apps. + */ +public class JavaFormatter extends AbstractFormatter +{ + public JavaFormatter() + { + + } + + @Override + public boolean isApplicableTo(final URI schemaUri) + { + + final SchemaLoader schemaLoader = getContext().getSchemaLoader(); + return (schemaLoader.getSchemaSchemaUri().equals(schemaUri)); + } + + @Override + public M readModel(final InputStream in, final Keys rootModelKeys, final Dimensions rootModelDimensions) throws ModelReadingException + { + // TODO: Write a Java compiler. =) + throw new UnsupportedOperationException("The \"readModel\" operation is not supported by the \"" + getFormatUri() + "\" format."); + } + + @Override + public void writeModel(final OutputStream out, final Model model, final ModelWriteOptions writeOptions) throws ModelWritingException + { + + if (!(model instanceof Schema)) + { + throw new ModelWritingException("The \"" + getFormatUri() + "\" format cannot write the model.", null, this); + } + + final Schema schema = (Schema) model; + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + + try + { + final SchemaInterfacePrinter schemaInterfacePrinter = new SchemaInterfacePrinter(schema, out); + final byte[] schemaBytecode = schemaLoader.getSchemaInterfaceBytecode(schema); + final ClassReader classReader = new ClassReader(schemaBytecode); + classReader.accept(schemaInterfacePrinter, 0); + } + catch (final Exception e) + { + throw new ModelWritingException(getClass().getSimpleName() + + " encounter an error while attempting to write a SchemaDesign. Message: " + e.getMessage(), null, this); + + } + + } + +} diff --git a/core/src/main/java/org/wrml/runtime/format/text/java/SchemaInterfacePrinter.java b/core/src/main/java/org/wrml/runtime/format/text/java/SchemaInterfacePrinter.java new file mode 100644 index 0000000..3b689cb --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/format/text/java/SchemaInterfacePrinter.java @@ -0,0 +1,134 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format.text.java; + +import org.objectweb.asm.*; +import org.wrml.model.schema.Schema; + +import java.io.OutputStream; +import java.io.PrintStream; + +/** + * TODO: Finish this class + */ +public class SchemaInterfacePrinter implements ClassVisitor +{ + + private final Schema _Schema; + + private final PrintStream _PrintStream; + + public SchemaInterfacePrinter(final Schema schema, final OutputStream out) + { + + _Schema = schema; + + // Autoflushing makes sense, yes? + _PrintStream = new PrintStream(out, true); + + } + + public PrintStream getPrintStream() + { + + return _PrintStream; + } + + public Schema getSchema() + { + + return _Schema; + } + + @Override + public void visit(final int version, + final int access, + final String name, + final String signature, + final String superName, + final String[] interfaces) + { + + _PrintStream.println(name + " extends " + superName + " {"); + + } + + @Override + public void visitSource(final String s, final String s2) + { + //To change body of implemented methods use File | Settings | File Templates. + } + + @Override + public void visitOuterClass(final String s, final String s2, final String s3) + { + //To change body of implemented methods use File | Settings | File Templates. + } + + @Override + public AnnotationVisitor visitAnnotation(final String s, final boolean b) + { + + return null; //To change body of implemented methods use File | Settings | File Templates. + } + + @Override + public void visitAttribute(final Attribute attribute) + { + //To change body of implemented methods use File | Settings | File Templates. + } + + @Override + public void visitInnerClass(final String s, final String s2, final String s3, final int i) + { + //To change body of implemented methods use File | Settings | File Templates. + } + + @Override + public FieldVisitor visitField(final int access, final String name, final String desc, final String signature, final Object value) + { + + _PrintStream.println(" " + desc + " " + name); + return null; + } + + @Override + public MethodVisitor visitMethod(final int access, final String name, final String desc, final String signature, final String[] exceptions) + { + + _PrintStream.println(" " + name + desc); + return null; + } + + @Override + public void visitEnd() + { + + _PrintStream.println("}"); + } +} + + diff --git a/core/src/main/java/org/wrml/runtime/rest/AcceptHeader.java b/core/src/main/java/org/wrml/runtime/rest/AcceptHeader.java new file mode 100644 index 0000000..6dcdc52 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/AcceptHeader.java @@ -0,0 +1,30 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +public interface AcceptHeader +{ + // TODO Define AcceptHeader and other special header models +} diff --git a/core/src/main/java/org/wrml/runtime/rest/AcceptableMediaTypeList.java b/core/src/main/java/org/wrml/runtime/rest/AcceptableMediaTypeList.java new file mode 100644 index 0000000..67a317b --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/AcceptableMediaTypeList.java @@ -0,0 +1,112 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.runtime.rest.MediaType.MediaTypeException; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class AcceptableMediaTypeList extends ArrayList +{ + + public static final Pattern ACCEPT = Pattern.compile(CommonHeader.ACCEPT.getName() + ":( *)(.*)"); + + public static final Pattern ACCEPT_MAJOR = Pattern.compile("( *)([^,]+)"); + + private static final long serialVersionUID = 1L; + + private static final Logger LOG = LoggerFactory.getLogger(AcceptableMediaTypeList.class); + + private static final QSorter SORTER = new QSorter(); + + public AcceptableMediaTypeList(String acceptHeaderValueString) + { + + if (acceptHeaderValueString == null) + { + return; + } + + Matcher accept = ACCEPT.matcher(acceptHeaderValueString); + + // Remove front if present + if (accept.find()) + { + acceptHeaderValueString = accept.group(2); + } + + accept = ACCEPT_MAJOR.matcher(acceptHeaderValueString); + + while (accept.find()) + { + final String group = accept.group(2); + try + { + final MediaType type = new MediaType(group); + add(type); + } + catch (final MediaTypeException ex) + { + LOG.debug("Unable to extract MediaType from string " + group, ex); + } + } + + Collections.sort(this, SORTER); + } + + /** + * Sorts based on the q parameter. A MediaType lacking this parameter has a value of 1 (highest). + */ + public static class QSorter implements Comparator + { + + public static final String Q_NAME = "q"; + + @Override + public int compare(final MediaType obj1, final MediaType obj2) + { + + Double q1 = 1.0; + if (obj1.getParameter(Q_NAME) != null) + { + q1 = Double.valueOf(obj1.getParameter(Q_NAME)); + } + + Double q2 = 1.0; + if (obj2.getParameter(Q_NAME) != null) + { + q2 = Double.valueOf(obj2.getParameter(Q_NAME)); + } + + return -q1.compareTo(q2); + } + } +} diff --git a/core/src/main/java/org/wrml/runtime/rest/ApiBuilder.java b/core/src/main/java/org/wrml/runtime/rest/ApiBuilder.java new file mode 100644 index 0000000..c046f68 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/ApiBuilder.java @@ -0,0 +1,701 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +import org.apache.commons.lang3.StringUtils; +import org.wrml.model.rest.*; +import org.wrml.runtime.Context; +import org.wrml.runtime.Keys; +import org.wrml.runtime.schema.LinkProtoSlot; +import org.wrml.runtime.schema.Prototype; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.util.JavaMethod; + +import java.lang.reflect.Type; +import java.net.URI; +import java.util.*; + +/** + * A helper utility to build Api models. + */ +public final class ApiBuilder +{ + + private final Context _Context; + + private final Api _Api; + + public ApiBuilder(final Context context) + { + + this((Api) context.newModel(Api.class)); + } + + public ApiBuilder(final Api api) + { + + _Context = api.getContext(); + _Api = api; + + } + + public ApiBuilder uri(final URI uri) + { + + _Api.setUri(uri); + return this; + } + + public ApiBuilder description(final String description) + { + + _Api.setDescription(description); + return this; + } + + public ApiBuilder title(final String title) + { + + _Api.setTitle(title); + return this; + } + + public ApiNavigator navigate() + { + + return (ApiNavigator.isApiNavigable(_Api)) ? new ApiNavigator(_Api) : null; + } + + @Override + public String toString() + { + + final ApiNavigator navigator = navigate(); + if (navigator != null) + { + return navigator.toString(); + } + + return _Api.toString(); + } + + public Api toApi() + { + + return _Api; + } + + public Context getContext() + { + + return _Context; + } + + public ApiNavigator load() + { + + final ApiLoader apiLoader = _Context.getApiLoader(); + return apiLoader.loadApi(_Api); + } + + public ApiBuilder resource(final String fullPath) + { + + return resource(fullPath, (UUID) null); + } + + public ApiBuilder resource(final String fullPath, final UUID resourceTemplateId) + { + + return resource(fullPath, resourceTemplateId, (URI) null); + } + + public ApiBuilder resource(final String fullPath, final UUID resourceTemplateId, final Class defaultSchemaInterface) + { + + return resource(fullPath, resourceTemplateId, defaultSchemaInterface, false); + } + + public ApiBuilder resource(final String fullPath, final Class defaultSchemaInterface) + { + + return resource(fullPath, null, defaultSchemaInterface); + } + + public ApiBuilder resource(final String fullPath, final UUID resourceTemplateId, final Class defaultSchemaInterface, final boolean addDefaultLinks) + { + + final URI defaultSchemaUri = (defaultSchemaInterface != null) ? getContext().getSchemaLoader().getTypeUri(defaultSchemaInterface) : null; + return resource(fullPath, resourceTemplateId, defaultSchemaUri, addDefaultLinks); + } + + public ApiBuilder resource(final String fullPath, final Class defaultSchemaInterface, final boolean addDefaultLinks) + { + + return resource(fullPath, null, defaultSchemaInterface, addDefaultLinks); + } + + public ApiBuilder resource(final String fullPath, final UUID resourceTemplateId, final URI defaultSchemaUri) + { + + return resource(fullPath, resourceTemplateId, defaultSchemaUri, false); + } + + public ApiBuilder resource(final String fullPath, final URI defaultSchemaUri) + { + + return resource(fullPath, null, defaultSchemaUri); + } + + public ApiBuilder resource(final String fullPath, final UUID resourceTemplateId, final URI defaultSchemaUri, final boolean addDefaultLinks) + { + + final Context context = getContext(); + + if (fullPath == null) + { + throw new IllegalArgumentException("The resource path cannot be null."); + } + + String path = fullPath.trim(); + if (fullPath.isEmpty()) + { + path = UriTemplate.PATH_SEPARATOR; + } + + if (!path.startsWith(UriTemplate.PATH_SEPARATOR)) + { + path = UriTemplate.PATH_SEPARATOR + path; + } + + final UUID resourceId = (resourceTemplateId != null) ? resourceTemplateId : UUID.randomUUID(); + + ResourceTemplate docroot = _Api.getDocroot(); + if (docroot == null) + { + docroot = context.newModel(ResourceTemplate.class); + docroot.setPathSegment(""); + docroot.setUniqueId(UUID.randomUUID()); + _Api.setDocroot(docroot); + + if (path.equals(UriTemplate.PATH_SEPARATOR)) + { + docroot.setUniqueId(resourceId); + if (defaultSchemaUri != null) + { + docroot.setDefaultSchemaUri(defaultSchemaUri); + if (addDefaultLinks) + { + addDefaultSchemaLinkTemplates(docroot); + } + } + + return this; + } + } + + ResourceTemplate parent = docroot; + + final String[] pathSegments = StringUtils.split(path, UriTemplate.PATH_SEPARATOR_CHAR); + for (int i = 0; i < pathSegments.length; i++) + { + final String pathSegment = pathSegments[i]; + final boolean isLastSegment = (i == (pathSegments.length - 1)); + + ResourceTemplate segmentTemplate = null; + final List children = parent.getChildren(); + + for (final ResourceTemplate resourceTemplate : children) + { + if (pathSegment.equals(resourceTemplate.getPathSegment())) + { + segmentTemplate = resourceTemplate; + break; + } + } + + if (segmentTemplate == null) + { + segmentTemplate = context.newModel(ResourceTemplate.class); + segmentTemplate.setPathSegment(pathSegment); + segmentTemplate.setUniqueId(UUID.randomUUID()); + children.add(segmentTemplate); + + if (isLastSegment) + { + segmentTemplate.setUniqueId(resourceId); + if (defaultSchemaUri != null) + { + segmentTemplate.setDefaultSchemaUri(defaultSchemaUri); + if (addDefaultLinks) + { + addDefaultSchemaLinkTemplates(segmentTemplate); + } + } + } + } + + parent = segmentTemplate; + } + + return this; + } + + public ApiBuilder resource(final String fullPath, final URI defaultSchemaUri, final boolean addDefaultLinks) + { + + return resource(fullPath, UUID.randomUUID(), defaultSchemaUri, addDefaultLinks); + } + + public ApiBuilder link(final String referrerFullPath, final URI linkRelationUri, final String endpointFullPath, final Class responseSchemaInterface) + { + + return link(referrerFullPath, linkRelationUri, endpointFullPath, responseSchemaInterface, null); + } + + public ApiBuilder link(final String referrerFullPath, final URI linkRelationUri, final String endpointFullPath, final Class responseSchemaInterface, final Class requestSchemaInterface) + { + + final URI responseSchemaUri = (responseSchemaInterface != null) ? getContext().getSchemaLoader().getTypeUri(responseSchemaInterface) : null; + final URI requestSchemaUri = (requestSchemaInterface != null) ? getContext().getSchemaLoader().getTypeUri(requestSchemaInterface) : null; + return link(referrerFullPath, linkRelationUri, endpointFullPath, responseSchemaUri, requestSchemaUri); + } + + public ApiBuilder link(final String referrerFullPath, final URI linkRelationUri, final String endpointFullPath, final URI responseSchemaUri) + { + + return link(referrerFullPath, linkRelationUri, endpointFullPath, responseSchemaUri, null); + } + + public ApiBuilder link(final String referrerFullPath, final URI linkRelationUri, final String endpointFullPath, final URI responseSchemaUri, final URI requestSchemaUri) + { + + if (referrerFullPath == null) + { + throw new IllegalArgumentException("The referrer full path cannot be null."); + } + + if (endpointFullPath == null) + { + throw new IllegalArgumentException("The enpdoint full path cannot be null."); + } + + final Context context = getContext(); + + final UUID referrerResourceTemplateId = getResourceTemplateId(referrerFullPath); + if (referrerResourceTemplateId == null) + { + throw new IllegalArgumentException("The resource template was not found for: " + referrerFullPath); + } + + final UUID endpointResourceTemplateId = getResourceTemplateId(endpointFullPath); + if (endpointResourceTemplateId == null) + { + throw new IllegalArgumentException("The resource template was not found for: " + endpointFullPath); + } + + link(referrerResourceTemplateId, linkRelationUri, endpointResourceTemplateId, responseSchemaUri, requestSchemaUri); + + return this; + } + + public ApiBuilder autoLink() + { + + final ApiNavigator apiNavigator = navigate(); + final Resource docroot = apiNavigator.getDocroot(); + + autoLink(docroot); + + return this; + } + + private void addDefaultSchemaLinkTemplates(final ResourceTemplate resourceTemplate) + { + + final URI defaultSchemaUri = resourceTemplate.getDefaultSchemaUri(); + if (defaultSchemaUri == null) + { + return; + } + + final Context context = getContext(); + final ApiLoader apiLoader = context.getApiLoader(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final Prototype prototype = schemaLoader.getPrototype(defaultSchemaUri); + final UUID resourceTemplateId = resourceTemplate.getUniqueId(); + final SortedMap schemaLinkRelationUris = prototype.getLinkRelationUris(); + + final List defaultLinkTemplates = new ArrayList<>(schemaLinkRelationUris.size()); + + for (final URI linkRelationUri : schemaLinkRelationUris.values()) + { + final LinkTemplate linkTemplate = context.newModel(LinkTemplate.class); + + linkTemplate.setReferrerId(resourceTemplateId); + linkTemplate.setLinkRelationUri(linkRelationUri); + + final Keys linkRelationKeys = apiLoader.buildDocumentKeys(linkRelationUri, schemaLoader.getLinkRelationSchemaUri()); + final LinkRelation linkRelation = context.getModel(linkRelationKeys, schemaLoader.getLinkRelationDimensions()); + + final Method method = linkRelation.getMethod(); + if (method == Method.Save) + { + final URI linkRelationRequestSchemaUri = linkRelation.getRequestSchemaUri(); + if (linkRelationRequestSchemaUri == null || linkRelationRequestSchemaUri.equals(defaultSchemaUri)) + { + linkTemplate.setRequestSchemaUri(defaultSchemaUri); + linkTemplate.setEndPointId(resourceTemplateId); + } + else + { + linkTemplate.setRequestSchemaUri(linkRelationRequestSchemaUri); + } + + } + + if (method == Method.Get || method == Method.Save) + { + final URI linkRelationResponseSchemaUri = linkRelation.getResponseSchemaUri(); + if (linkRelationResponseSchemaUri == null || linkRelationResponseSchemaUri.equals(defaultSchemaUri)) + { + linkTemplate.setResponseSchemaUri(defaultSchemaUri); + linkTemplate.setEndPointId(resourceTemplateId); + } + else + { + linkTemplate.setResponseSchemaUri(linkRelationResponseSchemaUri); + } + } + + if (!method.isEntityAllowedInRequestMessage() && !method.isEntityAllowedInResponseMessage()) + { + linkTemplate.setEndPointId(resourceTemplateId); + } + + defaultLinkTemplates.add(linkTemplate); + } + + _Api.getLinkTemplates().addAll(defaultLinkTemplates); + + } + + private UUID getResourceTemplateId(final String fullPath) + { + + if (fullPath == null) + { + throw new IllegalArgumentException("The resource path cannot be null."); + } + + String path = fullPath.trim(); + if (fullPath.isEmpty()) + { + path = UriTemplate.PATH_SEPARATOR; + } + + if (!path.startsWith(UriTemplate.PATH_SEPARATOR)) + { + path = UriTemplate.PATH_SEPARATOR + path; + } + + final ResourceTemplate docroot = _Api.getDocroot(); + if (docroot == null) + { + return null; + } + + if (path.equals(UriTemplate.PATH_SEPARATOR)) + { + return docroot.getUniqueId(); + } + + ResourceTemplate parent = docroot; + + final String[] pathSegments = StringUtils.split(path, UriTemplate.PATH_SEPARATOR_CHAR); + for (int i = 0; i < pathSegments.length; i++) + { + final String pathSegment = pathSegments[i]; + final boolean isLastSegment = (i == (pathSegments.length - 1)); + + ResourceTemplate segmentTemplate = null; + final List children = parent.getChildren(); + + for (final ResourceTemplate resourceTemplate : children) + { + if (pathSegment.equals(resourceTemplate.getPathSegment())) + { + segmentTemplate = resourceTemplate; + break; + } + } + + if (segmentTemplate == null) + { + return null; + } + + if (isLastSegment) + { + return segmentTemplate.getUniqueId(); + } + + parent = segmentTemplate; + } + + return null; + } + + private LinkTemplate getLinkTemplate(final String referrerFullPath, final URI linkRelationUri, final String endpointFullPath) + { + + if (referrerFullPath == null) + { + throw new IllegalArgumentException("The referrer full path cannot be null."); + } + + if (endpointFullPath == null) + { + throw new IllegalArgumentException("The enpdoint full path cannot be null."); + } + + final UUID referrerResourceTemplateId = getResourceTemplateId(referrerFullPath); + if (referrerResourceTemplateId == null) + { + throw new IllegalArgumentException("The resource template was not found for: " + referrerFullPath); + } + + final UUID endpointResourceTemplateId = getResourceTemplateId(endpointFullPath); + if (endpointResourceTemplateId == null) + { + throw new IllegalArgumentException("The resource template was not found for: " + endpointFullPath); + } + + final List linkTemplates = _Api.getLinkTemplates(); + for (final LinkTemplate linkTemplate : linkTemplates) + { + if (linkTemplate.getReferrerId().equals(referrerResourceTemplateId) && + linkTemplate.getLinkRelationUri().equals(linkRelationUri) && + linkTemplate.getEndPointId().equals(endpointResourceTemplateId)) + { + return linkTemplate; + } + } + + return null; + } + + private void link(final UUID referrerResourceTemplateId, final URI linkRelationUri, final UUID endpointResourceTemplateId, final URI responseSchemaUri, final URI requestSchemaUri) + { + + final Context context = getContext(); + final ApiLoader apiLoader = context.getApiLoader(); + final LinkTemplate linkTemplate = context.newModel(LinkTemplate.class); + linkTemplate.setReferrerId(referrerResourceTemplateId); + linkTemplate.setEndPointId(endpointResourceTemplateId); + linkTemplate.setLinkRelationUri(linkRelationUri); + + final LinkRelation linkRelation = apiLoader.loadLinkRelation(linkRelationUri); + + final Method method = linkRelation.getMethod(); + if (method.isEntityAllowedInResponseMessage() && responseSchemaUri != null) + { + linkTemplate.setResponseSchemaUri(responseSchemaUri); + } + + if (method.isEntityAllowedInRequestMessage() && requestSchemaUri != null) + { + linkTemplate.setRequestSchemaUri(requestSchemaUri); + } + + _Api.getLinkTemplates().add(linkTemplate); + } + + private void autoLink(final Resource resource) + { + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final URI defaultSchemaUri = resource.getDefaultSchemaUri(); + if (defaultSchemaUri != null) + { + final Prototype defaultPrototype = schemaLoader.getPrototype(defaultSchemaUri); + autoLink(resource, defaultPrototype); + } + + final Set responseSchemaUris = resource.getResponseSchemaUris(Method.Get); + if (responseSchemaUris != null) + { + for (final URI responseSchemaUri : responseSchemaUris) + { + final Prototype responsePrototype = schemaLoader.getPrototype(responseSchemaUri); + autoLink(resource, responsePrototype); + } + + } + + final List allChildResources = resource.getAllChildResources(); + for (final Resource subresource : allChildResources) + { + autoLink(subresource); + } + + } + + private void autoLink(final Resource referrerResource, final Prototype prototype) + { + + final Context context = getContext(); + final ApiLoader apiLoader = context.getApiLoader(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final Collection linkProtoSlots = prototype.getLinkProtoSlots().values(); + for (final LinkProtoSlot linkProtoSlot : linkProtoSlots) + { + + URI linkResponseSchemaUri = linkProtoSlot.getResponseSchemaUri(); + if (linkResponseSchemaUri == null) + { + continue; + } + + final URI requestSchemaUri = linkProtoSlot.getRequestSchemaUri(); + + final URI linkRelationUri = linkProtoSlot.getLinkRelationUri(); + final LinkRelation linkRelation = apiLoader.loadLinkRelation(linkRelationUri); + + final UUID referrerResourceTemplateId = referrerResource.getResourceTemplateId(); + + final Resource endpointResource = findSuitableLinkEndpoint(referrerResource, linkRelation, linkResponseSchemaUri); + if (endpointResource != null) + { + final UUID endpointResourceTemplateId = endpointResource.getResourceTemplateId(); + + if (linkResponseSchemaUri.equals(schemaLoader.getDocumentSchemaUri())) + { + final URI defaultSchemaUri = endpointResource.getDefaultSchemaUri(); + if (defaultSchemaUri != null) + { + linkResponseSchemaUri = defaultSchemaUri; + } + + } + + link(referrerResourceTemplateId, linkRelationUri, endpointResourceTemplateId, linkResponseSchemaUri, requestSchemaUri); + } + } + } + + private Resource findSuitableLinkEndpoint(final Resource referrerResource, final LinkRelation linkRelation, final URI linkResponseSchemaUri) + { + + if (isSuitableLinkEndpoint(referrerResource, linkRelation, referrerResource, linkResponseSchemaUri)) + { + return referrerResource; + } + + final ApiNavigator apiNavigator = referrerResource.getApiNavigator(); + final Map allResourceMap = apiNavigator.getAllResources(); + + final SortedSet resourceSet = new TreeSet<>(allResourceMap.values()); + for (final Resource resource : resourceSet) + { + if (resource == referrerResource) + { + continue; + } + + if (isSuitableLinkEndpoint(referrerResource, linkRelation, resource, linkResponseSchemaUri)) + { + return resource; + } + } + + return null; + } + + private boolean isSuitableLinkEndpoint(final Resource referrerResource, final LinkRelation linkRelation, final Resource endpointResource, final URI linkResponseSchemaUri) + { + + if (referrerResource == null || linkRelation == null || endpointResource == null || linkResponseSchemaUri == null) + { + return false; + } + + if (linkRelation.getUri().equals(SystemLinkRelation.self.getUri()) && (referrerResource == endpointResource)) + { + return true; + } + + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + + + final URI defaultSchemaUri = endpointResource.getDefaultSchemaUri(); + if (defaultSchemaUri != null) + { + if (defaultSchemaUri.equals(linkResponseSchemaUri)) + { + return true; + } + + final Prototype defaultSchemaPrototype = schemaLoader.getPrototype(defaultSchemaUri); + if (defaultSchemaPrototype.isAssignableFrom(linkResponseSchemaUri)) + { + return true; + } + + } + + + final Method method = linkRelation.getMethod(); + final Set responseSchemaUris = endpointResource.getResponseSchemaUris(method); + if (responseSchemaUris != null) + { + if (responseSchemaUris.contains(linkResponseSchemaUri)) + { + return true; + } + + if (responseSchemaUris.size() > 0) + { + + for (final URI responseSchemaUri : responseSchemaUris) + { + final Prototype responseSchemaPrototype = schemaLoader.getPrototype(responseSchemaUri); + if (responseSchemaPrototype.isAssignableFrom(linkResponseSchemaUri)) + { + return true; + } + } + + } + } + + return false; + } + +} \ No newline at end of file diff --git a/core/src/main/java/org/wrml/runtime/rest/ApiLoader.java b/core/src/main/java/org/wrml/runtime/rest/ApiLoader.java new file mode 100644 index 0000000..eddda3c --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/ApiLoader.java @@ -0,0 +1,142 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +import org.wrml.model.format.Format; +import org.wrml.model.rest.*; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.DimensionsBuilder; +import org.wrml.runtime.Keys; +import org.wrml.runtime.Loader; + +import java.net.URI; +import java.util.Set; +import java.util.SortedSet; + +/** + * Runtime component responsible for loading and "introspecting" REST APIs. + * + * @see ApiNavigator + * @see Resource + * @see Document + * @see Api + * @see ResourceTemplate + * @see LinkTemplate + * @see Format + * @see LinkRelation + */ +public interface ApiLoader extends Loader +{ + + /** + * Uses the specified {@link DimensionsBuilder} to build the {@link Dimensions} associated with the identified document's default (response) representation. + */ + Dimensions buildDocumentDimensions(final Method requestMethod, final URI uri, DimensionsBuilder dimensionsBuilder); + + /** + * Builds {@link Keys} starting from the specified {@link Document} key value. Uses available REST API metadata + * to determine additional, surrogate key values (if possible). + * + * @param uri A {@link Document} key identifier value. + * @param schemaUri The schemaUri associated with one of the identified resource's possible response {@link Schema}. + */ + Keys buildDocumentKeys(final URI uri, final URI schemaUri); + + /** + * Returns the {@link ApiLoaderConfiguration} used to initialize this {@link ApiLoader}. + */ + ApiLoaderConfiguration getConfig(); + + /** + * Returns the {@link URI} associated with the identified resource's default {@link Schema} (response) + * representation. + */ + URI getDefaultResponseSchemaUri(final Method requestMethod, final URI uri); + + /** + * Returns the already loaded {@link Api} associated with the specified {@link Keys}. + */ + Api getLoadedApi(final Keys keys); + + /** + * Returns the already loaded {@link ApiNavigator} associated with the specified {@link Api}. + */ + ApiNavigator getLoadedApiNavigator(final URI apiUri); + + /** + * Returns the {@link Set} of already loaded {@link Api}s. + */ + Set getLoadedApis(); + + /** + * Returns the {@link Set} of already loaded API {@link URI}s. + */ + SortedSet getLoadedApiUris(); + + /** + * Returns the already loaded {@link LinkRelation} associated with the specified {@link Keys}. + */ + LinkRelation getLoadedLinkRelation(final Keys keys); + + /** + * Returns the {@link Set} of already loaded {@link LinkRelation}s. + */ + Set getLoadedLinkRelations(); + + /** + * Returns the {@link Set} of already loaded LinkRelation {@link URI}s. + */ + SortedSet getLoadedLinkRelationUris(); + + /** + * Returns the {@link ApiNavigator} associated with the {@link Api} that "parents" the specified resource + * identifier. + */ + ApiNavigator getParentApiNavigator(final URI uri) throws ApiLoaderException; + + /** + * Loads/reloads the specified {@link Api}, returning the newly created {@link ApiNavigator}. + */ + ApiNavigator loadApi(final Api api) throws ApiLoaderException; + + /** + * Loads/reloads the specified {@link Api}, by it's {@link Document} key ({@link URI}) value; returning the newly + * created {@link ApiNavigator}. + */ + ApiNavigator loadApi(final URI apiUri) throws ApiLoaderException; + + /** + * Loads/reloads the specified {@link LinkRelation}. + */ + void loadLinkRelation(final LinkRelation linkRelation) throws ApiLoaderException; + + /** + * Loads/reloads the specified {@link LinkRelation}, by it's {@link Document} key ({@link URI}) value. + */ + LinkRelation loadLinkRelation(final URI linkRelationUri) throws ApiLoaderException; + + +} diff --git a/core/src/main/java/org/wrml/runtime/rest/ApiLoaderConfiguration.java b/core/src/main/java/org/wrml/runtime/rest/ApiLoaderConfiguration.java new file mode 100644 index 0000000..777ce4a --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/ApiLoaderConfiguration.java @@ -0,0 +1,56 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +import org.wrml.runtime.DefaultFactoryConfiguration; + +import java.net.URI; + +/** + * Configuration for the ApiLoader component. + */ +public final class ApiLoaderConfiguration extends DefaultFactoryConfiguration +{ + + private URI[] _Apis; + + public ApiLoaderConfiguration() + { + + } + + public URI[] getApis() + { + + return _Apis; + } + + public void setApis(final URI[] apis) + { + + _Apis = apis; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/rest/ApiLoaderException.java b/core/src/main/java/org/wrml/runtime/rest/ApiLoaderException.java new file mode 100644 index 0000000..2ebc64d --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/ApiLoaderException.java @@ -0,0 +1,63 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +/** + * The {@link ApiLoader}'s associated error type. + */ +public class ApiLoaderException extends RuntimeException +{ + + private final ApiLoader _ApiLoader; + + private static final long serialVersionUID = 1L; + + /** + * Create a new exception to communicate a problem about the specified {@link ApiLoader}. + * + * @param message + * The message to explain what is going on. + * + * @param apiLoader + * The impacted {@link ApiLoader}. + * + */ + ApiLoaderException(final String message, final Throwable cause, final ApiLoader apiLoader) + { + super(message, cause); + _ApiLoader = apiLoader; + } + + /** + * Get the {@link ApiLoader} associated with this error. + * + * @return The {@link ApiLoader} that raised this exception. + */ + public ApiLoader getApiLoader() + { + return _ApiLoader; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/rest/ApiNavigator.java b/core/src/main/java/org/wrml/runtime/rest/ApiNavigator.java new file mode 100644 index 0000000..4ed3cce --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/ApiNavigator.java @@ -0,0 +1,930 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) ${year} Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.Model; +import org.wrml.model.rest.Api; +import org.wrml.model.rest.Document; +import org.wrml.model.rest.Link; +import org.wrml.model.rest.LinkRelation; +import org.wrml.model.rest.LinkTemplate; +import org.wrml.model.rest.Method; +import org.wrml.model.rest.ResourceTemplate; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.DimensionsBuilder; +import org.wrml.runtime.Keys; +import org.wrml.runtime.schema.Prototype; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.util.AsciiArt; + +import java.net.URI; +import java.util.Comparator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; + +/** + * The WRML implementation of REST's "hypermedia as the engine of application state" (HATEOAS) concept. + *

+ * The {@link ApiNavigator} digests and {@link Api}'s modeled metadata to manifest {@link Resource}s and make all {@link Document}-related models' {@link Link}s + * "interactive" at runtime. + *

+ * Due to the symmetrical nature of REST's uniform interface and its generally cool style, a {@link ApiNavigator} may be used by a referrer model (i.e. client-side) for + * "lazy loading" relationships that enable atomic document model decomposition while maintaining a functional reference to shared documents. This class may also be used as the + * primary engine to drive a Web server's resource request processing; at the "end point" of a {@link Link}'s reference. + *

+ * In summary, the {@link ApiNavigator} handle the execution of both ends of a {@link Link}-based reference. + *

+ * See Wikipedia or Google for more information about hypermedia systems. + */ +public class ApiNavigator +{ + + public static final char PATH_SEPARATOR_CHAR = '/'; + + public static final String PATH_SEPARATOR = String.valueOf(ApiNavigator.PATH_SEPARATOR_CHAR); + + public static final String DOCROOT_PATH = ApiNavigator.PATH_SEPARATOR; + + private static final Logger LOG = LoggerFactory.getLogger(ApiNavigator.class); + + private final Api _Api; + + private final Dimensions _DefaultApiDimensions; + + private final Dimensions _DefaultLinkRelationDimensions; + + private final Dimensions _DefaultResourceTemplateDimensions; + + private final ConcurrentHashMap _AllResources; + + private final Resource _Docroot; + + private final SortedSet _DocrootResults; + + private Dimensions _ApiDimensions; + + private Dimensions _LinkRelationDimensions; + + private Dimensions _ResourceTemplateDimensions; + + private Dimensions _SchemaDimensions; + + public ApiNavigator(final Api api) + { + + if (api == null) + { + throw new ApiNavigatorException("The Api cannot be null.", null, this); + } + + if (api.getUri() == null) + { + throw new ApiNavigatorException("The Api's URI cannot be null.", null, this); + } + + _Api = api; + + _AllResources = new ConcurrentHashMap(); + + final Context context = api.getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + + _DefaultApiDimensions = schemaLoader.getApiDimensions(); + _ApiDimensions = _DefaultApiDimensions; + + _DefaultResourceTemplateDimensions = new DimensionsBuilder(schemaLoader.getResourceTemplateSchemaUri()).toDimensions(); + _ResourceTemplateDimensions = _DefaultResourceTemplateDimensions; + + _SchemaDimensions = schemaLoader.getSchemaDimensions(); + + _DefaultLinkRelationDimensions = new DimensionsBuilder(schemaLoader.getLinkRelationSchemaUri()).toDimensions(); + _LinkRelationDimensions = _DefaultLinkRelationDimensions; + + _Docroot = new Resource(this, _Api.getDocroot(), null); + _DocrootResults = new TreeSet<>(); + _DocrootResults.add(new ResourceMatchResult(_Docroot, 10000)); + + addResource(_Docroot); + + } + + public static final boolean isApiNavigable(final Api api) + { + + if (api == null) + { + return false; + } + final URI apiUri = api.getUri(); + final ResourceTemplate docroot = api.getDocroot(); + + final boolean isApiNavigable = ((apiUri != null) && (docroot != null)); + return isApiNavigable; + + } + + public Resource addResource(final UUID parentResourceTemplateId, final ResourceTemplate childResourceTemplate) + { + + final Resource child = new Resource(this, childResourceTemplate, getResource(parentResourceTemplateId)); + addResource(child); + return child; + } + + public Map getAllResources() + { + + return _AllResources; + } + + public Api getApi() + { + + return _Api; + } + + public Dimensions getApiDimensions() + { + + return _ApiDimensions; + } + + public void setApiDimensions(final Dimensions apiDimensions) + { + + _ApiDimensions = apiDimensions; + } + + public Set getApiLinkRelations() + { + + final Api api = getApi(); + final Context context = api.getContext(); + final ApiLoader apiLoader = context.getApiLoader(); + final Set allLinkRelations = new LinkedHashSet<>(); + final List linkTemplates = getApi().getLinkTemplates(); + for (final LinkTemplate linkTemplate : linkTemplates) + { + final URI linkRelationUri = linkTemplate.getLinkRelationUri(); + if (linkRelationUri != null) + { + final LinkRelation linkRelation = apiLoader.loadLinkRelation(linkRelationUri); + if (linkRelation != null) + { + allLinkRelations.add(linkRelation); + } + } + } + + return allLinkRelations; + } + + public Set getApiSchemas() + { + + final SchemaLoader schemaLoader = getApi().getContext().getSchemaLoader(); + final Set allSchemas = new LinkedHashSet<>(); + final List linkTemplates = getApi().getLinkTemplates(); + for (final LinkTemplate linkTemplate : linkTemplates) + { + final URI requestSchemaUri = linkTemplate.getRequestSchemaUri(); + if (requestSchemaUri != null) + { + final Schema schema = schemaLoader.load(requestSchemaUri); + if (schema != null) + { + allSchemas.add(schema); + } + } + + final URI responseSchemaUri = linkTemplate.getResponseSchemaUri(); + if (responseSchemaUri != null) + { + final Schema schema = schemaLoader.load(responseSchemaUri); + if (schema != null) + { + allSchemas.add(schema); + } + } + + } + + final Map allResources = getAllResources(); + for (final Resource resource : allResources.values()) + { + final URI defaultSchemaUri = resource.getDefaultSchemaUri(); + if (defaultSchemaUri != null) + { + final Schema schema = schemaLoader.load(defaultSchemaUri); + if (schema != null) + { + allSchemas.add(schema); + } + + } + } + + return allSchemas; + } + + public URI getApiUri() + { + + return getApi().getUri(); + } + + public Dimensions getDefaultApiDimensions() + { + + return _DefaultApiDimensions; + } + + public Dimensions getDefaultLinkRelationDimensions() + { + + return _DefaultLinkRelationDimensions; + } + + public Resource getDocroot() + { + + return _Docroot; + } + + /** + * Helper function that returns the {@link Resource} associated with the link's endpoint. + */ + public Resource getEndpointResource(final URI linkRelationUri, final URI referrerDocumentUri) + { + + if (linkRelationUri == null) + { + throw new ApiNavigatorException("The link's relation URI cannot be null.", null, this); + } + + /* + * If the referrer Document is associated with our Api, as we expect at this point, then the document URI will match one of our Api's described resources. Fetch the + * metadata description of the document's corresponding resource. + */ + final UUID referrerResourceTemplateId = getResourceTemplateId(referrerDocumentUri); + if (referrerResourceTemplateId == null) + { + /* + * throw new ApiNavigatorException( "The referring document is not a representation of any resources described by this " + getClass().getName() + "'s " + + * Api.class.getName() + " (" + getApi() + ").", null, this); + */ + return null; + } + + /* + * Use the pre-computed Resource to speed up the api metadata analysis. + */ + final Resource referrerResource = getResource(referrerResourceTemplateId); + + /* + * The referrer document's associated ResourceTemplate must have an "outbound" LinkTemplate which references the same LinkRelation (by id) that is referenced by this + * method's Link param. + */ + final LinkTemplate linkTemplate = referrerResource.getLinkTemplates().get(linkRelationUri); + if (linkTemplate == null) + { + + // TODO: Strict mode? + /* + * throw new ApiNavigatorException("The referring document's resource (" + referrerResource + ") is not linked to any other resources with the " + + * LinkRelation.class.getName() + " URI (" + linkRelationUri + ").", null, this); + */ + return null; + } + + /* + * The link template has two ends, the referrer end and the pointy end (end point). + */ + final UUID endpointResourceTemplateId = linkTemplate.getEndPointId(); + + /* + * Get the resource on the other end of the LinkTemplate. + */ + final Resource endPointResource = getResource(endpointResourceTemplateId); + return endPointResource; + } + + public Dimensions getLinkRelationDimensions() + { + + return _LinkRelationDimensions; + } + + public void setLinkRelationDimensions(final Dimensions linkRelationDimensions) + { + + _LinkRelationDimensions = linkRelationDimensions; + } + + public Resource getResource(final URI uri) + { + + final UUID resourceTemplateId = getResourceTemplateId(uri); + return getResource(resourceTemplateId); + } + + /** + * Get the Resource with the specified id. A {@link Resource} is the runtime counterpart/equivalent of a {@link ResourceTemplate}. + * + * @param resourceTemplateId + * The {@link URI} that identifies the {@link Resource}'s associated {@link ResourceTemplate}. + * @return The {@link Resource} associated with the specified {@link ResourceTemplate}'s id. + */ + public Resource getResource(final UUID resourceTemplateId) + { + + return _AllResources.get(resourceTemplateId); + } + + public Dimensions getResourceTemplateDimensions() + { + + return _ResourceTemplateDimensions; + } + + public void setResourceTemplateDimensions(final Dimensions resourceTemplateDimensions) + { + + _ResourceTemplateDimensions = resourceTemplateDimensions; + } + + public UUID getResourceTemplateId(final URI uri) + { + + final SortedSet results = match(uri); + + if (results == null || results.isEmpty()) + { + final URI apiUri = getApiUri(); + ApiNavigator.LOG.error("1 This ApiNavigator has charted \"{}\", which is not a match for the specified URI: {}", new Object[] {apiUri, uri}); + + throw new ApiNavigatorException("This ApiNavigator has charted \"" + apiUri + "\", which is not a match for the specified URI: " + uri + ".", null, this, + Status.NOT_FOUND); + } + + final ResourceMatchResult result = results.first(); + final Resource resource = result.getResource(); + return resource.getResourceTemplateId(); + } + + public SortedSet getSurrogateKeyComponents(final URI uri, final Prototype prototype) + { + + final SortedSet results = match(uri); + + if (results == null || results.isEmpty()) + { + final URI apiUri = getApiUri(); + ApiNavigator.LOG.error("2 This ApiNavigator has charted \"{}\", which is not a match for the specified URI: {}", new Object[] {apiUri, uri}); + throw new ApiNavigatorException("This ApiNavigator has charted \"" + apiUri + "\", which is not a match for the specified URI: " + uri + ".", null, this, + Status.NOT_FOUND); + } + + SortedSet surrogateKeyComponents = null; + + for (final ResourceMatchResult result : results) + { + final Resource endPointResource = result.getResource(); + + final Set responseSchemaUris = endPointResource.getResponseSchemaUris(Method.Get); + if (responseSchemaUris == null) + { + continue; + } + + boolean isCompatibleResource = false; + for (final URI responseSchemaUri : responseSchemaUris) + { + if (prototype.isAssignableFrom(responseSchemaUri)) + { + isCompatibleResource = true; + break; + } + } + + if (!isCompatibleResource) + { + continue; + } + + final UriTemplate uriTemplate = endPointResource.getUriTemplate(); + surrogateKeyComponents = uriTemplate.getParameters(uri); + + if (surrogateKeyComponents != null && !surrogateKeyComponents.isEmpty()) + { + break; + } + } + + return surrogateKeyComponents; + } + + @Override + public String toString() + { + + return AsciiArt.express(this); + } + + public M visitLink(final Link link, final Model referrer, final URI referrerUri, final DimensionsBuilder dimensionsBuilder, final Model parameter) + { + + if (referrer == null) + { + throw new ApiNavigatorException("The referrer cannot be null.", null, this); + } + + if (referrerUri == null) + { + throw new ApiNavigatorException("The referrer's Document URI cannot be null.", null, this); + } + + if (link == null) + { + throw new ApiNavigatorException("The link cannot be null.", null, this); + } + + final Model embeddedModel = link.getDoc(); + if (embeddedModel != null) + { + return (M) embeddedModel; + } + + final URI referrerSchemaUri = referrer.getSchemaUri(); + final URI referenceRelationUri = link.getRel(); + + final ApiLoader apiLoader = getApi().getContext().getApiLoader(); + final LinkRelation linkRelation = apiLoader.loadLinkRelation(referenceRelationUri); + if (linkRelation == null) + { + throw new ApiNavigatorException("The link relation cannot be null.", null, this); + } + + final Method method = linkRelation.getMethod(); + + final Resource endPointResource = getEndpointResource(referenceRelationUri, referrerUri); + if (endPointResource == null) + { + throw new ApiNavigatorException("The end point cannot be null.", null, this); + } + + URI uri = link.getHref(); + + if (uri == null) + { + + uri = endPointResource.getUri(referrer, referenceRelationUri); + + if (uri == null) + { + throw new ApiNavigatorException("The end point's document URI (link's href) cannot be null.", null, this); + } + } + + final Api api = getApi(); + final Context context = api.getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + + final DimensionsBuilder responseDimensionsBuilder; + if (dimensionsBuilder == null) + { + final URI responseSchemaUri = getDefaultResponseSchemaUri(method, uri); + + responseDimensionsBuilder = new DimensionsBuilder(responseSchemaUri); + } + else + { + responseDimensionsBuilder = dimensionsBuilder; + } + + responseDimensionsBuilder.setReferrerUri(referrerUri); + URI schemaUri = responseDimensionsBuilder.getSchemaUri(); + + if (method == Method.Get && (schemaUri == null || schemaUri.equals(schemaLoader.getDocumentSchemaUri()))) + { + if (referrerUri != null && referrerUri.equals(uri)) + { + schemaUri = referrerSchemaUri; + } + } + + if (schemaUri != null) + { + responseDimensionsBuilder.setSchemaUri(schemaUri); + } + + final Dimensions responseDimensions = apiLoader.buildDocumentDimensions(method, uri, responseDimensionsBuilder); + final Keys keys = apiLoader.buildDocumentKeys(uri, responseDimensions.getSchemaUri()); + + Set requestSchemaUris = endPointResource.getRequestSchemaUris(method); + if (parameter != null) + { + // Determine if the parameter is allowed + + final URI parameterSchemaUri = parameter.getSchemaUri(); + if (requestSchemaUris.isEmpty()) + { + throw new ApiNavigatorException("The " + linkRelation.getUri() + " does not allow any parameter to be passed to resource: " + endPointResource, null, this); + } + else if (!requestSchemaUris.contains(parameterSchemaUri)) + { + + boolean isParameterSubType = false; + for (final URI requestSchemaUri : requestSchemaUris) + { + final Prototype requestPrototype = schemaLoader.getPrototype(requestSchemaUri); + if (requestPrototype.isAssignableFrom(parameterSchemaUri)) + { + isParameterSubType = true; + break; + } + } + + if (!isParameterSubType) + { + throw new ApiNavigatorException("The " + linkRelation.getUri() + " does not allow a " + parameterSchemaUri + " parameter to be passed to resource: " + + endPointResource, null, this); + } + } + } + + Model param = parameter; + + // Handle special case for "Save" links to enable the referrer model automatically passes itself as the parameter. + if (method == Method.Save && param == null && (!requestSchemaUris.isEmpty())) + { + for (final URI requestSchemaUri : requestSchemaUris) + { + + Class requestSchemaInterface; + try + { + requestSchemaInterface = schemaLoader.getSchemaInterface(requestSchemaUri); + } + catch (final ClassNotFoundException e) + { + throw new ApiNavigatorException("Failed to load the schema interface for: \"" + requestSchemaUri + "\"", e, this); + } + + // Determine if the referrer may be inferred as a (this) parameter. + + Class referrerSchemaInterface; + try + { + referrerSchemaInterface = schemaLoader.getSchemaInterface(referrerSchemaUri); + } + catch (final ClassNotFoundException e) + { + throw new ApiNavigatorException("Failed to load the schema interface for referrer schema id: \"" + referrerSchemaUri + "\"", e, this); + } + + if (requestSchemaInterface.isAssignableFrom(referrerSchemaInterface)) + { + /* + * The param was null and the referrer's type matches the link's content-type expectation, so set the referrer as the param. + */ + param = referrer; + break; + } + } + } + + return context.request(method, keys, responseDimensions, param); + + } + + public final URI getDefaultResponseSchemaUri(final Method requestMethod, final URI uri) + { + + final Resource resource = getResource(uri); + final ResourceTemplate resourceTemplate = resource.getResourceTemplate(); + final URI resourceTemplateDefaultSchemaUri = resourceTemplate.getDefaultSchemaUri(); + if (resourceTemplateDefaultSchemaUri != null) + { + return resourceTemplateDefaultSchemaUri; + } + + final Set responseSchemaUris = resource.getResponseSchemaUris(requestMethod); + if (responseSchemaUris != null && !responseSchemaUris.isEmpty()) + { + return responseSchemaUris.iterator().next(); + } + else + { + throw new ApiNavigatorException("The method used is not supported by the api. METHOD [" + requestMethod + "]", null, this); + } + } + + private void addResource(final Resource resource) + { + + final ResourceTemplate resourceTemplate = resource.getResourceTemplate(); + + final UUID resourceTemplateId = resourceTemplate.getUniqueId(); + if (resourceTemplateId == null) + { + throw new ApiNavigatorException("The ResourceTemplate id cannot be null. (Resource: " + resource + ")", null, this); + } + + if (_AllResources.containsKey(resourceTemplateId)) + { + return; + } + + _AllResources.put(resourceTemplateId, resource); + final List subresourceTemplates = resourceTemplate.getChildren(); + + for (final ResourceTemplate subresourceTemplate : subresourceTemplates) + { + final Resource subresource = new Resource(this, subresourceTemplate, resource); + resource.addSubresource(subresource); + addResource(subresource); + } + + } + + private Dimensions getSchemaDimensions() + { + + return _SchemaDimensions; + } + + public void setSchemaDimensions(final Dimensions schemaDimensions) + { + + _SchemaDimensions = schemaDimensions; + } + + /** + * Determine which resource(s) match the requested resource id. + *

+ * Note: This needs to be as fast as possible because it is used during client request handling. + */ + private SortedSet match(final URI uri) + { + + ApiNavigator.LOG.debug("Attempting match on URI {}", new Object[] {uri}); + + if (uri == null) + { + ApiNavigator.LOG.error("3 This ApiNavigator cannot locate a resource with a *null* identifier."); + throw new ApiNavigatorException("This ApiNavigator cannot locate a resource with a *null* identifier.", null, this); + + } + + final URI apiUri = getApiUri(); + + if (!uri.toString().startsWith(apiUri.toString())) + { + ApiNavigator.LOG.error("4 This ApiNavigator has charted \"" + apiUri + "\", which does not manage the specified resource (" + uri + ")"); + throw new ApiNavigatorException("This ApiNavigator has charted \"" + apiUri + "\", which does not manage the specified resource (" + uri + ")", null, this, + Status.NOT_FOUND); + } + + final String path = uri.getPath(); + + final SortedSet results = matchPath(path); + + if (results == null || results.isEmpty() || results.size() == 1) + { + return results; + } + + int resultsTiedForFirst = 0; + final int highestScore = results.first().getScore(); + for (final ResourceMatchResult result : results) + { + final int score = result.getScore(); + if (score == highestScore) + { + resultsTiedForFirst++; + } + else + { + break; + } + } + + // TODO there's no differentiation here; either a lot of logic missing, or a lot of unnecessary logic + if (resultsTiedForFirst == 1) + { + return results; + } + + return results; + } + + private SortedSet matchPath(String path) + { + + // TODO Is this needed? The path should be sanitized before getting this far.... + path = StringUtils.trim(path); + if (path.length() == 0 || ApiNavigator.DOCROOT_PATH.equals(path)) + { + return _DocrootResults; + } + + final SortedSet results = new TreeSet(); + final String[] pathSegments = StringUtils.split(path, ApiNavigator.PATH_SEPARATOR_CHAR); + // TODO Refactor out of C-style method calling? Why not return results? MSM: Current approach uses recursion; + // but still could return results. Note that all of this is private implementation detail. + matchPathSegment(_Docroot, pathSegments, 0, 0, results); + + ApiNavigator.LOG.debug("The path \"{}\" matches *{}* results.", path, results.size()); + return results; + } + + private void matchPathSegment(final Resource resource, final String[] pathSegments, final int segmentIndex, int score, final SortedSet results) + { + + if (resource == null) + { + // No resource branch to investigate. + return; + } + + final int segmentCount = pathSegments.length; + + if (segmentIndex >= segmentCount) + { + // No segments left to match. + return; + } + + final Map literalPathSubresources = resource.getLiteralPathSubresources(); + final Map variablePathSubresources = resource.getVariablePathSubresources(); + + if (literalPathSubresources == null && variablePathSubresources == null) + { + // Still have segments to go, but there is nothing to match them + // against. + return; + } + + final String segment = pathSegments[segmentIndex]; + final int nextSegmentIndex = segmentIndex + 1; + final boolean isLastSegment = nextSegmentIndex == segmentCount; + + score += nextSegmentIndex; + + if (literalPathSubresources != null && literalPathSubresources.containsKey(segment)) + { + + final Resource literalPathSubresource = literalPathSubresources.get(segment); + + if (isLastSegment) + { + + // The last segment is significant because it means we can add a + // matching result with a bonus score and then return the result + // set without any further recursion. + + // TODO this should only be added if there's a link template here, else improper match. + // e.g. /capricas matching on /capricas/{capricaNumber} with score 11 when there's + // /{key} that matches with link with score 7, giving wrong order in results + + final Map linkTemplates = literalPathSubresource.getLinkTemplates(); + if (!linkTemplates.isEmpty()) + { + final ResourceMatchResult result = new ResourceMatchResult(literalPathSubresource, score + 10); + results.add(result); + } + } + else + { + // There are more paths following ours. + matchPathSegment(literalPathSubresource, pathSegments, nextSegmentIndex, score + 10, results); + } + } + + if (variablePathSubresources != null) + { + + for (final String variablePathSegment : variablePathSubresources.keySet()) + { + final Resource variablePathSubresource = variablePathSubresources.get(variablePathSegment); + + int bonus = 0; + if (isLastSegment) + { + if (variablePathSubresource.getLiteralPathSubresources() == null && variablePathSubresource.getVariablePathSubresources() == null) + { + bonus += 1; + } + } + + // TODO verify this behavior + if (!variablePathSubresource.getLinkTemplates().isEmpty()) + { + final ResourceMatchResult result = new ResourceMatchResult(variablePathSubresource, score + 5 + bonus); + results.add(result); + } + + if (!isLastSegment) + { + matchPathSegment(variablePathSubresource, pathSegments, nextSegmentIndex, score + 5, results); + } + } + } + + } + + private static class ResourceMatchResult implements Comparable + { + + /** + * When used on sets of results, the highest scoring results will sort as first. Note that the higher scores are *always* greater positive numbers. + */ + public static Comparator HIGHEST_SCORE_FIRST = new Comparator() + { + + @Override + public int compare(final ResourceMatchResult result1, final ResourceMatchResult result2) + { + + if (result1 == result2) + { + return 0; + } + return Integer.signum(result2.getScore() - result1.getScore()); + } + }; + + private final Resource _Resource; + + private final int _Score; + + ResourceMatchResult(final Resource resource, final int score) + { + + _Resource = resource; + _Score = score; + + } + + @Override + public final int compareTo(final ResourceMatchResult other) + { + + return ResourceMatchResult.HIGHEST_SCORE_FIRST.compare(this, other); + } + + public Resource getResource() + { + + return _Resource; + } + + public int getScore() + { + + return _Score; + } + + @Override + public String toString() + { + + return "Resource: " + _Resource.toString() + "\nScore: " + _Score; + } + } +} diff --git a/core/src/main/java/org/wrml/runtime/rest/ApiNavigatorException.java b/core/src/main/java/org/wrml/runtime/rest/ApiNavigatorException.java new file mode 100644 index 0000000..a66a273 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/ApiNavigatorException.java @@ -0,0 +1,97 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +/** + * The {@link ApiNavigator}'s associated error type. + */ +public class ApiNavigatorException extends RuntimeException +{ + + private final ApiNavigator _ApiNavigator; + + private final Status _Status; + + private static final long serialVersionUID = 1L; + + /** + * Create a new exception to communicate a problem about the specified {@link ApiNavigator}. + * + * @param message + * The message to explain what is going on. + * + * @param apiNavigator + * The impacted {@link ApiNavigator}. + * + */ + ApiNavigatorException(final String message, final Throwable cause, final ApiNavigator apiNavigator) + { + this(message, cause, apiNavigator, null); + } + + /** + * Create a new exception to communicate a problem about the specified {@link ApiNavigator}. + * + * @param message + * The message to explain what is going on. + * + * @param apiNavigator + * The impacted {@link ApiNavigator}. + * + * @param status + * The status to classify this exception as reflecting an HTTP + * rule enforcement. + * + */ + ApiNavigatorException(final String message, final Throwable cause, final ApiNavigator apiNavigator, + final Status status) + { + super(message, cause); + _ApiNavigator = apiNavigator; + _Status = status; + } + + /** + * Get the {@link ApiNavigator} associated with this error. + * + * @return The {@link ApiNavigator} that raised this exception. + */ + public ApiNavigator getApiNavigator() + { + return _ApiNavigator; + } + + /** + * The associated {@link Status} or null if this exception "type" has no + * REST status equivalent. + * + * @return The HTTP Status or null if there is no logical peer (in REST) for + * this kind of problem in the WRML runtime. + */ + public Status getStatus() + { + return _Status; + } +} diff --git a/core/src/main/java/org/wrml/runtime/rest/CommonHeader.java b/core/src/main/java/org/wrml/runtime/rest/CommonHeader.java new file mode 100644 index 0000000..e3a7d78 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/CommonHeader.java @@ -0,0 +1,133 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +import java.util.HashMap; +import java.util.Map; + +// Generated from a Web Resource Schema +// TODO: link to Web Resource Schema, document +public enum CommonHeader +{ + ACCEPT("Accept", HeaderCategory.REQUEST), + ACCEPT_CHARSET("Accept-Charset", HeaderCategory.REQUEST), + ACCEPT_ENCODING("Accept-Encoding", HeaderCategory.REQUEST), + ACCEPT_LANGUAGE("Accept-Language", HeaderCategory.REQUEST), + ACCEPT_RANGES("Accept-Ranges", HeaderCategory.RESPONSE), + AGE("Age", HeaderCategory.RESPONSE), + ALLOW("Allow", HeaderCategory.ENTITY), + AUTHORIZATION("Authorization", HeaderCategory.REQUEST), + CACHE_CONTROL("Cache-Control", HeaderCategory.GENERAL), + CONNECTION("Connection", HeaderCategory.GENERAL), + CONTENT_ENCODING("Content-Encoding", HeaderCategory.ENTITY), + CONTENT_LANGUAGE("Content-Language", HeaderCategory.ENTITY), + CONTENT_LENGTH("Content-Length", HeaderCategory.ENTITY), + CONTENT_LOCATION("Content-Location", HeaderCategory.ENTITY), + CONTENT_MD5("Content-MD5", HeaderCategory.ENTITY), + CONTENT_RANGE("Content-Range", HeaderCategory.ENTITY), + CONTENT_TYPE("Content-Type", HeaderCategory.ENTITY), + DATE("Date", HeaderCategory.GENERAL), + ETAG("ETag", HeaderCategory.RESPONSE), + EXPECT("Expect", HeaderCategory.REQUEST), + EXPIRES("Expires", HeaderCategory.ENTITY), + FROM("From", HeaderCategory.REQUEST), + HOST("Host", HeaderCategory.REQUEST), + IF_MATCH("If-Match", HeaderCategory.REQUEST), + IF_MODIFIED_SINCE("If-Modified-Since", HeaderCategory.REQUEST), + IF_NONE_MATCH("If-None-Match", HeaderCategory.REQUEST), + IF_RANGE("If-Range", HeaderCategory.REQUEST), + IF_UNMODIFIED_SINCE("If-Unmodified-Since", HeaderCategory.REQUEST), + LAST_MODIFIED("Last-Modified", HeaderCategory.ENTITY), + LOCATION("Location", HeaderCategory.RESPONSE), + MAX_FORWARDS("Max-Forwards", HeaderCategory.REQUEST), + PRAGMA("Pragma", HeaderCategory.GENERAL), + PROXY_AUTHENTICATE("Proxy-Authenticate", HeaderCategory.RESPONSE), + PROXY_AUTHORIZATION("Proxy-Authorization", HeaderCategory.REQUEST), + RANGE("Range", HeaderCategory.REQUEST), + REFERER("Referer", HeaderCategory.REQUEST), + RETRY_AFTER("Retry-After", HeaderCategory.RESPONSE), + SERVER("Server", HeaderCategory.RESPONSE), + TE("TE", HeaderCategory.REQUEST), + TRAILER("Trailer", HeaderCategory.GENERAL), + TRANSFER_ENCODING("Transfer-Encoding", HeaderCategory.GENERAL), + UPGRADE("Upgrade", HeaderCategory.GENERAL), + USER_AGENT("User-Agent", HeaderCategory.REQUEST), + VARY("Vary", HeaderCategory.RESPONSE), + VIA("Via", HeaderCategory.GENERAL), + WARNING("Warning", HeaderCategory.GENERAL), + WWW_AUTHENTICATE("WWW-Authenticate", HeaderCategory.RESPONSE); + + // TODO: Want a generic utility to help statically cache a map of Enum .toString() values to the actual Enum values. + + private static final Map STRING_MAP; + + static + { + final CommonHeader[] values = CommonHeader.values(); + STRING_MAP = new HashMap(values.length); + for (final CommonHeader e : values) + { + CommonHeader.STRING_MAP.put(e.toString(), e); + } + } + + public static final CommonHeader fromString(final String string) + { + + if (!CommonHeader.STRING_MAP.containsKey(string)) + { + return null; + } + + return CommonHeader.STRING_MAP.get(string); + } + + private final String _Name; + + private final HeaderCategory _Category; + + private CommonHeader(final String name, final HeaderCategory category) + { + _Name = name; + _Category = category; + } + + public HeaderCategory getCategory() + { + return _Category; + } + + public String getName() + { + return _Name; + } + + @Override + public String toString() + { + return getName(); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/rest/DefaultApiLoader.java b/core/src/main/java/org/wrml/runtime/rest/DefaultApiLoader.java new file mode 100644 index 0000000..53d3bec --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/DefaultApiLoader.java @@ -0,0 +1,629 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +import org.apache.commons.lang3.StringUtils; +import org.apache.http.client.utils.URIUtils; +import org.wrml.model.Model; +import org.wrml.model.rest.Api; +import org.wrml.model.rest.LinkRelation; +import org.wrml.model.rest.Method; +import org.wrml.runtime.CompositeKey; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.DimensionsBuilder; +import org.wrml.runtime.Keys; +import org.wrml.runtime.KeysBuilder; +import org.wrml.runtime.schema.ProtoSlot; +import org.wrml.runtime.schema.Prototype; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.runtime.syntax.SyntaxLoader; +import org.wrml.util.AsciiArt; +import org.wrml.util.UniqueName; + +import java.lang.reflect.Type; +import java.net.URI; +import java.util.LinkedHashSet; +import java.util.Map; +import java.util.Set; +import java.util.SortedMap; +import java.util.SortedSet; +import java.util.TreeMap; +import java.util.TreeSet; +import java.util.concurrent.ConcurrentHashMap; + +public class DefaultApiLoader implements ApiLoader +{ + + private static final String SYSTEM_API_DOCROOT_FULL_PATH = "/"; + + private static final String SYSTEM_API_PRIMARY_ENDPOINT_FULL_PATH = SYSTEM_API_DOCROOT_FULL_PATH + "{uniqueName}"; + + private final ConcurrentHashMap _Apis; + + private final ConcurrentHashMap _LinkRelations; + + private final ConcurrentHashMap _SystemApiNavigators; + + private final ConcurrentHashMap _ApiNavigators; + + private Context _Context; + + public DefaultApiLoader() + { + + _Apis = new ConcurrentHashMap(); + _LinkRelations = new ConcurrentHashMap(); + + _SystemApiNavigators = new ConcurrentHashMap(); + _ApiNavigators = new ConcurrentHashMap(); + } + + @Override + public Dimensions buildDocumentDimensions(final Method method, final URI uri, final DimensionsBuilder dimensionsBuilder) + { + + if (method == null) + { + throw new NullPointerException("The request method cannot be null."); + } + + if (uri == null) + { + throw new NullPointerException("The request method cannot be null."); + } + + URI schemaUri = dimensionsBuilder.getSchemaUri(); + + final ApiNavigator apiNavigator = getParentApiNavigator(uri); + + if (apiNavigator != null) + { + final Resource resource = apiNavigator.getResource(uri); + // Is the method allowed? + final Set schemaUris = resource.getResponseSchemaUris(method); + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final URI documentSchemaUriConstant = schemaLoader.getDocumentSchemaUri(); + final URI modelSchemaUriConstant = schemaLoader.getTypeUri(Model.class); + + if (schemaUris != null) + { + + if (schemaUri != null && schemaUris.isEmpty()) + { + // error, method not supported + throw new ApiLoaderException("The method " + "[" + method + "]" + " is not supported by the api.", null, this); + } + else if (!schemaUris.isEmpty() && (schemaUri == null || schemaUri.equals(documentSchemaUriConstant) || schemaUri.equals(modelSchemaUriConstant))) + { + schemaUri = schemaUris.iterator().next(); + } + + if (schemaUri != null && !schemaUris.contains(schemaUri) && !schemaUri.equals(documentSchemaUriConstant) && !schemaUri.equals(modelSchemaUriConstant)) + { + // Error, unsupported schema id + throw new ApiLoaderException("The schema " + "[" + schemaUri + "]" + " is not supported by the api.", null, this); + } + } + + if (schemaUri == null || schemaUri.equals(documentSchemaUriConstant) || schemaUri.equals(modelSchemaUriConstant)) + { + schemaUri = resource.getDefaultSchemaUri(); + } + } + + dimensionsBuilder.setSchemaUri(schemaUri); + + final String queryPart = uri.getQuery(); + if (StringUtils.isNotEmpty(queryPart)) + { + final Map queryParameters = dimensionsBuilder.getQueryParameters(); + if (queryParameters.isEmpty()) + { + final String[] queryParams = queryPart.split("&"); + for (String queryParam : queryParams) + { + final String[] queryParamNameValuePair = queryParam.split("="); + final String queryParamName = queryParamNameValuePair[0]; + final String queryParamValue = queryParamNameValuePair[1]; + queryParameters.put(queryParamName, queryParamValue); + } + } + } + + return dimensionsBuilder.toDimensions(); + } + + @Override + public final Keys buildDocumentKeys(final URI uri, final URI schemaUri) + { + + if (uri == null) + { + return null; + } + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + + final KeysBuilder keysBuilder = new KeysBuilder(schemaLoader.getDocumentSchemaUri(), uri); + + final Prototype prototype = schemaLoader.getPrototype(schemaUri); + if (prototype != null) + { + final Object documentSurrogateKeyValue = decipherDocumentSurrogateKeyValue(uri, prototype); + if (documentSurrogateKeyValue != null) + { + keysBuilder.addKey(prototype.getSchemaUri(), documentSurrogateKeyValue); + } + } + + return keysBuilder.toKeys(); + } + + @Override + public ApiLoaderConfiguration getConfig() + { + + return getContext().getConfig().getApiLoader(); + } + + @Override + public final Context getContext() + { + + return _Context; + } + + @Override + public final URI getDefaultResponseSchemaUri(final Method requestMethod, final URI uri) + { + + final ApiNavigator apiNavigator = getParentApiNavigator(uri); + + if (apiNavigator == null) + { + return null; + } + + try + { + return apiNavigator.getDefaultResponseSchemaUri(requestMethod, uri); + } + catch (ApiNavigatorException e) + { + throw new ApiLoaderException(e.getMessage(), e, this); + } + } + + @Override + public Api getLoadedApi(final Keys keys) + { + + final SchemaLoader schemaLoader = getContext().getSchemaLoader(); + final URI uri = (URI) keys.getValue(schemaLoader.getDocumentSchemaUri()); + if (uri != null && _Apis.containsKey(uri)) + { + return _Apis.get(uri); + } + + return null; + } + + @Override + public final ApiNavigator getLoadedApiNavigator(final URI apiUri) + { + + if (_SystemApiNavigators.containsKey(apiUri)) + { + return _SystemApiNavigators.get(apiUri); + } + + return _ApiNavigators.get(apiUri); + } + + @Override + public Set getLoadedApis() + { + + return new LinkedHashSet<>(_Apis.values()); + } + + @Override + public final SortedSet getLoadedApiUris() + { + + return new TreeSet<>(_Apis.keySet()); + } + + @Override + public LinkRelation getLoadedLinkRelation(final Keys keys) + { + + final SchemaLoader schemaLoader = getContext().getSchemaLoader(); + final URI uri = (URI) keys.getValue(schemaLoader.getDocumentSchemaUri()); + if (uri == null) + { + return null; + } + + if (_LinkRelations.containsKey(uri)) + { + return _LinkRelations.get(uri); + } + return null; + } + + @Override + public Set getLoadedLinkRelations() + { + + return new LinkedHashSet<>(_LinkRelations.values()); + } + + @Override + public SortedSet getLoadedLinkRelationUris() + { + + return new TreeSet<>(_LinkRelations.keySet()); + } + + @Override + public final ApiNavigator getParentApiNavigator(final URI uri) + { + + // NOTE: This method needs to be as speedy as possible as it is called with every request as part of the "routing" process + + if (uri == null) + { + throw new NullPointerException("The uri is null; cannot locate the parent REST API."); + } + + // TODO: Change this code to allow for REST API's with arbitrary paths (WRML-276) + URI parentApiUri = URIUtils.resolve(uri, ApiNavigator.DOCROOT_PATH).normalize(); + final String uriString = parentApiUri.toString(); + if (uriString.endsWith("/")) + { + parentApiUri = URI.create(uriString.substring(0, uriString.length() - 1)); + } + + return getLoadedApiNavigator(parentApiUri); + } + + @Override + public void init(final Context context) + { + + if (context == null) + { + throw new ApiLoaderException("The WRML context cannot be null.", null, this); + } + + _Context = context; + + loadSystemLinkRelations(); + loadSystemApis(); + } + + @Override + public void loadInitialState() + { + + loadConfiguredApis(); + } + + @Override + public ApiNavigator loadApi(final Api api) throws ApiLoaderException + { + + final URI apiUri = api.getUri(); + if (apiUri == null) + { + throw new ApiLoaderException("The API's URI cannot be null.", null, this); + } + + if (_SystemApiNavigators.containsKey(apiUri)) + { + // The API's URI matches a pre-loaded System API. + return _SystemApiNavigators.get(apiUri); + } + + _Apis.put(apiUri, api); + + final ApiNavigator apiNavigator = new ApiNavigator(api); + _ApiNavigators.put(apiUri, apiNavigator); + return apiNavigator; + } + + @Override + public ApiNavigator loadApi(final URI apiUri) + { + + if (apiUri == null) + { + return null; + } + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final Keys keys = buildDocumentKeys(apiUri, schemaLoader.getApiSchemaUri()); + final Dimensions dimensions = schemaLoader.getApiDimensions(); + + final Api api = context.getModel(keys, dimensions); + if (api == null) + { + throw new ApiLoaderException("The API associated with Keys:\n" + keys + "\n... and Dimensions:\n" + dimensions + " could not be loaded.", null, this); + } + + return loadApi(api); + } + + @Override + public void loadLinkRelation(final LinkRelation linkRelation) throws ApiLoaderException + { + + final URI linkRelationUri = linkRelation.getUri(); + if (linkRelationUri == null) + { + throw new ApiLoaderException("The Link Relation's URI cannot be null.", null, this); + } + + if (StringUtils.isEmpty(linkRelation.getTitle())) + { + + final String title = linkRelation.getUniqueName().getLocalName(); + linkRelation.setTitle(title); + } + + _LinkRelations.put(linkRelationUri, linkRelation); + } + + @Override + public LinkRelation loadLinkRelation(final URI linkRelationUri) + { + + if (linkRelationUri == null) + { + return null; + } + + // LinkRelations are not re-loadable + if (_LinkRelations.containsKey(linkRelationUri)) + { + return _LinkRelations.get(linkRelationUri); + } + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final Keys keys = buildDocumentKeys(linkRelationUri, schemaLoader.getLinkRelationSchemaUri()); + final Dimensions dimensions = schemaLoader.getLinkRelationDimensions(); + + final LinkRelation linkRelation = context.getModel(keys, dimensions); + if (linkRelation == null) + { + throw new ApiLoaderException("The LinkRelation associated with Keys:\n" + keys + "\n... and Dimensions:\n" + dimensions + " could not be loaded.", null, this); + } + + loadLinkRelation(linkRelation); + return linkRelation; + } + + @Override + public String toString() + { + String result = AsciiArt.express(this); + if (StringUtils.isEmpty(result)) + { + result = com.google.common.base.Objects.toStringHelper(this) // + // .add("_Context", _Context) // infinite recursion SOE if included + .add("_Apis", _Apis) // + .add("_ApiNavigators", _ApiNavigators) // + .add("_LinkRelations", _LinkRelations) // + .add("_SystemApiNavigators", _SystemApiNavigators) // + .toString(); + } + return result; + } + + protected Object decipherDocumentSurrogateKeyValue(final URI uri, final Prototype prototype) + { + + final ApiNavigator apiNavigator = getParentApiNavigator(uri); + + if (apiNavigator == null) + { + return null; + } + + final SortedSet surrogateKeyComponents = apiNavigator.getSurrogateKeyComponents(uri, prototype); + if (surrogateKeyComponents == null || surrogateKeyComponents.isEmpty()) + { + return null; + } + + final Set allKeySlotNames = prototype.getAllKeySlotNames(); + + final Object surrogateKeyValue; + if (surrogateKeyComponents.size() == 1) + { + final Parameter surrogateKeyPair = surrogateKeyComponents.first(); + + final String slotName = surrogateKeyPair.getName(); + if (!allKeySlotNames.contains(slotName)) + { + return null; + } + + final String slotTextValue = surrogateKeyPair.getValue(); + final Object slotValue = parseSlotValueSyntacticText(prototype, slotName, slotTextValue); + + surrogateKeyValue = slotValue; + } + else + { + + final SortedMap keySlots = new TreeMap(); + + for (final Parameter surrogateKeyPair : surrogateKeyComponents) + { + + final String slotName = surrogateKeyPair.getName(); + if (!allKeySlotNames.contains(slotName)) + { + continue; + } + + final String slotTextValue = surrogateKeyPair.getValue(); + final Object slotValue = parseSlotValueSyntacticText(prototype, slotName, slotTextValue); + + if (slotValue == null) + { + continue; + } + + keySlots.put(slotName, slotValue); + + } + + if (keySlots.size() == 1) + { + surrogateKeyValue = keySlots.get(keySlots.firstKey()); + } + else + { + surrogateKeyValue = new CompositeKey(keySlots); + } + } + + return surrogateKeyValue; + + } + + protected final Dimensions getApiDimensions() + { + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + return schemaLoader.getApiDimensions(); + } + + protected final Dimensions getLinkRelationDimensions() + { + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + return schemaLoader.getLinkRelationDimensions(); + } + + private void loadConfiguredApis() + { + + final ApiLoaderConfiguration config = getConfig(); + if (config != null) + { + final URI[] apiUriArray = config.getApis(); + if (apiUriArray != null && apiUriArray.length > 0) + { + for (final URI apiUri : apiUriArray) + { + loadApi(apiUri); + } + } + } + } + + private void loadSystemApis() + { + + final Context context = getContext(); + + for (final SystemApi systemApi : SystemApi.values()) + { + + final ApiBuilder apiBuilder = new ApiBuilder(context); + + apiBuilder.uri(systemApi.getUri()).title(systemApi.getTitle()).description(systemApi.getDescription()); + + apiBuilder.resource(SYSTEM_API_DOCROOT_FULL_PATH, systemApi.getDocrootId()); + apiBuilder.resource(SYSTEM_API_PRIMARY_ENDPOINT_FULL_PATH, systemApi.getPrimaryEndpointId(), systemApi.getDefaultSchemaInterface(), true); + + // TODO: Rework the SchemaNamespace + /* + * if (systemApi == SystemApi.Schema) { apiBuilder.link(SYSTEM_API_DOCROOT_FULL_PATH, SystemLinkRelation.self.getUri(), SYSTEM_API_DOCROOT_FULL_PATH, + * SchemaNamespace.class); apiBuilder.link(SYSTEM_API_DOCROOT_FULL_PATH, SystemLinkRelation.element.getUri(), SYSTEM_API_PRIMARY_ENDPOINT_FULL_PATH, Schema.class); + * apiBuilder.link(SYSTEM_API_DOCROOT_FULL_PATH, SystemLinkRelation.child.getUri(), SYSTEM_API_PRIMARY_ENDPOINT_FULL_PATH, SchemaNamespace.class); + * apiBuilder.link(SYSTEM_API_PRIMARY_ENDPOINT_FULL_PATH, SystemLinkRelation.element.getUri(), SYSTEM_API_PRIMARY_ENDPOINT_FULL_PATH, Schema.class); + * apiBuilder.link(SYSTEM_API_PRIMARY_ENDPOINT_FULL_PATH, SystemLinkRelation.child.getUri(), SYSTEM_API_PRIMARY_ENDPOINT_FULL_PATH, SchemaNamespace.class); } + */ + + final Api api = apiBuilder.toApi(); + final URI apiUri = api.getUri(); + + _Apis.put(apiUri, api); + + final ApiNavigator systemApiNavigator = new ApiNavigator(api); + _SystemApiNavigators.put(apiUri, systemApiNavigator); + } + } + + private void loadSystemLinkRelations() + { + + final Context context = getContext(); + + for (final SystemLinkRelation systemLinkRelation : SystemLinkRelation.values()) + { + final LinkRelation linkRelation = context.newModel(LinkRelation.class); + + final UniqueName uniqueName = systemLinkRelation.getUniqueName(); + linkRelation.setUniqueName(uniqueName); + linkRelation.setMethod(systemLinkRelation.getMethod()); + linkRelation.setUri(systemLinkRelation.getUri()); + linkRelation.setTitle(uniqueName.getLocalName()); + + loadLinkRelation(linkRelation); + } + } + + private Object parseSlotValueSyntacticText(final Prototype prototype, final String slotName, final String slotTextValue) + { + + final ProtoSlot protoSlot = prototype.getProtoSlot(slotName); + if (protoSlot == null) + { + return null; + } + + final Type slotType = protoSlot.getHeapValueType(); + + final SyntaxLoader syntaxLoader = getContext().getSyntaxLoader(); + + final Object slotValue = syntaxLoader.parseSyntacticText(slotTextValue, slotType); + return slotValue; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/rest/DefaultApiLoaderFactory.java b/core/src/main/java/org/wrml/runtime/rest/DefaultApiLoaderFactory.java new file mode 100644 index 0000000..4c5ec39 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/DefaultApiLoaderFactory.java @@ -0,0 +1,38 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +import org.wrml.runtime.Factory; + +public class DefaultApiLoaderFactory implements Factory +{ + @Override + public ApiLoader create() + { + + return new DefaultApiLoader(); + } +} diff --git a/core/src/main/java/org/wrml/runtime/rest/HeaderCategory.java b/core/src/main/java/org/wrml/runtime/rest/HeaderCategory.java new file mode 100644 index 0000000..4b51352 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/HeaderCategory.java @@ -0,0 +1,55 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +// Generated from a Web Resource Schema +public enum HeaderCategory +{ + + GENERAL("General"), + REQUEST("Request"), + RESPONSE("Response"), + ENTITY("Entity"), + EXTENSION("Extension"); + + private final String _Name; + + private HeaderCategory(final String name) + { + _Name = name; + } + + public String getName() + { + return _Name; + } + + @Override + public String toString() + { + return getName(); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/rest/MediaType.java b/core/src/main/java/org/wrml/runtime/rest/MediaType.java new file mode 100644 index 0000000..79ac30c --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/MediaType.java @@ -0,0 +1,301 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +import org.apache.commons.lang3.StringUtils; + +import java.util.HashMap; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class MediaType implements Comparable +{ + + public static final String NAME_SEPARATOR = "/"; + + public static final String WILDCARD = "*"; + + public static final String PRECEDENCE_PARAM = "q"; + + public static final Pattern CONTENT_TYPE_HEADER_PATTERN = Pattern.compile(CommonHeader.CONTENT_TYPE.getName() + ": (.*)"); + + public static final Pattern PARAM_SEPARATOR_PATTERN = Pattern.compile("( +)?([^;]*)((;( +)?(.*))+)?"); + + public static final Pattern NAME_SEPARATOR_PATTERN = Pattern.compile("(.*)/(.*)"); + + public static final Pattern EQUAL_SEPARATOR_PATTERN = Pattern.compile(";( *)([^=]+)=?(\"([^\"]+)(\"))?([^;]*)?"); + + private final String _Type; + + private final String _SubType; + + private final Map _Parameters; + + public MediaType(final String mediaTypeString) throws MediaTypeException + { + + final Matcher contentTypePrefixMatcher = CONTENT_TYPE_HEADER_PATTERN.matcher(mediaTypeString); + + // Strip off Content-Type string if present + String shortString = mediaTypeString; + if (contentTypePrefixMatcher.find()) + { + shortString = contentTypePrefixMatcher.group(1); + } + + final Matcher content = PARAM_SEPARATOR_PATTERN.matcher(shortString); + if (content.find()) + { + final String combinedType = content.group(2); + final String combinedParams = content.group(3); + final Matcher typeNameMatcher = NAME_SEPARATOR_PATTERN.matcher(combinedType); + if (typeNameMatcher.find()) + { + _Type = typeNameMatcher.group(1); + _SubType = typeNameMatcher.group(2); + } + else + { + throw new MediaTypeException("Unable to extract major/minor type information."); + } + + _Parameters = new HashMap(); + if (combinedParams != null && !combinedParams.equals("")) + { + final Matcher paramSeparator = EQUAL_SEPARATOR_PATTERN.matcher(combinedParams); + while (paramSeparator.find()) + { + if (paramSeparator.group(4) != null) + { + _Parameters.put(paramSeparator.group(2), paramSeparator.group(4)); + } + else + { + _Parameters.put(paramSeparator.group(2), paramSeparator.group(6)); + } + } + } + } + else + { + throw new MediaTypeException("Unable to construct MediaType from string " + mediaTypeString); + } + } + + public MediaType(final String type, final String subtype) + { + + this(type, subtype, null); + } + + public MediaType(final String type, final String subtype, final Map parameters) + { + + if (StringUtils.isEmpty(type)) + { + throw new IllegalArgumentException("The type portion of the media type is required."); + } + + _Type = type; + + if (StringUtils.isEmpty(subtype)) + { + throw new IllegalArgumentException("The subtype portion of the media type is required."); + } + + _SubType = subtype; + + + if (parameters != null) + { + _Parameters = parameters; + } + else + { + _Parameters = new HashMap<>(); + } + } + + @Override + public int compareTo(final MediaType other) + { + + final String ourQValue = getParameter(PRECEDENCE_PARAM); + final String theirQValue = other.getParameter(PRECEDENCE_PARAM); + + if (ourQValue == null) + { + if (theirQValue != null) + { + // our value is greater in precedence + return -1; + } + else + { + // We're equal; + return 0; + } + } + + if (theirQValue == null) + { + return 1; + } + + final Double ourQ = Double.valueOf(ourQValue); + final Double theirQ = Double.valueOf(theirQValue); + + if (ourQ == theirQ) + { + return 0; + } + else if (ourQ > theirQ) + { + return -1; + } + else + { + return 1; + } + + } + + public String getFullType() + { + + return _Type + NAME_SEPARATOR + _SubType; + } + + public String getParameter(final String name) + { + + return _Parameters.get(name); + } + + public String setParameter(final String name, final String value) + { + + return _Parameters.put(name, value); + } + + public Map getParameters() + { + + return _Parameters; + } + + public String getSubType() + { + + return _SubType; + } + + public String getType() + { + + return _Type; + } + + public String toContentType() + { + + final StringBuffer buffer = new StringBuffer(); + buffer.append(getFullType()); + if (_Parameters.containsKey(SystemMediaType.PARAMETER_NAME_SCHEMA)) + { + buffer.append("; ").append(SystemMediaType.PARAMETER_NAME_SCHEMA).append("=\"") + .append(_Parameters.get(SystemMediaType.PARAMETER_NAME_SCHEMA)).append("\""); + } + + if (_Parameters.containsKey(SystemMediaType.PARAMETER_NAME_FORMAT)) + { + buffer.append("; ").append(SystemMediaType.PARAMETER_NAME_FORMAT).append("=\"") + .append(_Parameters.get(SystemMediaType.PARAMETER_NAME_FORMAT)).append("\""); + } + + return buffer.toString(); + } + + @Override + public String toString() + { + + return getFullType(); + } + + @Override + public boolean equals(final Object o) + { + + if (this == o) + { + return true; + } + if (o == null || getClass() != o.getClass()) + { + return false; + } + + final MediaType mediaType = (MediaType) o; + + if (!_Parameters.equals(mediaType._Parameters)) + { + return false; + } + if (!_SubType.equals(mediaType._SubType)) + { + return false; + } + if (!_Type.equals(mediaType._Type)) + { + return false; + } + + return true; + } + + @Override + public int hashCode() + { + + int result = _Type.hashCode(); + result = 31 * result + _SubType.hashCode(); + result = 31 * result + _Parameters.hashCode(); + return result; + } + + public class MediaTypeException extends Exception + { + + private static final long serialVersionUID = 1L; + + MediaTypeException(final String message) + { + + super(message); + } + } +} diff --git a/core/src/main/java/org/wrml/runtime/rest/Parameter.java b/core/src/main/java/org/wrml/runtime/rest/Parameter.java new file mode 100644 index 0000000..4140a2b --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/Parameter.java @@ -0,0 +1,86 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +/** + * A value that is named for identification while passing. + */ +public final class Parameter implements Comparable +{ + + private String _Name; + + private String _Value; + + public Parameter(final String name, final String value) + { + + _Name = name; + _Value = value; + } + + @Override + public int compareTo(final Parameter p) + { + + if (p.getName() == null && _Name == null) + { + return 0; + } + + return _Name.compareTo(p.getName()); + } + + public String getName() + { + + return _Name; + } + + public void setName(final String name) + { + + _Name = name; + } + + public String getValue() + { + + return _Value; + } + + public void setValue(final String value) + { + + _Value = value; + } + + @Override + public String toString() + { + + return "{ \"name\" : " + _Name + ", \"value\" : " + _Value + "}"; + } +} diff --git a/core/src/main/java/org/wrml/runtime/rest/Resource.java b/core/src/main/java/org/wrml/runtime/rest/Resource.java new file mode 100644 index 0000000..94b5168 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/Resource.java @@ -0,0 +1,565 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.Model; +import org.wrml.model.rest.Api; +import org.wrml.model.rest.LinkRelation; +import org.wrml.model.rest.LinkTemplate; +import org.wrml.model.rest.Method; +import org.wrml.model.rest.ResourceTemplate; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.schema.LinkProtoSlot; +import org.wrml.runtime.schema.ProtoValueSource; +import org.wrml.runtime.schema.Prototype; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.runtime.syntax.SyntaxLoader; + +import java.net.URI; +import java.util.ArrayList; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; +import com.google.common.collect.ComparisonChain; + +/** + * A runtime manifestation of a specific {@link Api}'s specific {@link ResourceTemplate} (REST API URI tree node). + */ +public class Resource implements Comparable +{ + + private static final Logger LOGGER = LoggerFactory.getLogger(Resource.class); + + private static final String TO_STRING_FORMAT = "{\"Resource\" : { \"ResourceTemplateId\" : \"%s\",\"UriTemplate\" : %s,\"FullPath\" : \"%s\"}}"; + + /** + * The {@link ApiNavigator} that owns us. + */ + private final ApiNavigator _ApiNavigator; + + private final ResourceTemplate _ResourceTemplate; + + private final UriTemplate _UriTemplate; + + private final Resource _ParentResource; + + private final String _FullPath; + + private final ConcurrentHashMap _LiteralPathSubresources; + + private final ConcurrentHashMap _VariablePathSubresources; + + /** + * The ways in which resources may reference us. + */ + private final ConcurrentHashMap _ReferenceTemplates; + + private final ConcurrentHashMap> _ReferenceTemplateMethodToLinkRelationUrisMap; + + private final ConcurrentHashMap> _ReferenceTemplateMethodToRequestSchemaUrisMap; + + private final ConcurrentHashMap> _ReferenceTemplateMethodToResponseSchemaUriMap; + + /** + * The ways in which we may link to (or reference) resources. + */ + private final ConcurrentHashMap _LinkTemplates; + + /** + *

+ * The {@link Resource} constructor compiles a "chunk" of the {@link Api} metadata; an individual + * {@link ResourceTemplate}. It is part of a runtime-constructed tree structure that represents each URI path '/' as + * a hierarchical tree of {@link Resource} nodes. + *

+ *

+ *

+ * If an {@link Api} were a regex input string, and an {@link ApiNavigator} was its corresponding Regex compilation; + * then a {@link Resource} would be a subexpression, a nested component within the compiled (optimized) regex. The + * {@link Resource} (along with the {@link ApiNavigator}) compile {@link Api} metadata so that it is ready to be + * used by the runtime for "pattern matching" (request routing by the framework). + *

+ */ + Resource(final ApiNavigator apiNavigator, final ResourceTemplate resourceTemplate, final Resource parentResource) + { + + if (apiNavigator == null) + { + throw new ResourceException("The apiNavigator may not be null", null, this); + } + + if (resourceTemplate == null) + { + throw new ResourceException("The resource template may not be null", null, this); + } + + _ApiNavigator = apiNavigator; + _ResourceTemplate = resourceTemplate; + _ParentResource = parentResource; + _FullPath = getFullPath(parentResource); + + final Api api = apiNavigator.getApi(); + final Context context = api.getContext(); + final ApiLoader apiLoader = context.getApiLoader(); + final SyntaxLoader syntaxLoader = context.getSyntaxLoader(); + + final URI apiUri = api.getUri(); + + final String uriTemplateString = StringUtils.join(apiUri.toString(), _FullPath); + LOGGER.debug("creating resource with uriTemplateString={} and _FullPath={}", uriTemplateString, _FullPath); + + _UriTemplate = new UriTemplate(syntaxLoader, uriTemplateString); + _LiteralPathSubresources = new ConcurrentHashMap(); + _VariablePathSubresources = new ConcurrentHashMap(); + _LinkTemplates = new ConcurrentHashMap(); + + // The reference templates are API metadata that describe possible "request/link" types that may target this + // resource as an endpoint. + _ReferenceTemplates = new ConcurrentHashMap(); + + _ReferenceTemplateMethodToLinkRelationUrisMap = new ConcurrentHashMap>(); + _ReferenceTemplateMethodToRequestSchemaUrisMap = new ConcurrentHashMap>(); + _ReferenceTemplateMethodToResponseSchemaUriMap = new ConcurrentHashMap>(); + + final UUID resourceTemplateId = _ResourceTemplate.getUniqueId(); + + final List linkTemplates = api.getLinkTemplates(); + for (final LinkTemplate linkTemplate : linkTemplates) + { + + final URI linkRelationUri = linkTemplate.getLinkRelationUri(); + if (linkRelationUri == null) + { + continue; + } + + final UUID endPointId = linkTemplate.getEndPointId(); + if (endPointId != null && endPointId.equals(resourceTemplateId)) + { + _ReferenceTemplates.put(linkRelationUri, linkTemplate); + + final LinkTemplate reference = linkTemplate; + + // Each reference has an associate link relation which is it's "metafunction". + + final SchemaLoader schemaLoader = apiLoader.getContext().getSchemaLoader(); + + final Keys relKeys = apiLoader.buildDocumentKeys(linkRelationUri, schemaLoader.getLinkRelationSchemaUri()); + + final Dimensions relDimensions = apiNavigator.getLinkRelationDimensions(); + final LinkRelation rel = context.getModel(relKeys, relDimensions); + + // The interaction method associated with the link relation matches the parameter. + + final Method requestMethod = rel.getMethod(); + + if (!_ReferenceTemplateMethodToLinkRelationUrisMap.containsKey(requestMethod)) + { + _ReferenceTemplateMethodToLinkRelationUrisMap.put(requestMethod, new LinkedHashSet()); + } + + final Set linkRelationUris = _ReferenceTemplateMethodToLinkRelationUrisMap.get(requestMethod); + linkRelationUris.add(linkRelationUri); + + if (!_ReferenceTemplateMethodToRequestSchemaUrisMap.containsKey(requestMethod)) + { + _ReferenceTemplateMethodToRequestSchemaUrisMap.put(requestMethod, new LinkedHashSet()); + } + + final Set requestSchemaUris = _ReferenceTemplateMethodToRequestSchemaUrisMap.get(requestMethod); + + // The API's reference template may have defined its own API-specific argument type + final URI referenceRequestSchemaUri = reference.getRequestSchemaUri(); + if (referenceRequestSchemaUri != null) + { + requestSchemaUris.add(referenceRequestSchemaUri); + } + + // The reference's link relation may have defined a generic, reusable argument type + final URI relRequestSchemaUri = rel.getRequestSchemaUri(); + if (relRequestSchemaUri != null) + { + requestSchemaUris.add(relRequestSchemaUri); + } + + if (!_ReferenceTemplateMethodToResponseSchemaUriMap.containsKey(requestMethod)) + { + _ReferenceTemplateMethodToResponseSchemaUriMap.put(requestMethod, new LinkedHashSet()); + } + + final Set responseSchemaUris = _ReferenceTemplateMethodToResponseSchemaUriMap.get(requestMethod); + + // The API's reference template may have defined its own API-specific response type + final URI referenceResponseSchemaUri = reference.getResponseSchemaUri(); + if (referenceResponseSchemaUri != null) + { + responseSchemaUris.add(referenceResponseSchemaUri); + } + + // The reference's link relation may have defined a generic, reusable response type + final URI relResponseSchemaUri = rel.getResponseSchemaUri(); + if (relResponseSchemaUri != null) + { + responseSchemaUris.add(relResponseSchemaUri); + } + + } + + final UUID referrerId = linkTemplate.getReferrerId(); + if (referrerId != null && referrerId.equals(resourceTemplateId)) + { + _LinkTemplates.put(linkRelationUri, linkTemplate); + } + + } + + } + + private final String getFullPath(final Resource parentResource) + { + final StringBuffer sb = new StringBuffer(); + boolean appendPathSeparator = true; + if (parentResource != null && parentResource.getPathText() != null) + { + final String text = parentResource.getPathText(); + sb.append(text); + if (text.endsWith(ApiNavigator.PATH_SEPARATOR)) + appendPathSeparator = false; + } + if (appendPathSeparator) + sb.append(ApiNavigator.PATH_SEPARATOR); + final String pathSegment = getPathSegment(); + if (StringUtils.isNotEmpty(pathSegment)) + sb.append(pathSegment); + return sb.toString(); + } + + /** @return a flattened {@link List} of all child and sub-child {@link Resource}s (recursive). */ + public List getAllChildResources() + { + final List allChildResources = new LinkedList<>(); + final List childResourceTemplates = this._ResourceTemplate.getChildren(); + for (final ResourceTemplate childResourceTemplate : childResourceTemplates) + { + final Resource childResource = this._ApiNavigator.getResource(childResourceTemplate.getUniqueId()); + if (childResource != null) + { + allChildResources.add(childResource); + allChildResources.addAll(childResource.getAllChildResources()); + } + } + + return allChildResources; + } + + /** + * @return the {@link ApiNavigator} that owns this {@link Resource}. + */ + public ApiNavigator getApiNavigator() + { + + return _ApiNavigator; + } + + public Set getRequestSchemaUris(final Method requestMethod) + { + + return _ReferenceTemplateMethodToRequestSchemaUrisMap.get(requestMethod); + } + + public URI getDefaultSchemaUri() + { + + return getResourceTemplate().getDefaultSchemaUri(); + } + + /** + * A mapping of {@link LinkRelation} id ({@link URI}) to {@link LinkTemplate} model instance. This (conceptual) set + * of {@link LinkTemplate}s represent the ways in which we may link to (reference) resources. + * + * @return A map of link relation id to link template, which communicates the ways that this {@link Resource} may + * reference other {@link Resource}s. + */ + public ConcurrentHashMap getLinkTemplates() + { + + return _LinkTemplates; + } + + public ConcurrentHashMap getLiteralPathSubresources() + { + + return _LiteralPathSubresources; + } + + public Resource getParentResource() + { + + return _ParentResource; + } + + public List getPath(final boolean includeDocroot) + { + + final List path = new ArrayList<>(); + Resource parent = getParentResource(); + + if (!includeDocroot && parent == null) + { + return path; + } + + path.add(this); + + if (parent == null) + { + return path; + } + + while (parent != null) + { + path.add(parent); + parent = parent.getParentResource(); + } + + if (!includeDocroot) + { + path.remove(path.size() - 1); + } + + Collections.reverse(path); + + return path; + } + + public String getPathSegment() + { + + return this._ResourceTemplate.getPathSegment(); + } + + public String getPathText() + { + + return _FullPath; + } + + public Set getReferenceLinkRelationUris(final Method requestMethod) + { + + return _ReferenceTemplateMethodToLinkRelationUrisMap.get(requestMethod); + } + + /** + * A mapping of {@link LinkRelation} id ({@link URI}) to {@link LinkTemplate} model instance. This (conceptual) set + * of {@link LinkTemplate}s represent the ways in which other resources may link to (reference) us. + * + * @return The ways that we may be referenced by other resources. + */ + public ConcurrentHashMap getReferenceTemplates() + { + + return _ReferenceTemplates; + } + + public ResourceTemplate getResourceTemplate() + { + + return _ResourceTemplate; + } + + public UUID getResourceTemplateId() + { + + if (_ResourceTemplate == null) + { + return null; + } + return _ResourceTemplate.getUniqueId(); + } + + public Set getResponseSchemaUris(final Method requestMethod) + { + + return _ReferenceTemplateMethodToResponseSchemaUriMap.get(requestMethod); + } + + /** + * Generates the "href" URI used to refer to this resource from the specified referrer {@link Model} instance using + * the specified {@link LinkRelation} {@link URI} value. + */ + public URI getUri(final Model referrer, final URI referenceRelationUri) + { + + if (referrer == null) + { + return null; + } + + /* + * Given the nature of the Api's ResourceTemplate metadata tree, the runtime resource can determine its own + * UriTemplate (and it only needs to determine/compute this once). + */ + + final UriTemplate uriTemplate = getUriTemplate(); + if (uriTemplate == null) + { + return null; + } + + /* + * Get the end point id's templated parameter names, for example: a UriTemplate might have slots that look like + * {teamId} or {highScoreId} or {name} appearing where legal (according to UriTemplate syntax, see: + * http://tools.ietf.org/html/rfc6570). A fixed URI, meaning a UriTemplate with no variables, will return null + * here. + */ + final String[] uriTemplateParameterNames = this._UriTemplate.getParameterNames(); + + Map parameterMap = null; + + if (uriTemplateParameterNames != null && uriTemplateParameterNames.length > 0) + { + + // Get the Link slot's bindings, which may be used to provide an alternative source for one or more URI + // template parameter values. + final Prototype referrerPrototype = referrer.getPrototype(); + final LinkProtoSlot linkProtoSlot = referrerPrototype.getLinkProtoSlots().get(referenceRelationUri); + final Map linkSlotBindings = linkProtoSlot.getLinkSlotBindings(); + + parameterMap = new LinkedHashMap<>(uriTemplateParameterNames.length); + + for (final String paramName : uriTemplateParameterNames) + { + + final Object paramValue; + + if (linkSlotBindings.containsKey(paramName)) + { + // The link slot has declared a binding to an alternate source for this URI template parameter's + // value. + final ProtoValueSource valueSource = linkSlotBindings.get(paramName); + paramValue = valueSource.getValue(referrer); + } + else + { + // By default, if the end point's UriTemplate has parameters (blanks) to fill in, then by convention + // we + // assume that the referrer model has the corresponding slot values to match the UriTemplate's + // inputs/slots. + // + // Put simply, (by default) referrer model slot names "match" UriTemplate param names. + // + // This enforces that the model's own represented resource state is the only thing used to + // (automatically) drive the link-based graph traversal (aka HATEOAS). Its also a simple convention + // that + // is (reasonably) easy to comprehend, hopefully even intuitive. + + paramValue = referrer.getSlotValue(paramName); + } + + parameterMap.put(paramName, paramValue); + } + } + + final URI uri = this._UriTemplate.evaluate(parameterMap); + return uri; + + } + + public UriTemplate getUriTemplate() + { + + return _UriTemplate; + } + + /** + * @return a sorted map of variable path child resources (i.e. {keySlotName}) + */ + public ConcurrentHashMap getVariablePathSubresources() + { + + return _VariablePathSubresources; + } + + public boolean isDocroot() + { + + return (getParentResource() == null); + } + + /** + * Adds a resource to this resource's list of subresources, differentiating based on its inclusion of the { + * character whether it's a literal or variable subresource + * + * @param subresource + */ + void addSubresource(final Resource subresource) + { + + final String pathSegment = subresource.getPathSegment(); + if (StringUtils.containsAny(pathSegment, '{')) + { + addVariablePathSubresource(pathSegment, subresource); + } + else + { + addLiteralPathSubresource(pathSegment, subresource); + } + } + + private void addLiteralPathSubresource(final String pathSegment, final Resource subresource) + { + + _LiteralPathSubresources.put(pathSegment, subresource); + } + + private void addVariablePathSubresource(final String pathSegment, final Resource subresource) + { + + _VariablePathSubresources.put(pathSegment, subresource); + } + + @Override + public String toString() + { + return String.format(TO_STRING_FORMAT, getResourceTemplateId(), _UriTemplate, _FullPath); + } + + @Override + public int compareTo(final Resource otherResource) + { + return ComparisonChain.start().compare(this._FullPath, otherResource._FullPath).result(); + } +} diff --git a/core/src/main/java/org/wrml/runtime/rest/ResourceException.java b/core/src/main/java/org/wrml/runtime/rest/ResourceException.java new file mode 100644 index 0000000..2cd0729 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/ResourceException.java @@ -0,0 +1,47 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +/** + * The {@link Resource}'s associated error type. + */ +public class ResourceException extends RuntimeException +{ + + private static final long serialVersionUID = 1L; + + private final Resource _Resource; + + ResourceException(final String message, final Throwable cause, final Resource resource) + { + super(message, cause); + _Resource = resource; + } + + public Resource getResource() + { + return _Resource; + } +} diff --git a/core/src/main/java/org/wrml/runtime/rest/RestUtils.java b/core/src/main/java/org/wrml/runtime/rest/RestUtils.java new file mode 100644 index 0000000..990676f --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/RestUtils.java @@ -0,0 +1,383 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +import org.apache.commons.lang3.StringUtils; +import org.apache.http.Header; +import org.apache.http.HttpResponse; +import org.apache.http.NameValuePair; +import org.apache.http.client.utils.URLEncodedUtils; +import org.apache.http.message.BasicHeader; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.DimensionsBuilder; +import org.wrml.runtime.syntax.SyntaxLoader; + +import java.io.UnsupportedEncodingException; +import java.net.URI; +import java.net.URLEncoder; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * Set of reusable utility functions related to REST. + */ +public final class RestUtils +{ + + public static final String DEFAULT_ENCODING = "UTF-8"; + + public static final Pattern ACCEPT = Pattern.compile(CommonHeader.ACCEPT.getName() + ": (.*)"); + + public static final Pattern ACCEPT_MAJOR = Pattern.compile("([^,]+)"); + + public static final Pattern ACCEPT_TYPE_PARAM_SEP = Pattern.compile("( +)?([^;]*)((;( +)?(.*))+)?"); + + public static final Pattern ACCEPT_TYPE_SEP = Pattern.compile("(.*)/(.*)"); + + public static final Pattern ACCEPT_PARAM = Pattern.compile(";( )*([^;]+)?"); + + public static final Pattern ACCEPT_PARAM_SEP = Pattern.compile("([^=]+)=?(\"([^\"]+)(\"))?(.*)?"); + + public static final Pattern CONTENT_TYPE = Pattern.compile(CommonHeader.CONTENT_TYPE.getName() + ": (.*)"); + + public static final Pattern CONTENT_TYPE_TYPE_PARAM_SEP = Pattern.compile("([^;/]*)/([^;/]*)((;( +)?(.*))+)?"); + + public static final Pattern CONTENT_TYPE_PARAM_SEP = Pattern.compile(";( )*([^;=]+)=(\"([^\"]+)(\"))?([^;]+)?"); + + public static final URI encodeUri(final URI uri) + { + + String uriString; + try + { + uriString = URLEncoder.encode(uri.toString(), DEFAULT_ENCODING); + } + catch (final UnsupportedEncodingException e) + { + return null; + } + + return URI.create(uriString); + } + + public static MediaType extractMediaTypeFromContentTypeHeaderValue(String contentTypeHeaderValue) + { + + MediaType mediaType = null; + + if (contentTypeHeaderValue == null) + { + return mediaType; + } + + final Matcher contentWrap = CONTENT_TYPE.matcher(contentTypeHeaderValue); + + if (contentWrap.find()) + { + contentTypeHeaderValue = contentWrap.group(1); + final Matcher content = CONTENT_TYPE_TYPE_PARAM_SEP.matcher(contentTypeHeaderValue); + if (content.find()) + { + final String majorType = content.group(1); + final String subType = content.group(2); + + final Map parameters = new HashMap<>(); + final String params = content.group(4); + if (params != null && !params.equals("")) + { + final Matcher paramM = CONTENT_TYPE_PARAM_SEP.matcher(params); + while (paramM.find()) + { + if (paramM.group(4) != null) + { + parameters.put(paramM.group(2), paramM.group(4)); + } + else + { + parameters.put(paramM.group(2), paramM.group(6)); + } + } + } + mediaType = new MediaType(majorType, subType, parameters); + } + } + + return mediaType; + } + + public static final MediaType extractMediaTypeFromDimensions(final Context context, final Dimensions dimensions) + { + + final URI defaultFormatUri = context.getFormatLoader().getDefaultFormatUri(); + final Map mediaTypeParameters = new LinkedHashMap<>(6); + + mediaTypeParameters.put(SystemMediaType.PARAMETER_NAME_SCHEMA, dimensions.getSchemaUri().toString()); + mediaTypeParameters.put(SystemMediaType.PARAMETER_NAME_FORMAT, defaultFormatUri.toString()); + + final List embeddedLinkSlotNames = dimensions.getEmbeddedLinkSlotNames(); + if (embeddedLinkSlotNames != null && !embeddedLinkSlotNames.isEmpty()) + { + mediaTypeParameters.put(SystemMediaType.PARAMETER_NAME_EMBED, + RestUtils.formatListString(embeddedLinkSlotNames)); + } + + final List excludedSlotNames = dimensions.getExcludedSlotNames(); + if (excludedSlotNames != null && !excludedSlotNames.isEmpty()) + { + mediaTypeParameters.put(SystemMediaType.PARAMETER_NAME_EXCLUDE, + RestUtils.formatListString(excludedSlotNames)); + } + else + { + // INCLUDE and EXCLUDE are mutually exclusive paramaters, with precedence given to exclude (if both are + // present). + final List includedSlotNames = dimensions.getIncludedSlotNames(); + if (includedSlotNames != null && !includedSlotNames.isEmpty()) + { + mediaTypeParameters.put(SystemMediaType.PARAMETER_NAME_INCLUDE, + RestUtils.formatListString(includedSlotNames)); + } + } + + final MediaType mediaType = new MediaType(SystemMediaType.TYPE_APPLICATION, SystemMediaType.SUBTYPE_WRML, + mediaTypeParameters); + + return mediaType; + } + + public static List extractMediaTypesFromAcceptHeaderValue(String acceptsHeaderValue) + { + + final List mediaTypes = new ArrayList<>(); + + if (acceptsHeaderValue == null) + { + return mediaTypes; + } + + Matcher accept = ACCEPT.matcher(acceptsHeaderValue); + + // Remove front if present + if (accept.find()) + { + acceptsHeaderValue = accept.group(1); + } + + accept = ACCEPT_MAJOR.matcher(acceptsHeaderValue); + + while (accept.find()) + { + final String group = accept.group(); + final Matcher typeParam = ACCEPT_TYPE_PARAM_SEP.matcher(group); + + if (typeParam.find()) + { + final String uberType = typeParam.group(2); + final String uberParams = typeParam.group(3); + + final Matcher typeM = ACCEPT_TYPE_SEP.matcher(uberType); + + String majorType = ""; + String subType = ""; + if (typeM.find()) + { + majorType = typeM.group(1); + subType = typeM.group(2); + } + + final Map parameters = new HashMap<>(); + if (uberParams != null && !uberParams.equals("")) + { + final Matcher params = ACCEPT_PARAM.matcher(uberParams); + + while (params.find()) + { + final String param = params.group(2); + final Matcher paramSep = ACCEPT_PARAM_SEP.matcher(param); + + if (paramSep.find()) + { + if (paramSep.group(3) != null) + { + parameters.put(paramSep.group(1), paramSep.group(3)); + } + else + { + parameters.put(paramSep.group(1), paramSep.group(5)); + } + } + } + } + + mediaTypes.add(new MediaType(majorType, subType, parameters)); + } + } + + Collections.sort(mediaTypes); + + return mediaTypes; + } + + public static final Set
extractRequestHeaders(final Context context, final Dimensions requestedDimensions) + { + + final Set
headers = new LinkedHashSet<>(); + final String acceptHeaderValue = RestUtils.extractMediaTypeFromDimensions(context, requestedDimensions) + .toString(); + final Header acceptHeader = new BasicHeader(CommonHeader.ACCEPT.getName(), acceptHeaderValue); + headers.add(acceptHeader); + + final URI referrerUri = requestedDimensions.getReferrerUri(); + if (referrerUri != null) + { + headers.add(new BasicHeader(CommonHeader.REFERER.getName(), referrerUri.toString())); + } + + final Locale locale = requestedDimensions.getLocale(); + if (locale != null) + { + final SyntaxLoader syntaxLoader = context.getSyntaxLoader(); + final String languageHeaderValue = syntaxLoader.formatSyntaxValue(locale); + headers.add(new BasicHeader(CommonHeader.ACCEPT_LANGUAGE.getName(), languageHeaderValue)); + } + + final Map metadataMap = requestedDimensions.getMetadata(); + if (metadataMap != null && !metadataMap.isEmpty()) + { + for (final String metadataName : metadataMap.keySet()) + { + final String metadataValue = metadataMap.get(metadataName); + final Header additionalHeader = new BasicHeader(metadataName, metadataValue); + headers.add(additionalHeader); + } + } + + return headers; + } + + public static final Dimensions extractResponseDimensions(final Context context, final HttpResponse response, + final Dimensions requestedDimensions) + { + + final DimensionsBuilder dimensionsBuilder = new DimensionsBuilder(); + URI schemaURI = null; + final Header contentTypeHeader = response.getFirstHeader(CommonHeader.CONTENT_TYPE.getName()); + if (contentTypeHeader != null) + { + final String contentTypeHeaderValue = contentTypeHeader.getValue(); + final MediaType mediaType = RestUtils.extractMediaTypeFromContentTypeHeaderValue(contentTypeHeaderValue); + if (mediaType != null) + { + final String schemaUriString = mediaType.getParameter(SystemMediaType.PARAMETER_NAME_SCHEMA); + if (schemaUriString != null) + { + schemaURI = URI.create(schemaUriString); + } + } + } + + if (schemaURI == null) + { + schemaURI = requestedDimensions.getSchemaUri(); + } + + dimensionsBuilder.setSchemaUri(schemaURI); + + final Header contentLanguageheader = response.getFirstHeader(CommonHeader.CONTENT_LANGUAGE.getName()); + if (contentLanguageheader != null) + { + String languageTag = contentLanguageheader.getValue(); + if (languageTag != null) + { + if (languageTag.contains(",")) + { + languageTag = StringUtils.split(languageTag)[0]; + } + + final SyntaxLoader syntaxLoader = context.getSyntaxLoader(); + final Locale locale = syntaxLoader.parseSyntacticText(languageTag, Locale.class); + if (locale != null) + { + dimensionsBuilder.setLocale(locale); + } + } + } + + return dimensionsBuilder.toDimensions(); + } + + public static final SortedSet extractUriQueryParameters(final URI uri) + { + + if (uri == null) + { + return null; + } + + final String queryPart = uri.getQuery(); + if (queryPart == null || queryPart.isEmpty()) + { + return null; + } + + final List nameValuePairs = URLEncodedUtils.parse(uri, DEFAULT_ENCODING); + if (nameValuePairs == null) + { + return null; + } + + final SortedSet queryParameters = new TreeSet(); + for (final NameValuePair nameValuePair : nameValuePairs) + { + final Parameter parameter = new Parameter(nameValuePair.getName(), nameValuePair.getValue()); + queryParameters.add(parameter); + } + + return queryParameters; + } + + public static final String getLastPathElement(final URI uri) + { + + final String path = uri.getPath(); + if (StringUtils.isEmpty(path)) + { + return path; + } + + String lastPathElement = StringUtils.substringAfterLast(path, "/"); + lastPathElement = StringUtils.substringBefore(lastPathElement, "?"); + return lastPathElement; + } + + private static final String formatListString(final List list) + { + + return new StringBuilder("[").append(StringUtils.join(list, ", ")).append("]").toString(); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/rest/Status.java b/core/src/main/java/org/wrml/runtime/rest/Status.java new file mode 100644 index 0000000..bd95cf6 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/Status.java @@ -0,0 +1,130 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +/** + * http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10 + */ +// Generated from a Web Resource Schema +public enum Status +{ + + // + // Informational 1xx + // + + CONTINUE(100, "Continue"), + SWITCHING_PROTOCOLS(101, "Switching Protocols"), + + // + // Successful 2xx + // + + OK(200, "OK"), + CREATED(201, "Created"), + ACCEPTED(202, "Accepted"), + NON_AUTHORITATIVE_INFORMATION(203, "Non-Authoritative Information"), + NO_CONTENT(204, "No Content"), + RESET_CONTENT(205, "Reset Content"), + PARTIAL_CONTENT(206, "Partial Content"), + + // + // Redirection 3xx + // + + MULTIPLE_CHOICES(300, "Multiple Choices"), + MOVED_PERMANENTLY(301, "Moved Permanently"), + FOUND(302, "Found"), + SEE_OTHER(303, "See Other"), + NOT_MODIFIED(304, "Not Modified"), + USE_PROXY(305, "Use Proxy"), + UNUSED(306, "(Unused)"), + TEMPORARY_REDIRECT(307, "Temporary Redirect"), + + // + // Client Error 4xx + // + + BAD_REQUEST(400, "Bad Request"), + UNAUTHORIZED(401, "Unauthorized"), + PAYMENT_REQUIRED(402, "Payment Required"), + FORBIDDEN(403, "Forbidden"), + NOT_FOUND(404, "Not Found"), + METHOD_NOT_ALLOWED(405, "Method Not Allowed"), + NOT_ACCEPTABLE(406, "Not Acceptable"), + PROXY_AUTHENTICATION_REQUIRED(407, "Proxy Authentication Required"), + REQUEST_TIMEOUT(408, "Request Timeout"), + CONFLICT(409, "Conflict"), + GONE(410, "Gone"), + LENGTH_REQUIRED(411, "Length Required"), + PRECONDITION_FAILED(412, "Precondition Failed"), + REQUEST_ENTITY_TOO_LARGE(413, "Request Model Too Large"), + REQUEST_URI_TOO_LONG(414, "Request-URI Too Long"), + UNSUPPORTED_MEDIA_TYPE(415, "Unsupported Media Type"), + REQUESTED_RANGE_NOT_SATISFIABLE(416, "Requested Range Not Satisfiable"), + EXPECTATION_FAILED(417, "Expectation Failed"), + + // + // Server Error 5xx + // + + INTERNAL_SERVER_ERROR(500, "Internal Server Error"), + NOT_IMPLEMENTED(501, "Not Implemented"), + BAD_GATEWAY(502, "Bad Gateway"), + SERVICE_UNAVAILABLE(503, "Service Unavailable"), + GATEWAY_TIMEOUT(504, "Gateway Timeout"), + HTTP_VERSION_NOT_SUPPORTED(505, "HTTP Version Not Supported"); + + private final int _Code; + + private final String _ReasonPhrase; + + private Status(final int code, final String reasonPhrase) + { + _Code = code; + _ReasonPhrase = reasonPhrase; + } + + public StatusCategory getCategory() + { + return StatusCategory.getStatusCategory(getCode()); + } + + public int getCode() + { + return _Code; + } + + public String getReasonPhrase() + { + return _ReasonPhrase; + } + + @Override + public String toString() + { + return new StringBuilder().append(getCode()).append(' ').append(getReasonPhrase()).toString(); + } +} diff --git a/core/src/main/java/org/wrml/runtime/rest/StatusCategory.java b/core/src/main/java/org/wrml/runtime/rest/StatusCategory.java new file mode 100644 index 0000000..5483195 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/StatusCategory.java @@ -0,0 +1,119 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +public enum StatusCategory +{ + + /** + * Informational 1xx - Request received, continuing process + */ + INFORMATIONAL("Informational", "1xx", 100, 199), + + /** + * Success 2xx - The action was successfully received, understood, and + * accepted + */ + SUCCESSFUL("Successful", "2xx", 200, 299), + + /** + * Redirection 3xx - Further action must be taken in order to complete the + * request + */ + REDIRECTION("Redirection", "3xx", 300, 399), + + /** + * Client Error 4xx - The request contains bad syntax or cannot be fulfilled + */ + CLIENT_ERROR("Client Error", "4xx", 400, 499), + + /** + * Server Error 5xx - The server failed to fulfill an apparently valid + * request + */ + SERVER_ERROR("Server Error", "5xx", 500, 599); + + public static StatusCategory getStatusCategory(final int code) + { + final StatusCategory[] values = StatusCategory.values(); + for (final StatusCategory statusCategory : values) + { + if (statusCategory.inRange(code)) + { + return statusCategory; + } + } + return null; + } + + private final String _Name; + + private final String _Nickname; + + private final int _MinValue; + + private final int _MaxValue; + + private StatusCategory(final String name, final String nickname, final int minValue, final int maxValue) + { + _Name = name; + _Nickname = nickname; + _MinValue = minValue; + _MaxValue = maxValue; + + } + + public int getMaxValue() + { + return _MaxValue; + } + + public int getMinValue() + { + return _MinValue; + } + + public String getName() + { + return _Name; + } + + public String getNickname() + { + return _Nickname; + } + + public boolean inRange(final int code) + { + return ((code >= getMinValue()) && (code <= getMaxValue())); + } + + @Override + public String toString() + { + return new StringBuilder().append(getName()).append(' ').append(getNickname()).toString(); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/rest/SystemApi.java b/core/src/main/java/org/wrml/runtime/rest/SystemApi.java new file mode 100644 index 0000000..65233fe --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/SystemApi.java @@ -0,0 +1,112 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +import org.wrml.model.schema.Choices; + +import java.net.URI; +import java.util.UUID; + +/** + * The system's internal REST APIs, adapted from the WRML architecture originally depicted on page 91 of O'Reilly's + * "REST API Design Rulebook". + */ +public enum SystemApi +{ + + Format(URI.create("http://format.api.wrml.org"), org.wrml.model.format.Format.class, "Format API", + "The WRML System Format REST API.", UUID.fromString("8B45CDE2-C846-449C-9DF4-5772CFA77926"), UUID + .fromString("1A32BFDD-E57D-4FA6-852A-939329793052")), + LinkRelation(URI.create("http://relation.api.wrml.org"), org.wrml.model.rest.LinkRelation.class, + "Link Relation API", "The WRML System Link Relation REST API.", UUID + .fromString("5056F231-0100-448C-8E56-BB1981AAAF4F"), UUID + .fromString("2F6BD54A-32D1-4704-86B5-0E0D05E2581B")), + Schema(URI.create("http://schema.api.wrml.org"), org.wrml.model.schema.Schema.class, "Schema API", + "The WRML System Schema REST API.", UUID.fromString("4796A61C-4C1B-4295-BFBC-4701B372C7CB"), UUID + .fromString("840FA671-7766-4598-B956-37FD9ABBFD81")), + Syntax(URI.create("http://syntax.api.wrml.org"), org.wrml.model.schema.Syntax.class, "Syntax API", + "The WRML System Syntax REST API.", UUID.fromString("D70E6130-6563-434D-A048-FCB4A3F18DC3"), UUID + .fromString("EC3488E4-BBEF-413B-8F82-080BA4708D42")), + Choices(URI.create("http://choices.api.wrml.org"), org.wrml.model.schema.Choices.class, "Choices API", + "The WRML System Choices REST API.", UUID.fromString("A2D3C31F-D45A-4920-8505-765202A1D4E8"), UUID + .fromString("8AC96AA9-B439-4227-A0AB-6C2EEF5909DA")); + + + private final URI _Uri; + + private final Class _DefaultSchemaInterface; + + private final String _Title; + + private final String _Description; + + private final UUID _DocrootId; + + private final UUID _PrimaryEndpointId; + + private SystemApi(final URI apiUri, final Class defaultSchemaInterface, final String title, + final String description, final UUID docrootId, final UUID primaryEndpointId) + { + + _Uri = apiUri; + _DefaultSchemaInterface = defaultSchemaInterface; + _Title = title; + _Description = description; + _DocrootId = docrootId; + _PrimaryEndpointId = primaryEndpointId; + } + + public Class getDefaultSchemaInterface() + { + return _DefaultSchemaInterface; + } + + public String getDescription() + { + return _Description; + } + + public UUID getDocrootId() + { + return _DocrootId; + } + + public UUID getPrimaryEndpointId() + { + + return _PrimaryEndpointId; + } + + public String getTitle() + { + return _Title; + } + + public URI getUri() + { + return _Uri; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/rest/SystemLinkRelation.java b/core/src/main/java/org/wrml/runtime/rest/SystemLinkRelation.java new file mode 100644 index 0000000..8de64b3 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/SystemLinkRelation.java @@ -0,0 +1,89 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +import java.net.URI; + +import org.wrml.model.rest.Method; +import org.wrml.util.UniqueName; + +/** + * The WRML built-in link relations. + */ +public enum SystemLinkRelation +{ + + create(Method.Invoke), // C. + self(Method.Get), // R. + save(Method.Save), // U. + delete(Method.Delete), // D. + metadata(Method.Metadata), // HEAD + options(Method.Options), // OPTIONS + element(Method.Get), + child(Method.Get), + + // TODO: This (autoLink) is Api Designer tool/app specific. Move this to a non-system LinkRelation (resource file?) + autoLink(Method.Get), + home(Method.Get), + invoke(Method.Invoke); + + private final Method _Method; + + private final UniqueName _UniqueName; + + private final URI _Uri; + + private SystemLinkRelation(final Method method) + { + _Method = method; + final String localName = toString(); + _UniqueName = new UniqueName(Constants.NAMESPACE, localName); + final java.net.URI relativeUri = java.net.URI.create("/" + _UniqueName.toString()); + _Uri = SystemApi.LinkRelation.getUri().resolve(relativeUri); + } + + public Method getMethod() + { + return _Method; + } + + public UniqueName getUniqueName() + { + return _UniqueName; + } + + public URI getUri() + { + return _Uri; + } + + public static interface Constants + { + + public static final UniqueName NAMESPACE = new UniqueName("org/wrml/relation"); + + } + +} diff --git a/core/src/main/java/org/wrml/runtime/rest/SystemMediaType.java b/core/src/main/java/org/wrml/runtime/rest/SystemMediaType.java new file mode 100644 index 0000000..bb01f44 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/SystemMediaType.java @@ -0,0 +1,89 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +/** + *

+ * The WRML media type interface specification. + *

+ * + *

+ * Syntax: + *

+ * + *

+ * + *

+ * media-type = type "/" subtype *( ";" parameter ) type = token subtype = token
+ * 
+ * + *

+ * + * @see HTTP/1.1 Media Types + */ +public interface SystemMediaType +{ + + /** + * application (as in application/wrml) + */ + public static final String TYPE_APPLICATION = "application"; + + /** + * wrml (as in application/wrml) + */ + public static final String SUBTYPE_WRML = "wrml"; + + /** + * application/wrml + */ + public static final String MEDIA_TYPE_STRING_WRML = SystemMediaType.TYPE_APPLICATION + '/' + + SystemMediaType.SUBTYPE_WRML; + + /** + * Media type parameter to convey the content's semantic "data structure". + */ + public static final String PARAMETER_NAME_SCHEMA = "schema"; + + /** + * Media type parameter to identify the content serialization syntax. + */ + public static final String PARAMETER_NAME_FORMAT = "format"; + + /** + * Media type parameter to request "server-side" link traversal. + */ + public static final String PARAMETER_NAME_EMBED = "embed"; + + /** + * Media type parameter to filter (omit) named slots from a model. + */ + public static final String PARAMETER_NAME_EXCLUDE = "exclude"; + + /** + * Media type parameter to specify (by name) the slots containing the desired model state data. + */ + public static final String PARAMETER_NAME_INCLUDE = "include"; +} diff --git a/core/src/main/java/org/wrml/runtime/rest/UriTemplate.java b/core/src/main/java/org/wrml/runtime/rest/UriTemplate.java new file mode 100644 index 0000000..76c2b61 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/UriTemplate.java @@ -0,0 +1,245 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +import org.apache.commons.lang3.StringUtils; +import org.wrml.runtime.syntax.SyntaxHandler; +import org.wrml.runtime.syntax.SyntaxLoader; + +import java.net.URI; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * @see RFC 6570 - URI Template + */ +public class UriTemplate +{ + + public static final char PATH_SEPARATOR_CHAR = '/'; + + public static final String PATH_SEPARATOR = String.valueOf(PATH_SEPARATOR_CHAR); + + private static final Pattern PARAM_NAMES_PATTERN = Pattern.compile("\\{([^/]+?)\\}"); + + private final SyntaxLoader _SyntaxLoader; + + private final String[] _ParamNames; + + private final Pattern _MatchPattern; + + private final String _UriTemplateString; + + private URI _StaticUri; + + public UriTemplate(final SyntaxLoader syntaxLoader, final String uriTemplateString) + { + + _SyntaxLoader = syntaxLoader; + _UriTemplateString = uriTemplateString; + + final int length = uriTemplateString.length(); + final Matcher matcher = UriTemplate.PARAM_NAMES_PATTERN.matcher(uriTemplateString); + final StringBuilder pattern = new StringBuilder(); + final List paramNames = new ArrayList(); + int end = 0; + + while (matcher.find()) + { + final int start = matcher.start(); + + if (start != end) + { + // Copy the none-match to the pattern + pattern.append(uriTemplateString.substring(end, start)); + + end = matcher.end(); + final String matcherGroup = matcher.group(1); + + // Append the fixed group name + pattern.append("(?<" + matcherGroup + ">\\S+)"); + } + paramNames.add(matcher.group(1)); + end = matcher.end(); + } + + if (end != length) + { + pattern.append(uriTemplateString.substring(end, length)); + } + + String patternString = pattern.toString(); + final int lastIndex = patternString.length() - 1; + if ((lastIndex >= 0) && (patternString.charAt(lastIndex) == PATH_SEPARATOR_CHAR)) + { + patternString = patternString.substring(0, lastIndex); + } + + _MatchPattern = Pattern.compile(patternString); + _ParamNames = new String[paramNames.size()]; + + paramNames.toArray(_ParamNames); + + } + + public URI evaluate(final Map parameterMap) + { + + final URI staticUri = getStaticUri(); + if (staticUri != null) + { + if (parameterMap == null || parameterMap.size() == 0) + { + return staticUri; + } + else + { + throw new UriTemplateException("The URI Template accepts no parameters", null, this); + } + + } + + final SyntaxLoader syntaxLoader = getSyntaxLoader(); + + String matchResult = _MatchPattern.toString(); + + for (final String templateParamName : _ParamNames) + { + final Object templateParamValue = parameterMap.get(templateParamName); + if (templateParamValue == null) + { + return null; + } + + final String templateParamStringValue = syntaxLoader.formatSyntaxValue(templateParamValue); + + matchResult = matchResult.replace("(?<" + templateParamName + ">\\S+)", templateParamStringValue); + } + + final SyntaxHandler uriSyntaxHandler = syntaxLoader.getSyntaxHandler(URI.class); + final URI uri = uriSyntaxHandler.parseSyntacticText(matchResult); + + // TODO: This would be cleaner and more consistent, but it currently breaks UriTemplateTest (unit test) with mocking strategy that makes it impossible...? + //final URI uri = syntaxLoader.parseSyntacticText(matchResult, URI.class); + + return uri; + } + + public String[] getParameterNames() + { + + return _ParamNames; + } + + public SortedSet getParameters(final URI uri) + { + + if (uri == null) + { + throw new UriTemplateException("Null URI", null, this); + } + + + String uriString = uri.toString(); + uriString = StringUtils.substringBefore(uriString, "?"); + + final Matcher matcher = _MatchPattern.matcher(uriString); + + if (!matcher.matches()) + { + return null; + } + + final SortedSet parameterSet = new TreeSet<>(); + for (final String paramName : _ParamNames) + { + final String paramValue = matcher.group(paramName); + final Parameter parameter = new Parameter(paramName, paramValue); + parameterSet.add(parameter); + } + + return parameterSet; + } + + public SyntaxLoader getSyntaxLoader() + { + + return _SyntaxLoader; + } + + public String getUriTemplateString() + { + + return _UriTemplateString; + } + + public boolean matches(final URI uri) + { + + if (uri == null) + { + return false; + } + + final URI staticUri = getStaticUri(); + if (staticUri != null && uri.equals(staticUri)) + { + return true; + } + + final String uriString = uri.normalize().toString(); + final Matcher matcher = getMatchPattern().matcher(uriString); + + return matcher.matches(); + } + + @Override + public String toString() + { + + String retval = ""; + + retval += _UriTemplateString; + + return retval; + } + + private Pattern getMatchPattern() + { + + return _MatchPattern; + } + + private URI getStaticUri() + { + + if (_StaticUri == null && _ParamNames.length == 0) + { + _StaticUri = URI.create(_UriTemplateString); + } + return _StaticUri; + } +} diff --git a/core/src/main/java/org/wrml/runtime/rest/UriTemplateException.java b/core/src/main/java/org/wrml/runtime/rest/UriTemplateException.java new file mode 100644 index 0000000..c4b5ccb --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/UriTemplateException.java @@ -0,0 +1,47 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +/** + * The {@link UriTemplate}'s associated error type. + */ +public class UriTemplateException extends RuntimeException +{ + + private static final long serialVersionUID = 1L; + + private final UriTemplate _UriTemplate; + + UriTemplateException(final String message, final Throwable cause, final UriTemplate uriTemplate) + { + super(message, cause); + _UriTemplate = uriTemplate; + } + + public UriTemplate getUriTemplate() + { + return _UriTemplate; + } +} diff --git a/core/src/main/java/org/wrml/runtime/rest/package-info.java b/core/src/main/java/org/wrml/runtime/rest/package-info.java new file mode 100644 index 0000000..90e586d --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/rest/package-info.java @@ -0,0 +1,31 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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. + */ +/** + * This package provides the runtime implementation for REST API navigation and HATEOAS. + * + @see REST APIs must be hypertext-driven + */ +package org.wrml.runtime.rest; + diff --git a/core/src/main/java/org/wrml/runtime/schema/Aliases.java b/core/src/main/java/org/wrml/runtime/schema/Aliases.java new file mode 100644 index 0000000..239a66d --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/Aliases.java @@ -0,0 +1,54 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import org.wrml.model.schema.Slot; + +import java.lang.annotation.*; +import java.lang.reflect.Method; + +/** + *

+ * Indicates that the annotated accessor {@link Method} "slot" has one or more aliases, which are {@link Slot}s named by + * this annotation's value. A slot with aliases still has only one single value "bucket" but it can have other slot names associated with this same value. + *

+ *

+ *

+ * The WRML runtime will map/route access to all alias slots to the annotated "real" identity of the slot. + *

+ */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.METHOD}) +public @interface Aliases +{ + + /** + * The set of aliases, or alternative names, for the annotated slot. + * + * @return The set of aliases, or alternative names, for the annotated slot. + */ + String[] value(); +} diff --git a/core/src/main/java/org/wrml/runtime/schema/CollectionPropertyProtoSlot.java b/core/src/main/java/org/wrml/runtime/schema/CollectionPropertyProtoSlot.java new file mode 100644 index 0000000..0350646 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/CollectionPropertyProtoSlot.java @@ -0,0 +1,184 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import org.wrml.util.JavaBean; + +import java.lang.reflect.Type; +import java.net.URI; + +/** + *

+ * The runtime representation of {@link CollectionSlot}, which is a {@link ValueType#List} ({@link java.util.List}) slot + * with elements that derive from {@link org.wrml.model.Model} and are dynamically added to the slot based upon + * the results of a search that is performed upon request of the slot's containing {@link org.wrml.model.Model}, + * which is known as the "referrer". + *

+ * + * @see CollectionSlot + * @see CollectionSlotCriterion + * @see org.wrml.runtime.service.Service#search(org.wrml.runtime.search.SearchCriteria) + */ +public final class CollectionPropertyProtoSlot extends PropertyProtoSlot +{ + + private final URI _LinkRelationUri; + + private final Integer _Limit; + + private ProtoSearchCriteria _ProtoSearchCriteria; + + CollectionPropertyProtoSlot(final Prototype prototype, final String slotName, final JavaBean.Property property) + { + + super(prototype, slotName, property); + + + final CollectionSlot collectionSlot = getCollectionSlot(); + if (collectionSlot == null) + { + throw new IllegalArgumentException("The prototype: " + prototype.getUniqueName() + " Collection slot: " + slotName + " is missing the " + CollectionSlot.class + " annotation."); + } + + if (getValueType() != ValueType.List) + { + throw new IllegalArgumentException("The prototype: " + prototype.getUniqueName() + " Collection slot: " + slotName + " is not a " + ValueType.List + " slot."); + } + + final Type listElementType = getListElementType(); + final ValueType listElementValueType = ValueType.getValueType(listElementType); + if (listElementValueType != ValueType.Model) + { + throw new IllegalArgumentException("The prototype: " + prototype.getUniqueName() + " Collection slot: " + slotName + " is not a " + ValueType.List + " of " + ValueType.Model + " slot."); + } + + final String linkRelationUriString = collectionSlot.linkRelationUri(); + if (linkRelationUriString != null && !linkRelationUriString.isEmpty()) + { + _LinkRelationUri = URI.create(linkRelationUriString); + } + else + { + _LinkRelationUri = null; + } + + _Limit = collectionSlot.limit(); + + + if (getAnnotationInternal(LinkSlotBinding.class) != null) + { + throw new PrototypeException("The " + CollectionSlotCriterion.class + " annotation is not allowed here. Alternatively, one or more of these annotations may be included in the " + CollectionSlot.class + " annotation.", null, prototype); + } + + + } + + /** + *

+ * The optional "search result" limit, which may be used to restrict the number of elements that will fill in this slot. + *

+ *

+ * The default value is null, which indicates no limit. + *

+ * + * @return The optional "search result" limit, which may be used to restrict the number of elements that will fill in this slot. + */ + public Integer getLimit() + { + + return _Limit; + } + + /** + *

+ * The optional {@link org.wrml.model.rest.LinkRelation} {@link URI} that identifies the relationship between the + * referrer {@link org.wrml.model.rest.Document}, which contains this collection slot, and the {@link org.wrml.model.rest.Document}s that + * are contained within this collection slot, which are known as this collection's "referenced" documents. + *

+ *

+ * This value is considered optional since it is not necessarily the case that this collection slot's owner + * (the referrer) or its contained (referenced) elements are {@link org.wrml.model.rest.Document} instances. + * It is possible for a non-{@link org.wrml.model.rest.Document} model to have one or more collection slots and + * it is also possible for a collection slot to contain non-{@link org.wrml.model.rest.Document} elements. In such cases + * there is no need for a {@link org.wrml.model.rest.LinkRelation} {@link URI} since there are no links href's or uri + * values for the framework's runtime to help manage. + *

+ * + * @return The optional {@link org.wrml.model.rest.LinkRelation} {@link URI} that identifies the relationship between referrer and + * the referenced elements within this slot. + */ + public URI getLinkRelationUri() + { + + return _LinkRelationUri; + } + + /** + * The runtime's prototype for the {@link org.wrml.runtime.search.SearchCriteria} associated with this {@link CollectionPropertyProtoSlot}. + * + * @return The runtime's prototype for the {@link org.wrml.runtime.search.SearchCriteria} associated with this {@link CollectionPropertyProtoSlot}. + */ + public ProtoSearchCriteria getProtoSearchCriteria() + { + + if (_ProtoSearchCriteria == null) + { + + final Prototype referrerPrototype = getPrototype(); + final SchemaLoader schemaLoader = referrerPrototype.getSchemaLoader(); + final Type referenceType = getListElementType(); + final URI referenceSchemaUri = schemaLoader.getTypeUri(referenceType); + + final Prototype referencePrototype; + if (referenceSchemaUri.equals(referrerPrototype.getSchemaUri())) + { + referencePrototype = referrerPrototype; + } + else + { + referencePrototype = schemaLoader.getPrototype(referenceSchemaUri); + } + + + _ProtoSearchCriteria = new ProtoSearchCriteria(this, referencePrototype, referrerPrototype); + } + + return _ProtoSearchCriteria; + } + + /** + * The {@link CollectionSlot} annotation associated with this {@link CollectionPropertyProtoSlot}. + * + * @return The {@link CollectionSlot} annotation associated with this {@link CollectionPropertyProtoSlot}. + */ + public CollectionSlot getCollectionSlot() + { + + return getAnnotationInternal(CollectionSlot.class); + } + + +} diff --git a/core/src/main/java/org/wrml/runtime/schema/CollectionSlot.java b/core/src/main/java/org/wrml/runtime/schema/CollectionSlot.java new file mode 100644 index 0000000..21ce735 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/CollectionSlot.java @@ -0,0 +1,81 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import java.lang.annotation.*; + +/** + *

+ * {@link CollectionSlot} annotates a Java {@link java.lang.reflect.Method} ({@link java.lang.annotation.ElementType#METHOD}) + * as a {@link org.wrml.model.schema.Slot} containing a {@link java.util.List} of {@link org.wrml.model.Model}s + * that is filled dynamically with the results of a search. + *

+ * + * @see org.wrml.runtime.service.Service#search(org.wrml.runtime.search.SearchCriteria) + */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.METHOD}) +public @interface CollectionSlot +{ + + /** + *

+ * The optional {@link org.wrml.model.rest.LinkRelation} {@link java.net.URI} designating the relationship between this {@link CollectionSlot} and the {@link org.wrml.model.rest.Document}s that it contains. + *

+ *

+ * This value is optional for slots that do not contain {@link org.wrml.model.rest.Document} models (and thus do not require the framework to determine their {@link java.net.URI} slot values). + *

+ */ + String linkRelationUri() default ""; + + /** + *

+ * The optional limit to set on the number of elements that may be contained within this {@link CollectionSlot}. + *

+ *

+ * The default value is -1 to indicate that there is no limit. + *

+ */ + int limit() default -1; + + /** + *

+ * The optional array of {@link CollectionSlotCriterion} that is logically "ANDed" together to qualify/filter the contents of this {@link CollectionSlot}. + *

+ * + * @return The optional array of {@link CollectionSlotCriterion} that is logically "ANDed" together to qualify/filter the contents of this {@link CollectionSlot}. + */ + CollectionSlotCriterion[] and() default {}; + + /** + *

+ * The optional array of {@link CollectionSlotCriterion} that is logically "ORed" together to qualify/filter the contents of this {@link CollectionSlot}. + *

+ * + * @return The optional array of {@link CollectionSlotCriterion} that is logically "ORed" together to qualify/filter the contents of this {@link CollectionSlot}. + */ + CollectionSlotCriterion[] or() default {}; +} diff --git a/core/src/main/java/org/wrml/runtime/schema/CollectionSlotCriterion.java b/core/src/main/java/org/wrml/runtime/schema/CollectionSlotCriterion.java new file mode 100644 index 0000000..7292b97 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/CollectionSlotCriterion.java @@ -0,0 +1,119 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import org.wrml.model.schema.ComparisonOperator; +import org.wrml.model.schema.ValueSourceType; + +import java.lang.annotation.*; + +/** + *

+ * A {@link CollectionSlotCriterion} may be used to filter/select the elements of a {@link CollectionSlot}. + * This annotation provides the metadata needed to model part of a query that is automatically executed by the runtime whenever + * an instance of the {@link CollectionSlot}'s owning model, known as the referrer, is returned from one + * of the runtime's core methods (e.g. {@link org.wrml.runtime.Context#getModel(org.wrml.runtime.Keys, org.wrml.runtime.Dimensions)}. + *

+ * + * @see CollectionSlot + * @see CollectionPropertyProtoSlot + * @see ValueSourceType + */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.METHOD}) +public @interface CollectionSlotCriterion +{ + /** + *

+ * The name of a slot within the "collected" (contained) {@link org.wrml.model.schema.Schema} that this {@link CollectionSlotCriterion} is relating to. + *

+ *

+ * In binary comparison operations (e.g. {@link org.wrml.model.schema.ComparisonOperator#lessThan}, the {@link #referenceSlot()} is the "left hand side". For example: + *

+ *

+ *

+     *          {referenceSlot} < {valueSource}
+     * 
+ *

+ *

+ * Note that this value may optionally contain one or more "." characters separating subordinate slot names in order to base this {@link CollectionSlotCriterion} on a nested value. + *

+ * + * @return The name of a slot within the "collected" (contained) {@link org.wrml.model.schema.Schema} that this {@link CollectionSlotCriterion} is relating to. + */ + String referenceSlot(); + + /** + *

+ * The source of the value that will be used to "fill in" the reference slot when evaluating this {@link CollectionSlotCriterion} + * to search for matching models to populate the {@link CollectionSlot}. + *

+ *

+ * In binary comparison operations (e.g. {@link org.wrml.model.schema.ComparisonOperator#greaterThanOrEqualTo}, the {@link #referenceSlot()} is the "right hand side". + *

+ *

+ *

+     *          {referenceSlot} >= {valueSource}
+     * 
+ *

+ * + * @return The source of the value that will be used to "fill in" the reference slot when searching. + */ + String valueSource(); + + /** + * The source type for the binding value. + * + * @return The source type for the binding value. + */ + ValueSourceType valueSourceType() default ValueSourceType.ReferrerSlot; + + /** + *

+ * The {@link org.wrml.model.schema.ComparisonOperator} to be used when comparing the {@link #referenceSlot()} value to the value retrieved from the {@link #valueSource()}. + *

+ *

+ * The default value is {@link org.wrml.model.schema.ComparisonOperator#equalTo} (value equality comparison). + *

+ * + * @return The {@link org.wrml.model.schema.ComparisonOperator} to be used when comparing the {@link #referenceSlot()} value to the value retrieved from the {@link #valueSource()}. + */ + ComparisonOperator operator() default ComparisonOperator.equalTo; + + /** + *

+ * The regular expression pattern value to be used in conjunction with the {@link ComparisonOperator#regex} comparison operator. + *

+ *

+ * The default value is an empty {@link String} indicating no pattern. + *

+ * + * @return The regular expression pattern value to be used in conjunction with the {@link ComparisonOperator#regex} comparison operator. + */ + String regex() default ""; + + +} diff --git a/core/src/main/java/org/wrml/runtime/schema/DefaultSchemaLoader.java b/core/src/main/java/org/wrml/runtime/schema/DefaultSchemaLoader.java new file mode 100644 index 0000000..fab5fe1 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/DefaultSchemaLoader.java @@ -0,0 +1,1380 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import com.google.common.collect.BiMap; +import com.google.common.collect.HashBiMap; +import org.apache.commons.io.FileUtils; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.reflect.TypeUtils; +import org.reflections.Reflections; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.Model; +import org.wrml.model.Virtual; +import org.wrml.model.format.Format; +import org.wrml.model.rest.*; +import org.wrml.model.schema.*; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.DimensionsBuilder; +import org.wrml.runtime.Keys; +import org.wrml.runtime.format.application.schema.json.JsonSchema; +import org.wrml.runtime.format.application.schema.json.JsonSchemaLoader; +import org.wrml.runtime.rest.ApiLoader; +import org.wrml.runtime.rest.ApiNavigator; +import org.wrml.runtime.rest.Resource; +import org.wrml.runtime.rest.SystemApi; +import org.wrml.runtime.schema.generator.JavaBytecodeClass; +import org.wrml.runtime.schema.generator.SchemaGenerator; +import org.wrml.runtime.syntax.SyntaxHandler; +import org.wrml.runtime.syntax.SyntaxLoader; +import org.wrml.util.UniqueName; + +import java.io.File; +import java.io.IOException; +import java.lang.reflect.Type; +import java.net.URI; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; + +/** + *

+ * The WRML runtime's default implementation of the SchemaLoader. + *

+ */ +public class DefaultSchemaLoader extends ClassLoader implements SchemaLoader +{ + + private static final Logger LOG = LoggerFactory.getLogger(DefaultSchemaLoader.class); + + private static final String[] JSON_SCHEMA_FILE_EXTENSIONS = new String[]{"json"}; + + private static final Class[] JAVA_TYPE_WRML_BASES = new Class[]{ValueType.JAVA_TYPE_DOCUMENT, ValueType.JAVA_TYPE_MODEL, ValueType.JAVA_TYPE_ABSTRACT}; + + private final Dimensions _ApiDimensions; + + private final URI _AggregateDocumentSchemaUri; + + private final URI _VirtualSchemaUri; + + private final URI _ApiSchemaUri; + + private final BiMap _NativeTypeNameToUriBiMap; + + private final URI _DocumentSchemaUri; + + private final URI _EmbeddedSchemaUri; + + private final URI _LinkRelationSchemaUri; + + private final URI _LinkSchemaUri; + + private final URI _SchemaSchemaUri; + + private final URI _SchemaNamespaceSchemaUri; + + private final URI _SyntaxSchemaUri; + + private final ConcurrentHashMap _Prototypes; + + private final URI _ResourceTemplateSchemaUri; + + private final Dimensions _SchemaDimensions; + + private final Dimensions _SchemaNamespaceDimensions; + + private final ConcurrentHashMap> _SchemaInterfaces; + + private final Dimensions _LinkRelationDimensions; + + private final Dimensions _FormatDimensions; + + private final URI _FormatSchemaUri; + + private final ConcurrentHashMap _NativeSchemas; + + private final ConcurrentHashMap _Schemas; + + private final HashSet _SystemSchemaUris; + + private final URI _ChoicesSchemaUri; + + private final Dimensions _ChoicesDimensions; + + private final ConcurrentHashMap _NativeChoices; + + private final ConcurrentHashMap _Choices; + + private final ConcurrentHashMap> _ChoicesEnumClasses; + + private Context _Context; + + private transient SchemaGenerator _SchemaGenerator; + + private transient JsonSchemaLoader _JsonSchemaLoader; + + + public DefaultSchemaLoader() + { + + this(DefaultSchemaLoader.class.getClassLoader()); + } + + public DefaultSchemaLoader(final ClassLoader parent) + { + + super(parent); + + _NativeTypeNameToUriBiMap = HashBiMap.create(); + _SystemSchemaUris = new LinkedHashSet<>(); + _Schemas = new ConcurrentHashMap<>(); + _NativeSchemas = new ConcurrentHashMap<>(); + _SchemaInterfaces = new ConcurrentHashMap<>(); + _Prototypes = new ConcurrentHashMap<>(); + _Choices = new ConcurrentHashMap<>(); + _NativeChoices = new ConcurrentHashMap<>(); + _ChoicesEnumClasses = new ConcurrentHashMap<>(); + + // System loaded schemas + _ApiSchemaUri = getTypeUri(Api.class); + _SystemSchemaUris.add(_ApiSchemaUri); + _ApiDimensions = new DimensionsBuilder(_ApiSchemaUri).toDimensions(); + + _SchemaSchemaUri = getTypeUri(Schema.class); + _SystemSchemaUris.add(_SchemaSchemaUri); + _SchemaDimensions = new DimensionsBuilder(_SchemaSchemaUri).toDimensions(); + + _SchemaNamespaceSchemaUri = getTypeUri(SchemaNamespace.class); + _SystemSchemaUris.add(_SchemaNamespaceSchemaUri); + _SchemaNamespaceDimensions = new DimensionsBuilder(_SchemaNamespaceSchemaUri).toDimensions(); + + _SyntaxSchemaUri = getTypeUri(Syntax.class); + _SystemSchemaUris.add(_SyntaxSchemaUri); + + _ChoicesSchemaUri = getTypeUri(Choices.class); + _SystemSchemaUris.add(_ChoicesSchemaUri); + _ChoicesDimensions = new DimensionsBuilder(_ChoicesSchemaUri).toDimensions(); + + _LinkRelationSchemaUri = getTypeUri(LinkRelation.class); + _SystemSchemaUris.add(_LinkRelationSchemaUri); + _LinkRelationDimensions = new DimensionsBuilder(_LinkRelationSchemaUri).toDimensions(); + + _FormatSchemaUri = getTypeUri(Format.class); + _SystemSchemaUris.add(_FormatSchemaUri); + _FormatDimensions = new DimensionsBuilder(_FormatSchemaUri).toDimensions(); + + // Other system-referenced schemas + _DocumentSchemaUri = getTypeUri(Document.class); + _AggregateDocumentSchemaUri = getTypeUri(AggregateDocument.class); + _EmbeddedSchemaUri = getTypeUri(Embedded.class); + _LinkSchemaUri = getTypeUri(Link.class); + _ResourceTemplateSchemaUri = getTypeUri(ResourceTemplate.class); + _VirtualSchemaUri = getTypeUri(Virtual.class); + + } + + @Override + public URI getAggregateDocumentSchemaUri() + { + + return _AggregateDocumentSchemaUri; + } + + @Override + public final Dimensions getApiDimensions() + { + + return _ApiDimensions; + } + + @Override + public final URI getApiSchemaUri() + { + + return _ApiSchemaUri; + } + + @Override + public Dimensions getChoicesDimensions() + { + + return _ChoicesDimensions; + } + + @Override + public SortedSet getChoicesNames(final UniqueName namespace) + { + + // TODO: Refactor this method to be less of a copy paste of getAllSubschemaNames + if (namespace == null) + { + throw new IllegalArgumentException("The namespace cannot be null."); + } + + final String namespaceString = namespace.toString(); + + final SortedSet typeNames = new TreeSet<>(); + final String javaPackageName = namespaceString.replace(UniqueName.NAME_SEPARATOR_CHAR, '.'); + + // TODO: Cache or reuse the Reflections if possible (to avoid lag) + final Reflections reflections = new Reflections(javaPackageName, this); + + final Set subTypes = reflections.getSubTypesOf(Enum.class); + + if (subTypes != null && !subTypes.isEmpty()) + { + for (final Object subType : subTypes) + { + final Class subClass = (Class) subType; + final UniqueName uniqueName = new UniqueName(subClass.getName().replace('.', UniqueName.NAME_SEPARATOR_CHAR)); + typeNames.add(uniqueName); + } + } + + final Set uriSet = _Choices.keySet(); + for (final URI uri : uriSet) + { + final UniqueName uniqueName = getTypeUniqueName(uri); + final String uniqueNameString = uniqueName.toString(); + if (uniqueNameString.startsWith(namespaceString)) + { + typeNames.add(uniqueName); + } + } + + + return typeNames; + } + + @Override + public URI getChoicesSchemaUri() + { + + return _ChoicesSchemaUri; + } + + @Override + public final SchemaLoaderConfiguration getConfig() + { + + return getContext().getConfig().getSchemaLoader(); + } + + @Override + public final Context getContext() + { + + return _Context; + } + + @Override + public final URI getDocumentSchemaUri() + { + + return _DocumentSchemaUri; + } + + @Override + public final URI getEmbeddedSchemaUri() + { + + return _EmbeddedSchemaUri; + } + + @Override + public Dimensions getFormatDimensions() + { + + return _FormatDimensions; + } + + @Override + public URI getFormatSchemaUri() + { + + return _FormatSchemaUri; + } + + @Override + public JsonSchemaLoader getJsonSchemaLoader() + { + + return _JsonSchemaLoader; + } + + @Override + public final Dimensions getLinkRelationDimensions() + { + + return _LinkRelationDimensions; + } + + @Override + public final URI getLinkRelationSchemaUri() + { + + return _LinkRelationSchemaUri; + } + + @Override + public final URI getLinkSchemaUri() + { + + return _LinkSchemaUri; + } + + @Override + public Choices getLoadedChoices(final Keys keys) + { + + final URI uri = (URI) keys.getValue(getDocumentSchemaUri()); + + if (uri == null) + { + return null; + } + + if (_NativeChoices.containsKey(uri)) + { + return _NativeChoices.get(uri); + } + + + if (_Choices.containsKey(uri)) + { + return _Choices.get(uri); + } + + return null; + + } + + @Override + public Schema getLoadedSchema(final Keys keys) + { + + final URI schemaUri = keys.getValue(getDocumentSchemaUri()); + + if (schemaUri == null) + { + return null; + } + + if (_NativeSchemas.containsKey(schemaUri)) + { + return _NativeSchemas.get(schemaUri); + } + + if (_Schemas.containsKey(schemaUri)) + { + return _Schemas.get(schemaUri); + } + + return null; + } + + @Override + public final SortedSet getLoadedSchemaUris() + { + + final SortedSet allLoadedSchemaUris = new TreeSet<>(_NativeSchemas.keySet()); + allLoadedSchemaUris.addAll(_Schemas.keySet()); + return allLoadedSchemaUris; + } + + @Override + public Choices getNativeChoices(final Keys keys) + { + + URI uri = keys.getValue(getDocumentSchemaUri()); + + if (uri == null) + { + final UniqueName uniqueName = keys.getValue(getChoicesSchemaUri()); + if (uniqueName != null) + { + final String enumInternalClassName = uniqueName.toString(); + final String enumExternalClassName = SchemaGenerator.internalTypeNameToExternalTypeName(enumInternalClassName); + uri = getTypeUri(enumExternalClassName, true, true); + } + } + + if (uri == null) + { + return null; + } + + if (_NativeChoices.containsKey(uri)) + { + return _NativeChoices.get(uri); + } + + final Class nativeChoicesEnumClass = getNativeChoicesEnumClass(uri); + if (nativeChoicesEnumClass == null) + { + return null; + } + + + final Choices nativeChoices = getSchemaGenerator().generateChoices(nativeChoicesEnumClass); + _NativeChoices.put(uri, nativeChoices); + return nativeChoices; + + } + + @Override + public final Schema getNativeSchema(final Keys keys) + { + + URI schemaUri = keys.getValue(getDocumentSchemaUri()); + + if (schemaUri == null) + { + final UniqueName schemaUniqueName = keys.getValue(getSchemaSchemaUri()); + if (schemaUniqueName != null) + { + final String internalClassName = schemaUniqueName.toString(); + final String schemaInterfaceName = SchemaGenerator.internalTypeNameToExternalTypeName(internalClassName); + schemaUri = getTypeUri(schemaInterfaceName); + } + } + + if (schemaUri == null) + { + return null; + } + + if (_NativeSchemas.containsKey(schemaUri)) + { + return _NativeSchemas.get(schemaUri); + } + + final Class nativeSchemaInterface = getNativeSchemaInterface(schemaUri); + if (nativeSchemaInterface == null) + { + return null; + } + + final Prototype prototype = getPrototype(schemaUri); + final Schema nativeSchema = getSchemaGenerator().generateSchema(prototype); + _NativeSchemas.put(schemaUri, nativeSchema); + return nativeSchema; + } + + @Override + public final String getNativeTypeName(final URI typeUri) + { + + final BiMap uriToNativeTypeNameBiMapView = _NativeTypeNameToUriBiMap.inverse(); + if (!uriToNativeTypeNameBiMapView.containsKey(typeUri)) + { + + final UniqueName uniqueName = getTypeUniqueName(typeUri); + if (uniqueName == null) + { + throw new SchemaLoaderException("The type's uniqueName could not be determined from: " + typeUri, + null, this); + } + + String localName = uniqueName.getLocalName(); + if (localName != null) + { + int indexOfLastDot = localName.lastIndexOf("."); + + if (indexOfLastDot > 0) + { + localName = localName.substring(0, indexOfLastDot); + } + else if (indexOfLastDot == 0) + { + localName = localName.substring(1); + } + } + + String namespace = uniqueName.getNamespace(); + if (namespace != null) + { + namespace = StringUtils.replaceChars(namespace, ".", "_"); + } + + String internalTypeName; + if (namespace != null && localName != null) + { + String suffix = localName.trim(); + if (!suffix.isEmpty()) + { + suffix = UniqueName.NAME_SEPARATOR + suffix; + } + + internalTypeName = namespace + suffix; + } + else if (namespace == null && localName == null) + { + internalTypeName = "unnamed"; + } + else if (namespace == null && localName != null) + { + internalTypeName = localName; + } + else + { + internalTypeName = namespace; + } + + + internalTypeName = StringUtils.replaceChars(internalTypeName, ".", "_"); + final String schemaInterfaceName = SchemaGenerator.internalTypeNameToExternalTypeName(internalTypeName); + + _NativeTypeNameToUriBiMap.put(schemaInterfaceName, typeUri); + } + + return uriToNativeTypeNameBiMapView.get(typeUri); + + } + + @Override + public final Prototype getPrototype(final URI schemaUri) + { + + if (schemaUri == null) + { + throw new SchemaLoaderException("The schema URI cannot be null", null, this); + } + + if (!_Prototypes.containsKey(schemaUri)) + { + final Prototype prototype = new Prototype(this, schemaUri); + _Prototypes.put(schemaUri, prototype); + + } + return _Prototypes.get(schemaUri); + } + + @Override + public final SortedSet getPrototypedSchemaUris() + { + + return new TreeSet<>(_Prototypes.keySet()); + } + + @Override + public final URI getResourceTemplateSchemaUri() + { + + return _ResourceTemplateSchemaUri; + } + + @Override + public final Dimensions getSchemaDimensions() + { + + return _SchemaDimensions; + } + + @Override + public final Class getSchemaInterface(final URI schemaUri) throws ClassNotFoundException + { + + if (!_SchemaInterfaces.containsKey(schemaUri)) + { + + Class schemaInterface = getNativeSchemaInterface(schemaUri); + if (schemaInterface != null) + { + return schemaInterface; + } + + // See if the schema interface is loadable by the parent. This is done primarily for + // bootstrapping WRML; allowing us to treat "standard" Java interfaces as if they were WRML schema-based. + + final ClassLoader parentClassLoader = getParent(); + + final String schemaInterfaceName = getNativeTypeName(schemaUri); + + try + { + schemaInterface = parentClassLoader.loadClass(schemaInterfaceName); + } + catch (final ClassNotFoundException e) + { + // Swallow this exception and keep trying to load the schema ourselves + } + + if (schemaInterface == null) + { + // Try to load the schema ourselves... + schemaInterface = loadClass(schemaInterfaceName, true); + } + + _SchemaInterfaces.put(schemaUri, schemaInterface); + + } + + return _SchemaInterfaces.get(schemaUri); + + } + + @Override + public final byte[] getSchemaInterfaceBytecode(final Schema schema) + { + + final SchemaGenerator generator = getSchemaGenerator(); + JavaBytecodeClass javaBytecodeClass = generator.generateSchemaInterface(schema); + + if (javaBytecodeClass != null) + + { + final byte[] bytecode = javaBytecodeClass.getBytecode(); + return bytecode; + } + + return null; + } + + @Override + public SortedSet getSchemaNames(final UniqueName namespace) + { + + final SortedSet allSubschemaNames = getAllSubschemaNames(namespace); + + if (allSubschemaNames == null || allSubschemaNames.isEmpty()) + { + return allSubschemaNames; + } + + final String namespaceString = (namespace != null) ? namespace.toString() : ""; + final SortedSet schemaNames = new TreeSet<>(); + for (final UniqueName subschemaName : allSubschemaNames) + { + final String subschemaNameString = subschemaName.toString(); + final String remainderNameString = StringUtils.removeStart(subschemaNameString, namespaceString + UniqueName.NAME_SEPARATOR); + if (!remainderNameString.contains(UniqueName.NAME_SEPARATOR)) + { + schemaNames.add(subschemaName); + } + } + + return schemaNames; + } + + @Override + public SortedSet getSchemaSubnamespaces(final UniqueName namespace) + { + + final SortedSet allSubschemaNames = getAllSubschemaNames(namespace); + + if (allSubschemaNames == null || allSubschemaNames.isEmpty()) + { + return allSubschemaNames; + } + + String namespaceString = (namespace != null) ? namespace.toString() : ""; + if (!namespaceString.endsWith(UniqueName.NAME_SEPARATOR)) + { + namespaceString = namespaceString + UniqueName.NAME_SEPARATOR; + } + final SortedSet subnamespaces = new TreeSet<>(); + for (final UniqueName subschemaName : allSubschemaNames) + { + final String subschemaNameString = subschemaName.toString(); + final String remainderNameString = StringUtils.removeStart(subschemaNameString, namespaceString); + + final int endIndex = remainderNameString.indexOf(UniqueName.NAME_SEPARATOR); + if (endIndex > 0) + { + final String localName = remainderNameString.substring(0, endIndex); + subnamespaces.add(new UniqueName(namespace, localName)); + } + + } + + return subnamespaces; + } + + @Override + public Dimensions getSchemaNamespaceDimensions() + { + + return _SchemaNamespaceDimensions; + } + + @Override + public URI getSchemaNamespaceSchemaUri() + { + + return _SchemaNamespaceSchemaUri; + } + + @Override + public final URI getSchemaSchemaUri() + { + + return _SchemaSchemaUri; + } + + @Override + public final URI getSyntaxSchemaUri() + { + + return _SyntaxSchemaUri; + } + + + @Override + public final URI getTypeUri(final String typeName) + { + + return getTypeUri(typeName, false, false); + } + + private final URI getTypeUri(final String typeName, final boolean isChoices, final boolean cache) + { + + if (_NativeTypeNameToUriBiMap.containsKey(typeName)) + { + return _NativeTypeNameToUriBiMap.get(typeName); + } + + + final URI baseSystemUri = (isChoices) ? SystemApi.Choices.getUri() : SystemApi.Schema.getUri(); + + final String path = "/" + SchemaGenerator.externalTypeNameToInternalTypeName(typeName); + + final URI uri = baseSystemUri.resolve(path); + + if (cache) + { + _NativeTypeNameToUriBiMap.put(typeName, uri); + } + + return uri; + } + + @Override + public final URI getTypeUri(final Type type) + { + + if (type instanceof Class) + { + final Class clazz = (Class) type; + return getTypeUri(clazz.getCanonicalName(), clazz.isEnum(), true); + } + else + { + // Get this schema id associated with the *slotted* schema. A slotted schema has one or more "open" + // {@link Slot}s. Other (programming) languages refer to this type system concept as "parameterized", + // "generic", or "templated" types. + /* + * // A slotted schema + * final Context context = getContext(); + * final ApiLoader apiLoader = context.getApiLoader(); + * final ParameterizedType parameterizedType = (ParameterizedType) type; + * final Class slottedSchemaInterface = (Class) parameterizedType.getRawType(); + * final URI slottedSchemaUri = getTypeUri(slottedSchemaInterface); + * + * final Map, Type> typeArguments = TypeUtils.getTypeArguments(parameterizedType); + * for (final TypeVariable typeVar : typeArguments.keySet()) + * { + * final Type slotSchemaType = typeArguments.get(typeVar); + * final URI slotSchemaUri = getTypeUri(slotSchemaType); + * final URI urlEncodedSlotSchemaUri = RestUtils.encodeUri(slotSchemaUri); + * final String queryParam = typeVar.getName() + "=" + urlEncodedSlotSchemaUri; + */ + + throw new SchemaLoaderException( + "Slotted schemas are not supported in this version; cannot associate a schema URI with type: " + + type, null, this); + } + } + + @Override + public UniqueName getTypeUniqueName(final URI uri) + { + + final JsonSchema jsonSchema = _JsonSchemaLoader.getLoadedJsonSchema(uri); + if (jsonSchema != null) + { + return JsonSchema.createJsonSchemaUniqueName(uri); + } + + + final Context context = getContext(); + final ApiLoader apiLoader = context.getApiLoader(); + + + URI keyedSchemaUri = getSchemaSchemaUri(); + Keys keys = apiLoader.buildDocumentKeys(uri, keyedSchemaUri); + UniqueName uniqueName = null; + if (keys != null) + { + uniqueName = keys.getValue(keyedSchemaUri); + } + + if (uniqueName == null) + { + keyedSchemaUri = getChoicesSchemaUri(); + keys = apiLoader.buildDocumentKeys(uri, keyedSchemaUri); + if (keys != null) + { + uniqueName = keys.getValue(keyedSchemaUri); + } + } + + return uniqueName; + } + + @Override + public final ValueType getValueType(final Type type) + { + + final SyntaxLoader syntaxLoader = getContext().getSyntaxLoader(); + + ValueType valueType = ValueType.getValueType(type); + if (valueType == ValueType.Native) + { + final Class rawType = ValueType.getRawType(type); + final SyntaxHandler syntaxHandler = syntaxLoader.getSyntaxHandler(rawType); + + if (syntaxHandler != null) + { + valueType = ValueType.Text; + } + } + + return valueType; + } + + @Override + public URI getVirtualSchemaUri() + { + + return _VirtualSchemaUri; + } + + @Override + public void init(final Context context) + { + + if (context == null) + { + throw new SchemaLoaderException("The WRML context cannot be null.", null, this); + } + + _Context = context; + + _SchemaGenerator = new SchemaGenerator(this); + + _JsonSchemaLoader = new JsonSchemaLoader(); + _JsonSchemaLoader.init(_Context); + + } + + @Override + public final boolean isAbstractSchema(final Class schemaInterface) + { + + final Class[] declaredInterfaces = schemaInterface.getInterfaces(); + if (declaredInterfaces != null) + { + for (final Class declaredInterface : declaredInterfaces) + { + if (ValueType.JAVA_TYPE_ABSTRACT.equals(declaredInterface)) + { + return true; + } + } + } + + return false; + } + + @Override + public final boolean isPrototyped(final URI schemaUri) + { + + return _Prototypes.containsKey(schemaUri); + } + + @Override + public final boolean isSubschema(final Type base, final Type sub) + { + + // Neither may be null + if (base == null || sub == null) + { + return false; + } + + if (base.equals(sub)) + { + return false; + } + + // Both must be models + if (!TypeUtils.isAssignable(base, Model.class) || !TypeUtils.isAssignable(sub, Model.class)) + { + return false; + } + + return TypeUtils.isAssignable(sub, base); + } + + @Override + public boolean isSystemSchema(final URI schemaUri) + { + + return _SystemSchemaUris.contains(schemaUri); + } + + @Override + public void loadInitialState() + { + + _JsonSchemaLoader.loadInitialState(); + loadJsonSchemas(); + } + + @Override + public final Schema load(final JsonSchema jsonSchema, final URI... baseSchemaIds) + { + + final URI schemaUri = jsonSchema.getId(); + if (_Schemas.containsKey(schemaUri)) + { + return _Schemas.get(schemaUri); + } + + final SchemaGenerator generator = getSchemaGenerator(); + final Schema schema = generator.generateSchema(jsonSchema, baseSchemaIds); + + return load(schema); + } + + @Override + public final Schema load(final Schema schema) + { + + final URI schemaUri = schema.getUri(); + if (schemaUri == null) + { + throw new IllegalArgumentException("The Schema URI cannot be null."); + } + + if (isPrototyped(schemaUri)) + { + throw new SchemaLoaderException( + "The Schema has been prototyped from a Java interface, which cannot be reloaded without reloading the Context.", + null, this); + } + + if (StringUtils.isEmpty(schema.getTitle())) + { + + final String title = schema.getUniqueName().getLocalName(); + schema.setTitle(title); + } + + final List slots = schema.getSlots(); + for (final Slot slot : slots) + { + + if (StringUtils.isEmpty(slot.getTitle())) + { + + slot.setTitle(slot.getName()); + } + } + + _Schemas.put(schemaUri, schema); + return schema; + } + + @Override + public final Schema load(final URI schemaUri) + { + + if (schemaUri == null) + { + throw new IllegalArgumentException("The Schema URI cannot be null."); + } + + final Context context = getContext(); + final ApiLoader apiLoader = context.getApiLoader(); + final Keys keys = apiLoader.buildDocumentKeys(schemaUri, getSchemaSchemaUri()); + return context.getModel(keys, getSchemaDimensions()); + } + + @Override + public Choices loadChoices(final Choices choices) + { + + final URI choicesUri = choices.getUri(); + if (choicesUri == null) + { + throw new IllegalArgumentException("The Choices URI cannot be null."); + } + + // TODO: Is this needed? + // Force mapping of Choices URI to enum name + getNativeTypeName(choicesUri); + + _Choices.put(choicesUri, choices); + return choices; + + } + + @SuppressWarnings({"unchecked", "rawtypes"}) + @Override + protected Class findClass(final String typeName) throws ClassNotFoundException + { + + final Context context = getContext(); + final ApiLoader apiLoader = context.getApiLoader(); + + URI uri = getTypeUri(typeName, false, false); + URI schemaUri = getTypeSchemaUri(uri); + Keys keys = apiLoader.buildDocumentKeys(uri, schemaUri); + Dimensions dimensions = new DimensionsBuilder(schemaUri).toDimensions(); + Model model = context.getModel(keys, dimensions); + + if (model == null) + { + uri = getTypeUri(typeName, true, false); + schemaUri = getTypeSchemaUri(uri); + keys = apiLoader.buildDocumentKeys(uri, schemaUri); + dimensions = new DimensionsBuilder(schemaUri).toDimensions(); + model = context.getModel(keys, dimensions); + } + + final SchemaGenerator generator = getSchemaGenerator(); + + JavaBytecodeClass javaBytecodeClass = null; + + if (model instanceof Schema) + { + javaBytecodeClass = generator.generateSchemaInterface((Schema) model); + } + else if (model instanceof Choices) + { + javaBytecodeClass = generator.generateChoicesEnum((Choices) model); + } + + if (javaBytecodeClass != null) + + { + final byte[] bytecode = javaBytecodeClass.getBytecode(); + + final File schemaClassRootDirectory = getSchemaClassRootDirectory(); + if (schemaClassRootDirectory != null) + { + + // TODO: Can this be simplified? (just trying to construct a + // file path here and this code looks crazy...) + final String[] splitResult = StringUtils.split(javaBytecodeClass.getInternalName()); + final int lastElementIndex = splitResult.length - 1; + final String[] relativePath = ArrayUtils.subarray(splitResult, 0, lastElementIndex); + final String classFileName = splitResult[lastElementIndex] + ".class"; + final File classFileDir = FileUtils.getFile(schemaClassRootDirectory, relativePath); + final File classFileOnDisk = FileUtils.getFile(classFileDir, classFileName); + + try + { + FileUtils.writeByteArrayToFile(classFileOnDisk, bytecode); + } + catch (final IOException e) + { + + throw new SchemaLoaderException("Failed to write class file (" + classFileOnDisk + ") for Model (" + + model + ")", e, this); + + } + } + + return defineClass(typeName, bytecode, 0, bytecode.length); + } + + return super.findClass(typeName); + + } + + private SortedSet getAllSubschemaNames(final UniqueName namespace) + { + + final String namespaceString = (namespace != null) ? namespace.toString() : UniqueName.NAME_SEPARATOR; + + final String javaPackageName = (!namespaceString.equals(UniqueName.NAME_SEPARATOR)) ? namespaceString.replace(UniqueName.NAME_SEPARATOR_CHAR, '.') : null; + + // TODO: Cache or reuse the Reflections if possible (to avoid lag) + final Reflections reflections = new Reflections(javaPackageName, this); + + final SortedSet typeNames = new TreeSet<>(); + + for (Class superType : JAVA_TYPE_WRML_BASES) + { + final Set subTypes = reflections.getSubTypesOf(superType); + if (subTypes != null && !subTypes.isEmpty()) + { + for (final Object subType : subTypes) + { + final Class subClass = (Class) subType; + if (subClass.isInterface()) + { + final UniqueName uniqueName = new UniqueName(subClass.getName().replace('.', UniqueName.NAME_SEPARATOR_CHAR)); + typeNames.add(uniqueName); + } + } + } + } + + + // TODO: Implement this more intelligently, leveraging the Classloader API if possible + + /* + + http://reflections.googlecode.com/svn/trunk/reflections/javadoc/apidocs/org/reflections/util/ClasspathHelper.html#forPackage(java.lang.String, java.lang.ClassLoader...) + + public static Set forPackage(String name, ClassLoader... classLoaders) + + returns urls with resources of package starting with given name, using ClassLoader.getResources(String) + that is, forPackage("org.reflections") effectively returns urls from classpath with packages starting with org.reflections + + if optional ClassLoaders are not specified, then both contextClassLoader() and staticClassLoader() are used for ClassLoader.getResources(String) + */ + + /* + final Set uriSet = _Schemas.keySet(); + for (final URI uri : uriSet) + { + final UniqueName uniqueName = getTypeUniqueName(uri); + final String uniqueNameString = uniqueName.toString(); + if (namespaceString.equals(UniqueName.NAME_SEPARATOR) || uniqueNameString.startsWith(namespaceString)) + { + typeNames.add(uniqueName); + } + } + */ + + return typeNames; + + } + + private final File getSchemaClassRootDirectory() + { + + final SchemaLoaderConfiguration config = getConfig(); + if (config != null) + { + /* + * Note that this directory value may be null, in which case the class + * files will not be written to disk but will be loaded into the + * runtime's memory only. + */ + + return config.getSchemaClassRootDirectory(); + } + return null; + + } + + private final SchemaGenerator getSchemaGenerator() + { + + return _SchemaGenerator; + } + + private Class getNativeChoicesEnumClass(final URI uri) + { + + if (!_ChoicesEnumClasses.containsKey(uri)) + { + + final ClassLoader parentClassLoader = getParent(); + if (parentClassLoader == null) + { + return null; + + } + + final String choicesEnumName = getNativeTypeName(uri); + + try + { + final Class choicesEnumClass = parentClassLoader.loadClass(choicesEnumName); + if (choicesEnumClass != null && choicesEnumClass.isEnum()) + { + _ChoicesEnumClasses.put(uri, choicesEnumClass); + } + } + catch (final ClassNotFoundException e) + { + return null; + } + + } + + return _ChoicesEnumClasses.get(uri); + + } + + private Class getNativeSchemaInterface(final URI schemaUri) + { + + if (!_SchemaInterfaces.containsKey(schemaUri)) + { + + final ClassLoader parentClassLoader = getParent(); + if (parentClassLoader == null) + { + return null; + } + + final String schemaInterfaceName = getNativeTypeName(schemaUri); + + Class schemaInterface = null; + + // See if the schema interface is loadable by the parent. This is done primarily for + // bootstrapping WRML; allowing us to treat "standard" Java interfaces as if they were WRML schema-based. + + try + { + schemaInterface = parentClassLoader.loadClass(schemaInterfaceName); + _SchemaInterfaces.put(schemaUri, schemaInterface); + } + catch (final ClassNotFoundException e) + { + return null; + } + + } + + return _SchemaInterfaces.get(schemaUri); + } + + private URI getTypeSchemaUri(final URI uri) + { + + final Context context = getContext(); + final ApiLoader apiLoader = context.getApiLoader(); + final ApiNavigator apiNavigator = apiLoader.getParentApiNavigator(uri); + if (apiNavigator == null) + { + return getSchemaSchemaUri(); + } + + final Resource resource = apiNavigator.getResource(uri); + if (resource == null) + { + return getSchemaSchemaUri(); + } + + return resource.getDefaultSchemaUri(); + } + + + private void loadJsonSchemas() + { + + final SchemaLoaderConfiguration config = _Context.getConfig().getSchemaLoader(); + if (config == null) + { + return; + } + + final Map loadedJsonSchemas = new LinkedHashMap<>(); + final URI[] jsonSchemaIds = config.getJsonSchemaIds(); + if (jsonSchemaIds != null) + { + for (final URI jsonSchemaUri : jsonSchemaIds) + { + try + { + final JsonSchema jsonSchema = _JsonSchemaLoader.load(jsonSchemaUri); + if (jsonSchema != null) + { + loadedJsonSchemas.put(jsonSchema.getId(), jsonSchema); + } + } + catch (final IOException e) + { + LOG.error(e.getMessage(), e); + } + } + } + + final File[] jsonSchemaDirectories = config.getJsonSchemaDirectories(); + if (jsonSchemaDirectories != null) + { + for (final File jsonSchemaDirectory : jsonSchemaDirectories) + { + final Collection jsonSchemaFiles = FileUtils.listFiles(jsonSchemaDirectory, + JSON_SCHEMA_FILE_EXTENSIONS, true); + + for (final File jsonSchemaFile : jsonSchemaFiles) + { + try + { + final JsonSchema jsonSchema = _JsonSchemaLoader.load(jsonSchemaFile); + if (jsonSchema != null) + { + loadedJsonSchemas.put(jsonSchema.getId(), jsonSchema); + } + } + catch (final IOException e) + { + LOG.error(e.getMessage(), e); + } + } + } + } + + final File[] jsonSchemaFiles = config.getJsonSchemaFiles(); + if (jsonSchemaFiles != null) + { + for (final File jsonSchemaFile : jsonSchemaFiles) + { + try + { + final JsonSchema jsonSchema = _JsonSchemaLoader.load(jsonSchemaFile); + if (jsonSchema != null) + { + loadedJsonSchemas.put(jsonSchema.getId(), jsonSchema); + } + } + catch (final IOException e) + { + LOG.error(e.getMessage(), e); + } + } + } + + for (final JsonSchema loadedSchema : loadedJsonSchemas.values()) + { + load(loadedSchema, getDocumentSchemaUri()); + } + } + +} diff --git a/core/src/main/java/org/wrml/runtime/schema/DefaultSchemaLoaderFactory.java b/core/src/main/java/org/wrml/runtime/schema/DefaultSchemaLoaderFactory.java new file mode 100644 index 0000000..ad511d6 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/DefaultSchemaLoaderFactory.java @@ -0,0 +1,38 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import org.wrml.runtime.Factory; + +public class DefaultSchemaLoaderFactory implements Factory +{ + @Override + public SchemaLoader create() + { + + return new DefaultSchemaLoader(); + } +} diff --git a/core/src/main/java/org/wrml/runtime/schema/DefaultValue.java b/core/src/main/java/org/wrml/runtime/schema/DefaultValue.java new file mode 100644 index 0000000..4b9e773 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/DefaultValue.java @@ -0,0 +1,51 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import java.lang.annotation.*; + +/** + *

+ * Used by the WRML runtime to annotate Schema "slots" (getter methods) with a default value that is available at + * runtime. + *

+ *

+ * Note that the runtime will convert this value from a {@link String} to the slot's value type as needed. + *

+ * + * @see org.wrml.runtime.syntax.SyntaxLoader#parseSyntacticText(String, java.lang.reflect.Type) + */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.METHOD}) +public @interface DefaultValue +{ + /** + * The default value (represented as a String) for the annotated slot. + * + * @return The default value (represented as a String) for the annotated slot. + */ + String value(); +} diff --git a/core/src/main/java/org/wrml/runtime/schema/Description.java b/core/src/main/java/org/wrml/runtime/schema/Description.java new file mode 100644 index 0000000..581a2e2 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/Description.java @@ -0,0 +1,44 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Used by the WRML runtime to annotate Schema interfaces and their "Slots" (getter methods) with a text description + * that is available at runtime. + */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ ElementType.TYPE, ElementType.METHOD }) +public @interface Description +{ + + String value(); +} diff --git a/core/src/main/java/org/wrml/runtime/schema/DisallowedValues.java b/core/src/main/java/org/wrml/runtime/schema/DisallowedValues.java new file mode 100644 index 0000000..12e44f4 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/DisallowedValues.java @@ -0,0 +1,48 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import java.lang.annotation.*; + +/** + * Values that are not allowed by the annotated slot. + * + * @see org.wrml.model.schema.Schema + * @see org.wrml.model.schema.Slot + * @see org.wrml.runtime.schema.PropertyProtoSlot#getDisallowedValues() + */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.METHOD}) +public @interface DisallowedValues +{ + + /** + * An array of values that are not allowed by the annotated slot. + * + * @return An array of values that are not allowed by the annotated slot. + */ + String[] value(); +} diff --git a/core/src/main/java/org/wrml/runtime/schema/DivisibleByValue.java b/core/src/main/java/org/wrml/runtime/schema/DivisibleByValue.java new file mode 100644 index 0000000..28b573c --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/DivisibleByValue.java @@ -0,0 +1,44 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Used by the WRML runtime to annotate Schema "slots" (getter methods) with a default value that is available at + * runtime. + */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ ElementType.METHOD }) +public @interface DivisibleByValue +{ + + String value(); +} diff --git a/core/src/main/java/org/wrml/runtime/schema/LinkProtoSlot.java b/core/src/main/java/org/wrml/runtime/schema/LinkProtoSlot.java new file mode 100644 index 0000000..40ef8f0 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/LinkProtoSlot.java @@ -0,0 +1,265 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import org.wrml.model.rest.Method; +import org.wrml.model.schema.LinkValue; +import org.wrml.model.schema.Schema; +import org.wrml.model.schema.ValueSourceType; +import org.wrml.util.JavaMethod; + +import java.lang.annotation.Annotation; +import java.lang.reflect.Type; +import java.net.URI; +import java.util.LinkedHashMap; +import java.util.Map; + +/** + *

+ * A "pre-compiled" link descriptor, generated from a {@link Schema} slot's {@link LinkValue}. + *

+ *

+ * A {@link LinkProtoSlot} is used by the runtime to hold the detailed knowledge about a particular {@link org.wrml.model.schema.Slot} + * with a {@link LinkValue}. This type of {@link ProtoSlot} is to describe a slot that has hyperlink method and is + * similar (in concept) to the {@link java.beans.MethodDescriptor}. + *

+ * + * @see Prototype + * @see ProtoSlot + * @see org.wrml.model.rest.Link + * @see LinkValue + * @see org.wrml.model.schema.Schema + * @see org.wrml.model.schema.Slot + */ +public final class LinkProtoSlot extends ProtoSlot +{ + + private final JavaMethod _LinkMethod; + + private final boolean _Embedded; + + private final URI _ResponseSchemaUri; + + private final URI _RequestSchemaUri; + + private final URI _LinkRelationUri; + + private final Method _Method; + + private Map _LinkSlotBindings; + + LinkProtoSlot(final Prototype prototype, final String slotName, final JavaMethod linkJavaMethod) + { + + super(prototype, slotName); + _LinkMethod = linkJavaMethod; + + final LinkSlot linkSlot = getAnnotationInternal(LinkSlot.class); + + final String relationUriString = linkSlot.linkRelationUri(); + _LinkRelationUri = URI.create(relationUriString); + _Embedded = linkSlot.embedded(); + _Method = linkSlot.method(); + + + if (_Embedded && _Method != Method.Get) + { + throw new PrototypeException("Embedded links are not compatible with the interaction method: " + + _Method, null, getPrototype(), slotName); + } + + if (getAnnotationInternal(LinkSlotBinding.class) != null) + { + throw new PrototypeException("The " + LinkSlotBinding.class + " annotation is not allowed here. Alternatively, one or more of these annotations may be included in the " + LinkSlot.class + " annotation.", null, prototype); + } + + + final SchemaLoader schemaLoader = getSchemaLoader(); + final JavaMethod.Signature linkMethodSignature = _LinkMethod.getSignature(); + final Type returnType = linkMethodSignature.getReturnType(); + + if (returnType != null && !Void.TYPE.equals(returnType)) + { + _ResponseSchemaUri = schemaLoader.getTypeUri(returnType); + } + else + { + _ResponseSchemaUri = null; + } + + Type modelParameterType = null; + final Type[] parameters = linkMethodSignature.getParameterTypes(); + if (parameters != null && parameters.length == 1) + { + final Type parameterType = parameters[0]; + if (ValueType.isModelType(parameterType)) + { + modelParameterType = parameterType; + } + } + + if (modelParameterType != null) + { + _RequestSchemaUri = schemaLoader.getTypeUri(modelParameterType); + } + else + { + _RequestSchemaUri = null; + } + + + } + + @Override + public URI getDeclaringSchemaUri() + { + + final Class declaringSchemaInterface = getJavaMethod().getMethod().getDeclaringClass(); + final URI declaringSchemaUri = getSchemaLoader().getTypeUri(declaringSchemaInterface); + return declaringSchemaUri; + } + + @Override + public Type getHeapValueType() + { + + return ValueType.JAVA_TYPE_LINK; + } + + /** + * The {@link JavaMethod} associated with this link. + * + * @return The {@link JavaMethod} associated with this link. + */ + public JavaMethod getJavaMethod() + { + + return _LinkMethod; + } + + /** + * A mapping of referenced slot name (slot name within this link's referenced/response schema) to the source of the value for the referenced slot name. + * + * @return A mapping of referenced slot name (slot name within this link's referenced/response schema) to the source of the value for the referenced slot name. + */ + public Map getLinkSlotBindings() + { + + // This is lazily initialized to avoid infinite cycles since this method calls schemaLoader.getPrototype(...) + if (_LinkSlotBindings == null) + { + // Initialize the optional link slot bindings + _LinkSlotBindings = new LinkedHashMap<>(); + + final Prototype prototype = getPrototype(); + final LinkSlot linkSlot = getAnnotationInternal(LinkSlot.class); + + final LinkSlotBinding[] linkSlotBindings = linkSlot.bindings(); + if (linkSlotBindings != null && linkSlotBindings.length > 0) + { + final Prototype referencePrototype; + + + final Type referenceType = _LinkMethod.getMethod().getReturnType(); + if (referenceType != null && referenceType != Void.TYPE) + { + + final SchemaLoader schemaLoader = prototype.getSchemaLoader(); + final URI referenceSchemaUri = schemaLoader.getTypeUri(referenceType); + if (referenceSchemaUri.equals(prototype.getSchemaUri())) + { + referencePrototype = prototype; + } + else + { + referencePrototype = schemaLoader.getPrototype(referenceSchemaUri); + } + } + else + { + referencePrototype = null; + } + + + for (final LinkSlotBinding linkSlotBinding : linkSlotBindings) + { + final String referenceSlot = linkSlotBinding.referenceSlot(); + final String valueSource = linkSlotBinding.valueSource(); + final ValueSourceType valueSourceType = linkSlotBinding.valueSourceType(); + + final ProtoValueSource protoValueSource = new ProtoValueSource(referencePrototype, referenceSlot, prototype, valueSource, valueSourceType); + _LinkSlotBindings.put(referenceSlot, protoValueSource); + } + } + } + + + return _LinkSlotBindings; + } + + /** + * A flag that is set to true if this link's referenced/response document is embedded within the link by default. + * + * @return The value of the embedded flag, which is set to true if this link's referenced/response document is embedded within the link by default. + */ + public boolean isEmbedded() + { + + return _Embedded; + } + + public URI getLinkRelationUri() + { + + return _LinkRelationUri; + } + + public URI getRequestSchemaUri() + { + + return _RequestSchemaUri; + } + + public URI getResponseSchemaUri() + { + + return _ResponseSchemaUri; + } + + public Method getMethod() + { + + return _Method; + } + + @Override + protected T getAnnotationInternal(final Class annotationClass) + { + + return getJavaMethod().getMethod().getAnnotation(annotationClass); + } + + +} diff --git a/core/src/main/java/org/wrml/runtime/schema/LinkSlot.java b/core/src/main/java/org/wrml/runtime/schema/LinkSlot.java new file mode 100644 index 0000000..c0b9f74 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/LinkSlot.java @@ -0,0 +1,114 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import org.wrml.model.rest.Api; +import org.wrml.model.schema.LinkValue; +import org.wrml.model.schema.Slot; +import org.wrml.model.rest.Method; + +import java.lang.annotation.*; + +/** + *

+ * A {@link LinkSlot} identifies a Java {@link java.lang.reflect.Method} ({@link ElementType#METHOD}) as a {@link Slot} containing a + * {@link LinkValue}. In the context of the WRML runtime, this annotation enables the automation of {@link Api}-metadata + * powered interconntect automation (aka HATEOAS). + *

+ *

+ * From the runtime's perspective {@link LinkSlot} annotations describe hypermedia-oriented functions. + *

+ *

+ *

+ *  LinkSlot:  ()
+ *  Example: org/science/rocket/RocketLaunchResult POST rel="http://.../makeRocketGoNow" (org/science/rocket/RocketLaunchInstructions)
+ * 
+ *

+ *

+ * Compared to... + *

+ *

+ *

+ *  Function/Method:  (parameters)
+ *  Example: org.science.rocket.RocketLaunchResult makeRocketGoNow(org.science.rocket.RocketLaunchInstructions instructions)
+ * 
+ *

+ * + * @see Slot + * @see LinkValue + * @see org.wrml.model.rest.Link + * @see org.wrml.model.rest.LinkRelation + * @see LinkProtoSlot + * @see LinkSlotBinding + * @see java.net.URI + * @see org.wrml.runtime.rest.UriTemplate + * @see Method + */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.METHOD}) +public @interface LinkSlot +{ + + /** + * The (String representation) of the {@link java.net.URI} that identifies the {@link org.wrml.model.rest.LinkRelation} + * associated with this {@link LinkSlot}. + * + * @return The (String representation) of the {@link java.net.URI} that identifies the {@link org.wrml.model.rest.LinkRelation} + * associated with this {@link LinkSlot}. + */ + String linkRelationUri(); + + /** + *

+ * The interaction {@link Method} associated with this {@link LinkSlot}, which is effectively copied here (from the + * {@link org.wrml.model.rest.LinkRelation#getMethod()}) so that the {@link org.wrml.model.rest.LinkRelation} document + * does not need to be retrieved/loaded in order to "prototype" and load the schema associated with this slot. + *

+ *

+ * The default value is {@link Method#Get}. + *

+ * + * @return The interaction {@link Method} associated with this {@link LinkSlot} + */ + Method method() default Method.Get; + + /** + * The optional array of {@link LinkSlotBinding} that enable a degree control/logic to influence the formation of the "href" values with + * the {@link org.wrml.model.rest.Link} instances that occupy this link slot within model instances. + * + * @return The optional array of {@link LinkSlotBinding}. + */ + LinkSlotBinding[] bindings() default {}; + + /** + * Flag that determines the default behavior of this {@link LinkSlot} with respect to the embedding of the reference document. The default value is false. + * + * @return true if this {@link LinkSlot} should always embed the linked document, false if it should be left up to the request. + * @see org.wrml.runtime.Dimensions#getEmbeddedLinkSlotNames() + */ + boolean embedded() default false; + +} diff --git a/core/src/main/java/org/wrml/runtime/schema/LinkSlotBinding.java b/core/src/main/java/org/wrml/runtime/schema/LinkSlotBinding.java new file mode 100644 index 0000000..eb40987 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/LinkSlotBinding.java @@ -0,0 +1,85 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import org.wrml.model.schema.ValueSourceType; + +import java.lang.annotation.*; + +/** + *

+ * The "compiled" annotation representation of a {@link org.wrml.model.schema.LinkValueBinding}. + *

+ *

+ * One or more instances of this {@link Annotation} may optionally be added to a {@link LinkSlot} to establish the binding between + * the link's referrer and its referenced endpoint (both are typically {@link org.wrml.model.rest.Document}s). + *

+ *

+ * The reference slot is expected to be a key slot that is used as a {@link org.wrml.runtime.rest.UriTemplate} parameter when linking. + * Note that a {@link LinkSlotBinding} is not necessary in cases where the referenced document slot's name is the same name as the referrer's slot that holds the link "binding" value. + * This same slot name case is considered a natural link binding and is enabled by default. + *

+ * + * @see org.wrml.model.schema.LinkValue + * @see org.wrml.model.schema.LinkValueBinding + * @see LinkSlot + * @see ValueSourceType + * @see LinkProtoSlot + * @see org.wrml.runtime.rest.UriTemplate + */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.METHOD}) +public @interface LinkSlotBinding +{ + + /** + *

+ * The slot, within the link's referenced document, that is bound by this {@link LinkSlotBinding}. + *

+ *

+ * Note that the reference slot is expected to be a key slot that is used as a {@link org.wrml.runtime.rest.UriTemplate} parameter when linking. + *

+ * + * @return The slot, within the link's referenced document, that is bound by this {@link LinkSlotBinding}. + */ + String referenceSlot(); + + /** + * The source of the value that will be used to "fill in" the reference slot upon linking. + * + * @return The source of the value that will be used to "fill in" the reference slot upon linking. + */ + String valueSource(); + + /** + * The source type for the binding value. + * + * @return The source type for the binding value. + */ + ValueSourceType valueSourceType(); + + +} diff --git a/core/src/main/java/org/wrml/runtime/schema/MaximumLength.java b/core/src/main/java/org/wrml/runtime/schema/MaximumLength.java new file mode 100644 index 0000000..984fbc6 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/MaximumLength.java @@ -0,0 +1,44 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Used by the WRML runtime to annotate Schema "slots" (getter methods) with a maximum value that is available at + * runtime. + */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ ElementType.METHOD }) +public @interface MaximumLength +{ + + int value(); +} diff --git a/core/src/main/java/org/wrml/runtime/schema/MaximumSize.java b/core/src/main/java/org/wrml/runtime/schema/MaximumSize.java new file mode 100644 index 0000000..3ac937f --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/MaximumSize.java @@ -0,0 +1,44 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Used by the WRML runtime to annotate Schema "slots" (getter methods) with a maximum value that is available at + * runtime. + */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ ElementType.METHOD }) +public @interface MaximumSize +{ + + int value(); +} diff --git a/core/src/main/java/org/wrml/runtime/schema/MaximumValue.java b/core/src/main/java/org/wrml/runtime/schema/MaximumValue.java new file mode 100644 index 0000000..9e0730d --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/MaximumValue.java @@ -0,0 +1,46 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Used by the WRML runtime to annotate Schema "slots" (getter methods) with a maximum value that is available at + * runtime. + */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ ElementType.METHOD }) +public @interface MaximumValue +{ + + boolean exclusive(); + + String value(); +} diff --git a/core/src/main/java/org/wrml/runtime/schema/MinimumLength.java b/core/src/main/java/org/wrml/runtime/schema/MinimumLength.java new file mode 100644 index 0000000..24548d9 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/MinimumLength.java @@ -0,0 +1,44 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Used by the WRML runtime to annotate Schema "slots" (getter methods) with a minimum value that is available at + * runtime. + */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ ElementType.METHOD }) +public @interface MinimumLength +{ + + int value(); +} diff --git a/core/src/main/java/org/wrml/runtime/schema/MinimumSize.java b/core/src/main/java/org/wrml/runtime/schema/MinimumSize.java new file mode 100644 index 0000000..53f086a --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/MinimumSize.java @@ -0,0 +1,44 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Used by the WRML runtime to annotate Schema "slots" (getter methods) with a minimum value that is available at + * runtime. + */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ ElementType.METHOD }) +public @interface MinimumSize +{ + + int value(); +} diff --git a/core/src/main/java/org/wrml/runtime/schema/MinimumValue.java b/core/src/main/java/org/wrml/runtime/schema/MinimumValue.java new file mode 100644 index 0000000..eca82db --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/MinimumValue.java @@ -0,0 +1,46 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Used by the WRML runtime to annotate Schema "slots" (getter methods) with a minimum value that is available at + * runtime. + */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ ElementType.METHOD }) +public @interface MinimumValue +{ + + boolean exclusive(); + + String value(); +} diff --git a/core/src/main/java/org/wrml/runtime/schema/NonNull.java b/core/src/main/java/org/wrml/runtime/schema/NonNull.java new file mode 100644 index 0000000..82a9ad3 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/NonNull.java @@ -0,0 +1,41 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Used by the WRML runtime to mark a slot's write method as requiring a non-null parameter value. + */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ ElementType.TYPE, ElementType.METHOD }) +public @interface NonNull +{ +} diff --git a/core/src/main/java/org/wrml/runtime/schema/PropertyProtoSlot.java b/core/src/main/java/org/wrml/runtime/schema/PropertyProtoSlot.java new file mode 100644 index 0000000..d6afabd --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/PropertyProtoSlot.java @@ -0,0 +1,724 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import org.apache.commons.lang3.reflect.TypeUtils; +import org.wrml.model.Model; +import org.wrml.runtime.syntax.SyntaxLoader; +import org.wrml.util.JavaBean.Property; + +import java.lang.annotation.Annotation; +import java.lang.reflect.Type; +import java.net.URI; +import java.util.Arrays; +import java.util.Collection; +import java.util.LinkedHashSet; +import java.util.Set; + +/** + *

+ * A {@link ProtoSlot} that represents a "property" slot, which is a name/value pair that isn't associated with a hyperlink (which are managed by the runtime with + * {@link LinkProtoSlot}s). + *

+ *

+ * A {@link PropertyProtoSlot} is used by the runtime to hold the detailed knowledge about a particular {@link org.wrml.model.schema.Slot}. Unlike the {@link LinkProtoSlot}, this + * type of {@link ProtoSlot} is to describe a slot that hasproperty and is similar (in concept) to the {@link java.beans.PropertyDescriptor}. + *

+ * + * @see Property + * @see Prototype + * @see ProtoSlot + * @see LinkProtoSlot + * @see org.wrml.model.schema.Schema + * @see org.wrml.model.schema.Slot + */ +public class PropertyProtoSlot extends ProtoSlot +{ + + private final Property _Property; + + private java.lang.reflect.Type _ListElementType; + + private URI _ListElementSchemaUri; + + private URI _ModelSchemaUri; + + private Object _DefaultValue; + + private Object _DivisibleByValue; + + private Object _MaximumValue; + + private Object _MinimumValue; + + private Integer _MinimumLength; + + private Integer _MaximumLength; + + private Integer _MinimumSize; + + private Integer _MaximumSize; + + private boolean _IsExclusiveMaximum; + + private boolean _IsExclusiveMinimum; + + private Set _DisallowedValues; + + private boolean _Searchable; + + PropertyProtoSlot(final Prototype prototype, final String slotName, final Property property) + { + + super(prototype, slotName); + + if (property == null) + { + throw new NullPointerException("Prototype (" + prototype + ") Slot (" + slotName + ") property cannot be null."); + } + + _Property = property; + + final Type heapValueType = getHeapValueType(); + + final SyntaxLoader syntaxLoader = getContext().getSyntaxLoader(); + + final DefaultValue defaultValue = getAnnotation(DefaultValue.class); + if (defaultValue != null) + { + final String defaultValueString = defaultValue.value(); + + try + { + _DefaultValue = syntaxLoader.parseSyntacticText(defaultValueString, heapValueType); + } + catch (final Exception e) + { + + throw new PrototypeException(prototype + " slot named \"" + slotName + "\" default value annotation's value could not be converted from text value \"" + + defaultValueString + "\" to a Java " + heapValueType + ". Detail message: " + e.getMessage(), e, prototype, slotName); + } + } + + if (Boolean.TYPE.equals(heapValueType)) + { + if (_DefaultValue == null) + { + _DefaultValue = Boolean.FALSE; + } + } + else if (TypeUtils.isAssignable(heapValueType, Enum.class)) + { + + if (_DefaultValue == null) + { + // Enum's default to their first constant + // Single selects default to the first choice + @SuppressWarnings("unchecked") + final Class> enumValueType = (Class>) heapValueType; + if (enumValueType != null) + { + final Enum[] enumChoices = enumValueType.getEnumConstants(); + if (enumChoices != null && enumChoices.length > 0) + { + _DefaultValue = enumChoices[0]; + } + } + } + + } + else if (TypeUtils.isAssignable(heapValueType, Number.class) || Integer.TYPE.equals(heapValueType) || Long.TYPE.equals(heapValueType) || Double.TYPE.equals(heapValueType)) + { + + if (_DefaultValue == null && Integer.TYPE.equals(heapValueType) || Long.TYPE.equals(heapValueType) || Double.TYPE.equals(heapValueType)) + { + _DefaultValue = getValueType().getDefaultValue(); + } + + // isolate() + { + final MinimumValue minimumValue = getAnnotation(MinimumValue.class); + if (minimumValue != null) + { + final String minimumValueString = minimumValue.value(); + + try + { + _MinimumValue = syntaxLoader.parseSyntacticText(minimumValueString, heapValueType); + } + catch (final Exception e) + { + + throw new PrototypeException(prototype + " slot named \"" + slotName + "\" minimum value annotation's value could not be converted from text value \"" + + minimumValueString + "\" to a Java " + heapValueType + ". Detail message: " + e.getMessage(), e, prototype, slotName); + } + + _IsExclusiveMinimum = minimumValue.exclusive(); + + } + } + + // isolate() + { + final MaximumValue maximumValue = getAnnotation(MaximumValue.class); + if (maximumValue != null) + { + final String maximumValueString = maximumValue.value(); + + try + { + _MaximumValue = syntaxLoader.parseSyntacticText(maximumValueString, heapValueType); + } + catch (final Exception e) + { + + throw new PrototypeException(prototype + " slot named \"" + slotName + "\" maximum value annotation's value could not be converted from text value \"" + + maximumValueString + "\" to a Java " + heapValueType + ". Detail message: " + e.getMessage(), e, prototype, slotName); + } + + _IsExclusiveMaximum = maximumValue.exclusive(); + } + } + + // isolate() + { + final DivisibleByValue divisibleByValue = getAnnotation(DivisibleByValue.class); + if (divisibleByValue != null && + // The "divisible by" constraint does not apply to doubles + !Double.TYPE.equals(heapValueType) && !TypeUtils.isAssignable(heapValueType, Double.class)) + { + final String divisibleByValueString = divisibleByValue.value(); + + try + { + _DivisibleByValue = syntaxLoader.parseSyntacticText(divisibleByValueString, heapValueType); + } + catch (final Exception e) + { + + throw new PrototypeException(prototype + " slot named \"" + slotName + "\" divisibleBy value annotation's value could not be converted from text value \"" + + divisibleByValueString + "\" to a Java " + heapValueType + ". Detail message: " + e.getMessage(), e, prototype, slotName); + } + + if (_DivisibleByValue.equals(0)) + { + throw new PrototypeException(prototype + " slot named \"" + slotName + "\" divisibleBy value annotation's value could not be converted from text value \"" + + divisibleByValueString + "\" to a Java " + heapValueType + ". Detail message: " + "zero value", null, prototype, slotName); + + } + + } + } + + // isolate() + { + final DisallowedValues disallowedValues = getAnnotation(DisallowedValues.class); + if (disallowedValues != null) + { + final String[] disallowedValuesArray = disallowedValues.value(); + if (disallowedValuesArray != null) + { + _DisallowedValues = new LinkedHashSet<>(disallowedValuesArray.length); + for (final String disallowedValueString : disallowedValuesArray) + { + + final Object disallowedValue = syntaxLoader.parseSyntacticText(disallowedValueString, heapValueType); + + _DisallowedValues.add(disallowedValue); + } + } + } + } + + } + else if (String.class.equals(heapValueType)) + { + + final MinimumLength minimumLength = getAnnotation(MinimumLength.class); + if (minimumLength != null) + { + _MinimumLength = minimumLength.value(); + } + + final MaximumLength maximumLength = getAnnotation(MaximumLength.class); + if (maximumLength != null) + { + _MaximumLength = maximumLength.value(); + } + + final DisallowedValues disallowedValues = getAnnotation(DisallowedValues.class); + if (disallowedValues != null) + { + final String[] disallowedValuesArray = disallowedValues.value(); + if (disallowedValuesArray != null) + { + _DisallowedValues = new LinkedHashSet<>(disallowedValuesArray.length); + _DisallowedValues.addAll(Arrays.asList(disallowedValuesArray)); + } + } + + } + else if (TypeUtils.isAssignable(heapValueType, Collection.class)) + { + + final MinimumSize minimumSize = getAnnotation(MinimumSize.class); + if (minimumSize != null) + { + _MinimumSize = minimumSize.value(); + } + + final MaximumSize maximumSize = getAnnotation(MaximumSize.class); + if (maximumSize != null) + { + _MaximumSize = maximumSize.value(); + } + + } + + final Searchable searchable = getAnnotation(Searchable.class); + if (searchable != null) + { + _Searchable = true; + } + + } + + @Override + public URI getDeclaringSchemaUri() + { + + final Class declaringSchemaInterface = getProperty().getDeclaringClass(); + final URI declaringSchemaUri = getSchemaLoader().getTypeUri(declaringSchemaInterface); + return declaringSchemaUri; + } + + @SuppressWarnings("unchecked") + public T getDefaultValue() + { + + return (T) _DefaultValue; + } + + public Set getDisallowedValues() + { + + return _DisallowedValues; + } + + @SuppressWarnings("unchecked") + public T getDivisibleByValue() + { + + return (T) _DivisibleByValue; + } + + @Override + public Type getHeapValueType() + { + + return getProperty().getType(); + } + + public URI getListElementSchemaUri() + { + + if (_ListElementSchemaUri == null) + { + + final java.lang.reflect.Type listElementType = getListElementType(); + + // Compare the List's element type to the Model type + if (TypeUtils.isAssignable(listElementType, ValueType.JAVA_TYPE_MODEL)) + { + final SchemaLoader schemaLoader = getSchemaLoader(); + _ListElementSchemaUri = schemaLoader.getTypeUri(listElementType); + } + } + + return _ListElementSchemaUri; + } + + public java.lang.reflect.Type getListElementType() + { + + if (_ListElementType == null) + { + + if (getValueType() != ValueType.List) + { + throw new PrototypeException("Prototype (" + getPrototype() + ") Slot (" + getName() + ") is not a List.", null, getPrototype(), getName()); + } + + _ListElementType = ValueType.getListElementType(getHeapValueType()); + } + + return _ListElementType; + } + + public Integer getMaximumLength() + { + + return _MaximumLength; + } + + public Integer getMaximumSize() + { + + return _MaximumSize; + } + + @SuppressWarnings("unchecked") + public T getMaximumValue() + { + + return (T) _MaximumValue; + } + + public Integer getMinimumLength() + { + + return _MinimumLength; + } + + public Integer getMinimumSize() + { + + return _MinimumSize; + } + + @SuppressWarnings("unchecked") + public T getMinimumValue() + { + + return (T) _MinimumValue; + } + + public URI getModelSchemaUri() + { + + if (_ModelSchemaUri == null) + { + + if (getValueType() != ValueType.Model) + { + throw new PrototypeException("Prototype (" + getPrototype() + ") Slot (" + getName() + ") is not a model type.", null, getPrototype(), getName()); + } + + final SchemaLoader schemaLoader = getSchemaLoader(); + _ModelSchemaUri = schemaLoader.getTypeUri(getHeapValueType()); + } + + return _ModelSchemaUri; + } + + public Property getProperty() + { + + return _Property; + } + + public boolean isExclusiveMaximum() + { + + return _IsExclusiveMaximum; + } + + public boolean isExclusiveMinimum() + { + + return _IsExclusiveMinimum; + } + + public boolean isSearchable() + { + + return _Searchable; + } + + public void validateNewValue(final Model model, final Object newValue) throws PrototypeException + { + + final String name = getName(); + + if (_DisallowedValues != null && _DisallowedValues.contains(newValue)) + { + throw new PrototypeException("The " + name + " value: " + newValue + " is disallowed.", null, getPrototype(), name); + } + + final ValueType valueType = getValueType(); + + switch (valueType) + { + case Boolean: + { + break; + } + + case Date: + { + break; + } + + case Double: + { + if (newValue == null) + { + break; + } + + if (_MaximumValue != null) + { + final boolean lessThanMax; + if (isExclusiveMaximum()) + { + lessThanMax = (double) newValue < (double) _MaximumValue; + } + else + { + lessThanMax = (double) newValue <= (double) _MaximumValue; + } + + if (!lessThanMax) + { + throw new PrototypeException("The " + name + " value: " + newValue + " is greater than the maximum allowed value: " + _MaximumValue, null, getPrototype(), + name); + } + } + + if (_MinimumValue != null) + { + final boolean greaterThanMin; + if (isExclusiveMinimum()) + { + greaterThanMin = (double) newValue > (double) _MinimumValue; + } + else + { + greaterThanMin = (double) newValue >= (double) _MinimumValue; + } + + if (!greaterThanMin) + { + throw new PrototypeException("The " + name + " value: " + newValue + " is less than the minimum allowed value: " + _MinimumValue, null, getPrototype(), + name); + } + } + + if (_DivisibleByValue != null) + { + + final double remainder = Math.IEEEremainder((double) newValue, (double) _DivisibleByValue); + final boolean divisbleBy = (remainder == 0.0); + + if (!divisbleBy) + { + throw new PrototypeException("The " + name + " value: " + newValue + " is not divisible by: " + _DivisibleByValue, null, getPrototype(), name); + } + } + + break; + } + + case Integer: + { + if (newValue == null) + { + break; + } + + if (_MaximumValue != null) + { + final boolean lessThanMax; + if (isExclusiveMaximum()) + { + lessThanMax = (int) newValue < (int) _MaximumValue; + } + else + { + lessThanMax = (int) newValue <= (int) _MaximumValue; + } + + if (!lessThanMax) + { + throw new PrototypeException("The " + name + " value: " + newValue + " is greater than the maximum allowed value: " + _MaximumValue, null, getPrototype(), + name); + } + } + + if (_MinimumValue != null) + { + final boolean greaterThanMin; + if (isExclusiveMinimum()) + { + greaterThanMin = (int) newValue > (int) _MinimumValue; + } + else + { + greaterThanMin = (int) newValue >= (int) _MinimumValue; + } + + if (!greaterThanMin) + { + throw new PrototypeException("The " + name + " value: " + newValue + " is less than the minimum allowed value: " + _MinimumValue, null, getPrototype(), + name); + } + } + + if (_DivisibleByValue != null) + { + final boolean divisbleBy = ((int) newValue % (int) _DivisibleByValue) == 0; + if (!divisbleBy) + { + throw new PrototypeException("The " + name + " value: " + newValue + " is not divisible by: " + _DivisibleByValue, null, getPrototype(), name); + } + } + + break; + } + + case Link: + { + break; + } + case List: + { + break; + } + case Long: + { + if (newValue == null) + { + break; + } + + if (_MaximumValue != null) + { + final boolean lessThanMax; + if (isExclusiveMaximum()) + { + lessThanMax = (long) newValue < (long) _MaximumValue; + } + else + { + lessThanMax = (long) newValue <= (long) _MaximumValue; + } + + if (!lessThanMax) + { + throw new PrototypeException("The " + name + " value: " + newValue + " is greater than the maximum allowed value: " + _MaximumValue, null, getPrototype(), + name); + } + } + + if (_MinimumValue != null) + { + final boolean greaterThanMin; + if (isExclusiveMinimum()) + { + greaterThanMin = (long) newValue > (long) _MinimumValue; + } + else + { + greaterThanMin = (long) newValue >= (long) _MinimumValue; + } + + if (!greaterThanMin) + { + throw new PrototypeException("The " + name + " value: " + newValue + " is less than the minimum allowed value: " + _MinimumValue, null, getPrototype(), + name); + } + } + + if (_DivisibleByValue != null) + { + final boolean divisbleBy = ((long) newValue % (long) _DivisibleByValue) == 0L; + if (!divisbleBy) + { + throw new PrototypeException("The " + name + " value: " + newValue + " is not divisible by: " + _DivisibleByValue, null, getPrototype(), name); + } + } + + break; + + } + case Model: + { + break; + } + case Native: + { + break; + } + case SingleSelect: + { + break; + } + case Text: + { + if (newValue == null) + { + break; + } + + if (_MaximumLength != null) + { + final boolean lessThanMax = ((String) newValue).length() < _MaximumLength; + + if (!lessThanMax) + { + throw new PrototypeException("The " + name + " value: " + newValue + " is longer than the maximum allowed length: " + _MaximumLength, null, getPrototype(), + name); + } + } + + if (_MinimumLength != null) + { + final boolean greaterThanMin = ((String) newValue).length() > _MinimumLength; + + if (!greaterThanMin) + { + throw new PrototypeException("The " + name + " value: " + newValue + " is shorter than the minimum allowed length: " + _MinimumLength, null, + getPrototype(), name); + } + } + + break; + } + default: + { + break; + } + } + + } + + @Override + protected T getAnnotationInternal(final Class annotationClass) + { + + return getProperty().getAnnotation(annotationClass); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/schema/ProtoSearchCriteria.java b/core/src/main/java/org/wrml/runtime/schema/ProtoSearchCriteria.java new file mode 100644 index 0000000..a8dce2a --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/ProtoSearchCriteria.java @@ -0,0 +1,441 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import org.wrml.model.Model; +import org.wrml.model.rest.Document; +import org.wrml.model.rest.Embedded; +import org.wrml.model.schema.ComparisonOperator; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.DimensionsBuilder; +import org.wrml.runtime.search.SearchCriteria; +import org.wrml.runtime.search.SearchCriterion; + +import java.net.URI; +import java.util.*; + +/** + *

+ * A {@link ProtoSearchCriteria} is used by the runtime to filter/select the elements of a {@link CollectionPropertyProtoSlot}. + *

+ * + * @see CollectionPropertyProtoSlot + * @see ProtoSearchCriterion + * @see ProtoValueSource + * @see SearchCriteria + * @see SearchCriterion + * @see org.wrml.runtime.service.Service#search(org.wrml.runtime.search.SearchCriteria) + * @see CollectionSlot + * @see CollectionSlotCriterion + * @see org.wrml.model.schema.CollectionValue + * @see org.wrml.model.schema.CollectionValueSearchCriterion + */ +public final class ProtoSearchCriteria +{ + + private final CollectionPropertyProtoSlot _CollectionPropertyProtoSlot; + + private final Prototype _ReferencePrototype; + + private final Prototype _ReferrerPrototype; + + private final List _And; + + private final List _Or; + + ProtoSearchCriteria(CollectionPropertyProtoSlot collectionPropertyProtoSlot, final Prototype referencePrototype, final Prototype referrerPrototype) + { + + _CollectionPropertyProtoSlot = collectionPropertyProtoSlot; + _ReferencePrototype = referencePrototype; + _ReferrerPrototype = referrerPrototype; + + final CollectionSlot collectionSlot = collectionPropertyProtoSlot.getCollectionSlot(); + final CollectionSlotCriterion[] andArray = collectionSlot.and(); + if (andArray.length > 0) + { + + _And = new ArrayList<>(andArray.length); + for (final CollectionSlotCriterion criterion : andArray) + { + final ProtoSearchCriterion protoSearchCriterion = new ProtoSearchCriterion(this, criterion); + _And.add(protoSearchCriterion); + } + } + else + { + _And = null; + } + + final CollectionSlotCriterion[] orArray = collectionSlot.or(); + if (orArray.length > 0) + { + + _Or = new ArrayList<>(orArray.length); + for (final CollectionSlotCriterion criterion : orArray) + { + final ProtoSearchCriterion protoSearchCriterion = new ProtoSearchCriterion(this, criterion); + _Or.add(protoSearchCriterion); + } + } + else + { + _Or = null; + } + } + + public CollectionPropertyProtoSlot getCollectionPropertyProtoSlot() + { + + return _CollectionPropertyProtoSlot; + } + + public Prototype getReferencePrototype() + { + + return _ReferencePrototype; + } + + public Prototype getReferrerPrototype() + { + + return _ReferrerPrototype; + } + + public List getAnd() + { + + return _And; + } + + public List getOr() + { + + return _Or; + } + + public SearchCriteria buildSearchCriteria(final Model referrer) + { + + final List and = buildSearchCriterionList(referrer, _And); + final List or = buildSearchCriterionList(referrer, _Or); + + final Dimensions resultDimensions = buildResultDimensions(referrer); + final Set projectionSlotNames = buildProjectionFromDimensions(resultDimensions); + + final String referrerCollectionSlotName = _CollectionPropertyProtoSlot.getName(); + final Integer resultLimit = _CollectionPropertyProtoSlot.getLimit(); + + final SearchCriteria searchCriteria = + new DefaultSearchCriteria(resultDimensions, and, or, projectionSlotNames, resultLimit, referrer, referrerCollectionSlotName); + + return searchCriteria; + } + + private List buildSearchCriterionList(final Model referrer, final List protoSearchCriterionList) + { + + if (protoSearchCriterionList == null || protoSearchCriterionList.isEmpty()) + { + return Collections.EMPTY_LIST; + } + + final List searchCriterionList = new LinkedList<>(); + + for (final ProtoSearchCriterion protoSearchCriterion : protoSearchCriterionList) + { + + final ProtoValueSource protoValueSource = protoSearchCriterion.getProtoValueSource(); + final String referenceSlot = protoValueSource.getReferenceSlot(); + final Object comparisonValue = protoValueSource.getValue(referrer); + final ComparisonOperator comparisonOperator = protoSearchCriterion.getComparisonOperator(); + final String regex = protoSearchCriterion.getRegex(); + + final SearchCriterion searchCriterion = new DefaultSearchCriterion(referenceSlot, comparisonValue, comparisonOperator, regex); + searchCriterionList.add(searchCriterion); + } + + + return searchCriterionList; + } + + private Dimensions buildResultDimensions(final Model referrer) + { + + final Dimensions referrerDimensions = referrer.getDimensions(); + final DimensionsBuilder dimensionsBuilder = new DimensionsBuilder(_ReferencePrototype.getSchemaUri()); + + URI referrerUri = null; + if (referrer instanceof Document) + { + referrerUri = ((Document) referrer).getUri(); + } + else if (referrer instanceof Embedded) + { + referrerUri = ((Embedded) referrer).getDocumentUri(); + } + + if (referrerUri != null) + { + dimensionsBuilder.setReferrerUri(referrerUri); + } + + dimensionsBuilder.setLocale(referrerDimensions.getLocale()); + + final String referrerCollectionSlotName = _CollectionPropertyProtoSlot.getName(); + + final String prefix = referrerCollectionSlotName + "."; + + subscopeDimension(prefix, referrerDimensions.getExcludedSlotNames(), dimensionsBuilder.getExcludedSlotNames()); + subscopeDimension(prefix, referrerDimensions.getIncludedSlotNames(), dimensionsBuilder.getIncludedSlotNames()); + subscopeDimension(prefix, referrerDimensions.getEmbeddedLinkSlotNames(), dimensionsBuilder.getEmbeddedLinkSlotNames()); + subscopeDimension(prefix, referrerDimensions.getQueryParameters(), dimensionsBuilder.getQueryParameters()); + + return dimensionsBuilder.toDimensions(); + } + + private void subscopeDimension(final String prefix, final List fromList, final List toList) + { + + if (fromList == null || fromList.isEmpty()) + { + return; + } + + final int beginIndex = prefix.length(); + + for (final String item : fromList) + { + if (item.startsWith(prefix)) + { + final String subscopedItem = item.substring(beginIndex); + toList.add(subscopedItem); + } + } + } + + private void subscopeDimension(final String prefix, final Map fromMap, final Map toMap) + { + + if (fromMap == null || fromMap.isEmpty()) + { + return; + } + + final int beginIndex = prefix.length(); + final Set keys = fromMap.keySet(); + for (final String key : keys) + { + if (key.startsWith(prefix)) + { + final String subscopedKey = key.substring(beginIndex); + toMap.put(subscopedKey, fromMap.get(key)); + } + } + } + + private Set buildProjectionFromDimensions(final Dimensions resultDimensions) + { + + final Set projectionSlotNames = new TreeSet<>(); + + final List includedSlotNames = resultDimensions.getIncludedSlotNames(); + if (!includedSlotNames.isEmpty()) + { + projectionSlotNames.addAll(includedSlotNames); + } + else + { + final List excludedSlotNames = resultDimensions.getExcludedSlotNames(); + if (!excludedSlotNames.isEmpty()) + { + final SortedSet allSlotNames = _ReferencePrototype.getAllSlotNames(); + for (final String slotName : allSlotNames) + { + + final ProtoSlot protoSlot = _ReferencePrototype.getProtoSlot(slotName); + + if (protoSlot instanceof PropertyProtoSlot && !(protoSlot instanceof CollectionPropertyProtoSlot)) + { + // The query's projection should include "property" slots only (not link or collection slots since they aren't persisted). + projectionSlotNames.add(slotName); + } + } + + projectionSlotNames.removeAll(excludedSlotNames); + } + } + + return projectionSlotNames; + } + + /** + * Default POJO implementation of the {@link SearchCriteria} interface. + */ + private static final class DefaultSearchCriteria implements SearchCriteria + { + + private final Dimensions _ResultDimensions; + + private final List _And; + + private final List _Or; + + private final Set _ProjectionSlotNames; + + private final Model _Referrer; + + private final String _ReferrerCollectionSlotName; + + private final Integer _ResultLimit; + + DefaultSearchCriteria(final Dimensions resultDimensions, + final List and, + final List or, + final Set projectionSlotNames, + final Integer resultLimit, + final Model referrer, + final String referrerCollectionSlotName) + { + + _ResultDimensions = resultDimensions; + _And = and; + _Or = or; + _ProjectionSlotNames = projectionSlotNames; + _ResultLimit = resultLimit; + + _Referrer = referrer; + _ReferrerCollectionSlotName = referrerCollectionSlotName; + + } + + @Override + public Dimensions getResultDimensions() + { + + return _ResultDimensions; + } + + @Override + public List getAnd() + { + + return _And; + } + + @Override + public List getOr() + { + + return _Or; + } + + @Override + public Set getProjectionSlotNames() + { + + return _ProjectionSlotNames; + } + + @Override + public Integer getResultLimit() + { + + return _ResultLimit; + } + + @Override + public Model getReferrer() + { + + return _Referrer; + } + + @Override + public String getReferrerCollectionSlotName() + { + + return _ReferrerCollectionSlotName; + } + } + + /** + * Default POJO implementation of the {@link SearchCriterion} interface. + */ + private static final class DefaultSearchCriterion implements SearchCriterion + { + + + private final String _ReferenceSlot; + + private final Object _ComparisonValue; + + private final ComparisonOperator _ComparisonOperator; + + private final String _Regex; + + DefaultSearchCriterion(final String referenceSlot, + final Object comparisonValue, + final ComparisonOperator comparisonOperator, + final String regex) + { + + _ReferenceSlot = referenceSlot; + _ComparisonValue = comparisonValue; + _ComparisonOperator = comparisonOperator; + _Regex = regex; + } + + @Override + public String getReferenceSlot() + { + + return _ReferenceSlot; + } + + @Override + public Object getComparisonValue() + { + + return _ComparisonValue; + } + + @Override + public ComparisonOperator getComparisonOperator() + { + + return _ComparisonOperator; + } + + @Override + public String getRegex() + { + + return _Regex; + } + } + +} \ No newline at end of file diff --git a/core/src/main/java/org/wrml/runtime/schema/ProtoSearchCriterion.java b/core/src/main/java/org/wrml/runtime/schema/ProtoSearchCriterion.java new file mode 100644 index 0000000..1885551 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/ProtoSearchCriterion.java @@ -0,0 +1,98 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import org.wrml.model.schema.ComparisonOperator; +import org.wrml.model.schema.ValueSourceType; + +/** + *

+ * A {@link ProtoSearchCriterion} may be used to filter/select the elements of a {@link org.wrml.model.Model}'s collection slot. + * This runtime class provides the metadata needed to describe part of a search query. + *

+ * + * @see CollectionPropertyProtoSlot + * @see ProtoSearchCriteria + * @see org.wrml.runtime.search.SearchCriterion + */ +public final class ProtoSearchCriterion +{ + + private final ProtoSearchCriteria _ProtoSearchCriteria; + + private final ProtoValueSource _ProtoValueSource; + + private final ComparisonOperator _ComparisonOperator; + + private final String _Regex; + + ProtoSearchCriterion(final ProtoSearchCriteria protoSearchCriteria, final CollectionSlotCriterion criterion) + { + + _ProtoSearchCriteria = protoSearchCriteria; + + final String referenceSlot = criterion.referenceSlot(); + final ValueSourceType valueSourceType = criterion.valueSourceType(); + final String valueSource = criterion.valueSource(); + + final Prototype referencePrototype = protoSearchCriteria.getReferencePrototype(); + final Prototype referrerPrototype = protoSearchCriteria.getReferrerPrototype(); + + _ProtoValueSource = + new ProtoValueSource(referencePrototype, referenceSlot, referrerPrototype, valueSource, valueSourceType); + + + _ComparisonOperator = criterion.operator(); + _Regex = criterion.regex(); + } + + public ProtoSearchCriteria getProtoSearchCriteria() + { + + return _ProtoSearchCriteria; + } + + public ProtoValueSource getProtoValueSource() + { + + return _ProtoValueSource; + } + + public ComparisonOperator getComparisonOperator() + { + + return _ComparisonOperator; + } + + public String getRegex() + { + + return _Regex; + } + + +} + diff --git a/core/src/main/java/org/wrml/runtime/schema/ProtoSlot.java b/core/src/main/java/org/wrml/runtime/schema/ProtoSlot.java new file mode 100644 index 0000000..46bfe14 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/ProtoSlot.java @@ -0,0 +1,431 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import org.wrml.model.schema.Slot; +import org.wrml.runtime.Context; + +import java.lang.annotation.Annotation; +import java.lang.reflect.Type; +import java.net.URI; +import java.util.Arrays; +import java.util.Comparator; +import java.util.SortedSet; +import java.util.TreeSet; + +import com.google.common.collect.ComparisonChain; +/** + *

+ * A ProtoSlot (prototypical slot) is a {@link Prototype}'s runtime-optimized rendition of a schema {@link Slot}. + *

+ * + * @see Prototype + * @see Slot + */ +public abstract class ProtoSlot implements Comparable +{ + + public static Comparator ALPHA_ORDER = new Comparator() + { + + @Override + public int compare(final ProtoSlot protoSlot1, final ProtoSlot protoSlot2) + { + return ComparisonChain.start()// + .compare(protoSlot1.getClass().getName(), protoSlot2.getClass().getName())// + // .compare(protoSlot1.getPrototype(), protoSlot2.getPrototype())// not Comparable + .compare(protoSlot1.getName(), protoSlot2.getName())// + .compare(protoSlot1.getValueType(), protoSlot2.getValueType())// + // .compare(protoSlot1.getHeapValueType(), protoSlot2.getHeapValueType())// not Comparable + .compare(protoSlot1.getSchemaUri(), protoSlot2.getSchemaUri())// + .compare(protoSlot1.getDeclaringSchemaUri(), protoSlot2.getDeclaringSchemaUri())// + .compare(protoSlot1.toString(), protoSlot2.toString())// fallback + .result(); + } + + }; + + private final Prototype _Prototype; + + private final String _Name; + + private SortedSet _Aliases; + + private String _Description; + + private String _Title; + + private ValueType _ValueType; + + private String _RealName; + + private boolean _Alias; + + /** + * Creates a new ProtoSlot (only within the {@link Prototype}). + * + * @param prototype The slot's owning {@link Prototype}. + * @param slotName The slot's name. + */ + ProtoSlot(final Prototype prototype, final String slotName) + { + + if (prototype == null || slotName == null) + { + throw new PrototypeException("Neither the prototype nor the name may be null.", null, prototype, slotName); + } + + _Prototype = prototype; + _Name = slotName; + _RealName = _Name; + } + + @Override + public final int compareTo(final ProtoSlot other) + { + + return ProtoSlot.ALPHA_ORDER.compare(this, other); + } + + @Override + public final boolean equals(final Object obj) + { + // TODO: Replace with guava's Objects.equal() OR apache EqualsBuilder? + if (this == obj) + { + return true; + } + if (obj == null) + { + return false; + } + if (getClass() != obj.getClass()) + { + return false; + } + final ProtoSlot other = (ProtoSlot) obj; + if (_Name == null) + { + if (other._Name != null) + { + return false; + } + } + else if (!_Name.equals(other._Name)) + { + return false; + } + if (_Prototype == null) + { + if (other._Prototype != null) + { + return false; + } + } + else if (!_Prototype.equals(other._Prototype)) + { + return false; + } + return true; + } + + /** + * The set of aliases, or alternative names, for this slot. + * + * @return The aliases, or alternative names, for this slot or null if this slot has no aliases. + */ + public SortedSet getAliases() + { + + if (_Aliases == null) + { + + final Aliases aliases = getAnnotation(Aliases.class); + if (aliases != null) + { + final String[] aliasArray = aliases.value(); + + if ((aliasArray != null) && (aliasArray.length > 0)) + { + _Aliases = new TreeSet(Arrays.asList(aliasArray)); + } + + if (_Aliases != null && _Aliases.contains(getName())) + { + // Not allowed to contain own name (aliases cannot have aliases). + _Aliases = null; + } + } + else + { + _Aliases = null; + } + } + + return _Aliases; + } + + /** + * The {@link Context} for this {@link ProtoSlot}. + * + * @return The {@link Context} for this {@link ProtoSlot}. + */ + public final Context getContext() + { + + return getSchemaLoader().getContext(); + } + + /** + * The {@link URI} of the base {@link org.wrml.model.schema.Schema} that actually declared this slot. + * + * @return The {@link URI} of the base {@link org.wrml.model.schema.Schema} that actually declared this slot. + * @see #getSchemaUri() + * @see org.wrml.model.schema.Schema#getBaseSchemaUris() + */ + public abstract URI getDeclaringSchemaUri(); + + /** + * The description of the slot. + * + * @return The description of the slot or null if this slot has not be described. + * @see Description + */ + public final String getDescription() + { + // NOTE: This method relies on a subclass hook (thus the lazy init design). + // TODO: Refactor to address lazy init design? + if (_Description == null) + { + final Description description = getAnnotation(Description.class); + _Description = (description != null) ? description.value() : null; + } + return _Description; + } + + /** + * The runtime {@link Type} associated with this slot. + * + * @return The runtime {@link Type} associated with this slot. + * @see ValueType#getValueType(java.lang.reflect.Type) + * @see org.wrml.model.schema.Value + */ + public abstract Type getHeapValueType(); + + /** + * The name associated with the slot. + * + * @return The slot's name. + */ + public final String getName() + { + + return _Name; + } + + /** + * The {@link Prototype} that owns this slot. + * + * @return The {@link Prototype} that owns this slot. + */ + public final Prototype getPrototype() + { + + return _Prototype; + } + + /** + * The real name of this slot, which will only differ from the slot's {@link #getName()} value if this slot is an "alias" slot ({@link #isAlias()}). + * + * @return The real name of this slot, which will only differ from the slot's {@link #getName()} value if this slot is an "alias" slot ({@link #isAlias()}). + * @see #getName() + * @see #isAlias() + */ + public String getRealName() + { + + return _RealName; + } + + /** + * Framework internal method used to support alias slots. + * + * @param realName The real name of this alias slot. + * @see #isAlias() + * @see #getRealName() + */ + void setRealName(final String realName) + { + + _RealName = realName; + } + + /** + * The {@link URI} of the {@link org.wrml.model.schema.Schema} that contains this slot, which it may have inherited from a base schema. + * + * @return The {@link URI} of the {@link org.wrml.model.schema.Schema} that contains this slot, which it may have inherited from a base schema. + * @see #getDeclaringSchemaUri() + */ + public final URI getSchemaUri() + { + + return getPrototype().getSchemaUri(); + } + + /** + * The {@link SchemaLoader} responsible for this slot's {@link Prototype}. + * + * @return The {@link SchemaLoader} responsible for this slot's {@link Prototype}. + */ + public final SchemaLoader getSchemaLoader() + { + + return getPrototype().getSchemaLoader(); + } + + /** + * The title (display name) of this slot. + * + * @return The title (display name) of this slot or null if this slot was not given a title. + * @see Title + */ + public final String getTitle() + { + + if (_Title == null) + { + final Title title = getAnnotation(Title.class); + _Title = (title != null) ? title.value() : getName(); + } + return _Title; + } + + /** + * The {@link ValueType} associated with this slot. + * + * @return The {@link ValueType} associated with this slot. + * @see #getHeapValueType() + * @see ValueType#getValueType(java.lang.reflect.Type) + */ + public final ValueType getValueType() + { + + // NOTE: This method relies on a subclass hook (thus the lazy init design). + // TODO: Refactor to address lazy init design? + + if (_ValueType == null) + { + final Type heapValueType = getHeapValueType(); + try + { + _ValueType = getSchemaLoader().getValueType(heapValueType); + } + catch (final Exception e) + { + + throw new PrototypeException("Prototype: " + getPrototype() + + " encountered an error while attempting to determine the value type of the slot named \"" + + getName() + "\". Detail message: " + e.getMessage(), e, getPrototype(), getName()); + } + } + + return _ValueType; + } + + @Override + public final int hashCode() + { + + final int prime = 31; + int result = 1; + result = prime * result + ((_Name == null) ? 0 : _Name.hashCode()); + result = prime * result + ((_Prototype == null) ? 0 : _Prototype.hashCode()); + return result; + } + + /** + * The alias flag is true if this slot is actually an alias for another slot. Alias slots provide an alternative name for a slot but utilize the same value storage. + * + * @return The alias flag is true if this slot is actually an alias for another slot. + * @see #getName() + * @see #getRealName() + */ + public boolean isAlias() + { + + return _Alias; + } + + /** + * Framework internal method used to support alias slots. + * + * @param alias The value of the alias flag. + * @see #isAlias() + * @see #setRealName(String) + */ + void setAlias(final boolean alias) + { + + _Alias = alias; + } + + @Override + public final String toString() + { + + return getClass().getName() + " [prototype = " + getPrototype() + ", name = " + getName() + ", valueType = " + + getValueType() + ", heapValueType = " + getHeapValueType() + ", schemaUri = " + getSchemaUri() + + ", declaringSchemaUri = " + getDeclaringSchemaUri() + "]"; + } + + /** + * Given the specified type, returns the {@link Annotation} instance associated with this slot (if one exists). + * + * @param annotationClass The {@link Annotation} type. + * @param The generic {@link Annotation} type token that enables safe usage without the caller needing to cast the result. + * @return The {@link Annotation} instance. + */ + protected final T getAnnotation(final Class annotationClass) + { + + if (isAlias()) + { + return getPrototype().getProtoSlot(getRealName()).getAnnotation(annotationClass); + } + + return getAnnotationInternal(annotationClass); + } + + /** + * Hook method for subclasses to implement in support of {@link #getAnnotation(Class)}. + * + * @param annotationClass The {@link Annotation} type. + * @param The generic {@link Annotation} type token that enables safe usage without the caller needing to cast the result. + * @return The {@link Annotation} instance. + * @see #getAnnotation(Class) + */ + protected abstract T getAnnotationInternal(final Class annotationClass); + +} diff --git a/core/src/main/java/org/wrml/runtime/schema/ProtoValueSource.java b/core/src/main/java/org/wrml/runtime/schema/ProtoValueSource.java new file mode 100644 index 0000000..7583039 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/ProtoValueSource.java @@ -0,0 +1,317 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import org.apache.commons.lang3.StringUtils; +import org.wrml.model.Model; +import org.wrml.model.schema.ValueSourceType; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.syntax.SyntaxLoader; + +import java.lang.reflect.Method; +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +/** + * A runtime implementation of the {@link ValueSourceType} concept. This class enables a value to be "pulled" from a variety of sources. + * + * @see LinkSlotBinding + * @see CollectionSlotCriterion + * @see CollectionPropertyProtoSlot + * @see LinkProtoSlot + */ +public final class ProtoValueSource +{ + + private final Prototype _ReferencePrototype; + + private final String _ReferenceSlot; + + private final ProtoSlot _ReferenceProtoSlot; + + private final Prototype _ReferrerPrototype; + + private final String _ValueSource; + + private final ValueSourceType _ValueSourceType; + + private final Object _ConstantValue; + + + ProtoValueSource(final Prototype referencePrototype, final String referenceSlot, final Prototype referrerPrototype, final String valueSource, final ValueSourceType valueSourceType) + { + + _ReferencePrototype = referencePrototype; + _ReferenceSlot = referenceSlot; + _ReferrerPrototype = referrerPrototype; + _ValueSource = valueSource; + _ValueSourceType = valueSourceType; + + if (_ReferrerPrototype != null && _ReferenceSlot != null) + { + _ReferenceProtoSlot = _ReferencePrototype.getProtoSlot(_ReferenceSlot); + if (_ValueSourceType == ValueSourceType.Constant) + { + _ConstantValue = coerceStringValue(_ValueSource); + } + else + { + _ConstantValue = null; + } + + } + else + { + _ReferenceProtoSlot = null; + if (_ValueSourceType == ValueSourceType.Constant) + { + _ConstantValue = _ValueSource; + } + else + { + _ConstantValue = null; + } + + } + + } + + /** + * The {@link Prototype} associated with the referenced model. + * + * @return The {@link Prototype} associated with the referenced model. + */ + public Prototype getReferencePrototype() + { + + return _ReferencePrototype; + } + + /** + * The slot within the referenced {@link org.wrml.model.schema.Schema}. + * + * @return The slot within the referenced {@link org.wrml.model.schema.Schema}. + */ + public String getReferenceSlot() + { + + return _ReferenceSlot; + } + + /** + * The {@link ProtoSlot} associated with the reference slot. + * + * @return The {@link ProtoSlot} associated with the reference slot. + * @see #getReferencePrototype() + * @see #getReferenceSlot() + */ + public ProtoSlot getReferenceProtoSlot() + { + + return _ReferenceProtoSlot; + } + + /** + * The {@link Prototype} associated with the referrer model. + * + * @return The {@link Prototype} associated with the referrer model. + */ + public Prototype getReferrerPrototype() + { + + return _ReferrerPrototype; + } + + /** + * The source type for the binding value. + * + * @return The source type for the binding value. + */ + public ValueSourceType getValueSourceType() + { + + return _ValueSourceType; + } + + /** + * The {@link String} representation of the source of the value that will be used to "fill in" the reference slot. + * + * @return The {@link String} representation of the source of the value that will be used to "fill in" the reference slot. + */ + public String getValueSource() + { + + return _ValueSource; + } + + /** + * The constant value associated with this {@link ProtoValueSource}. + * + * @param The generic return type associated with the referenced slot. + * @return The constant value associated with this {@link ProtoValueSource}. + * @see ValueSourceType#Constant + */ + public T getConstantValue() + { + + return (T) _ConstantValue; + } + + /** + * Get the value from the source given the specified {@link Model} referrer. + * + * @param referrer The {@link Model} that is linking or searching for another; using the returned value to help form the bond. + * @return The value associated with this {@link ProtoValueSource} based upon the given {@link Model} referrer. + */ + public T getValue(final Model referrer) + { + + switch (_ValueSourceType) + { + case ReferrerSlot: + + + if (!_ValueSource.contains(".")) + { + return (T) referrer.getSlotValue(_ValueSource); + } + else + { + + // Handle "." (dot notation) + final String[] propertyNames = StringUtils.split(_ValueSource, '.'); + Object propertyValue = referrer; + + for (final String propertyName : propertyNames) + { + + if (propertyValue == null) + { + return null; + } + + if (propertyValue instanceof Model) + { + propertyValue = ((Model) propertyValue).getSlotValue(propertyName); + } + else + { + final String getterMethodName = "get" + Character.toUpperCase(propertyName.charAt(0)) + propertyName.substring(1); + final Class propertyValueClass = propertyValue.getClass(); + try + { + final Method getterMethod = propertyValueClass.getMethod(getterMethodName); + propertyValue = getterMethod.invoke(propertyValue); + } + catch (Exception t) + { + return null; + } + } + } + + return (T) propertyValue; + } + + + case QueryParameter: + + final Dimensions referrerDimensions = referrer.getDimensions(); + + final Map parameters = referrerDimensions.getQueryParameters(); + + if (parameters != null && parameters.containsKey(_ValueSource)) + { + final String parameterValue = parameters.get(_ValueSource); + final Object value = coerceStringValue(parameterValue); + return (T) value; + } + + return null; + + case Constant: + default: + return getConstantValue(); + } + + } + + /** + * Convert the specified string value into a value that is compatible with the reference slot's type. + * + * @param stringValue The {@link String} value to coerce into a compatible value. + * @param The generic return type that enables the caller to omit the cast operator. + * @return The converted value of the specified string value. + */ + private T coerceStringValue(final String stringValue) + { + + if (stringValue == null || _ReferenceProtoSlot == null) + { + return (T) stringValue; + } + + final Context context = _ReferenceProtoSlot.getContext(); + final SyntaxLoader syntaxLoader = context.getSyntaxLoader(); + final Type referenceSlotType = _ReferenceProtoSlot.getHeapValueType(); + + if (ValueType.isListType(referenceSlotType)) + { + // [a, b, c] + + String listString = stringValue.trim(); + listString = StringUtils.stripStart(listString, "["); + listString = StringUtils.stripEnd(listString, "]"); + if (listString.isEmpty()) + { + return (T) Collections.EMPTY_LIST; + } + + final Type elementType = ValueType.getListElementType(referenceSlotType); + + final String[] listElementsStringArray = StringUtils.split(listString, ","); + final List listValue = new ArrayList<>(listElementsStringArray.length); + for (final String elementString : listElementsStringArray) + { + final Object element = syntaxLoader.parseSyntacticText(elementString.trim(), elementType); + listValue.add(element); + } + + return (T) listValue; + } + else + { + + final Object value = syntaxLoader.parseSyntacticText(stringValue, referenceSlotType); + return (T) value; + } + } + +} diff --git a/core/src/main/java/org/wrml/runtime/schema/Prototype.java b/core/src/main/java/org/wrml/runtime/schema/Prototype.java new file mode 100644 index 0000000..d6c8cd4 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/Prototype.java @@ -0,0 +1,857 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import org.apache.commons.lang3.ClassUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.rest.AggregateDocument; +import org.wrml.model.rest.Document; +import org.wrml.model.schema.Schema; +import org.wrml.util.JavaBean; +import org.wrml.util.JavaBean.Property; +import org.wrml.util.JavaMethod; +import org.wrml.util.UniqueName; + +import java.lang.reflect.Method; +import java.lang.reflect.Type; +import java.net.URI; +import java.util.Arrays; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.SortedMap; +import java.util.SortedSet; +import java.util.TreeMap; +import java.util.TreeSet; + +/** + *

+ * A runtime representation/descriptor of a {@link Schema}. + *

+ * {@link Prototype} is designed to optimize reflection. + *

+ * The implementation uses {@link Map}s to store the results of a {@link Prototype}'s construction-time reflection of its associated schema Java class. In other words, WRML's + * runtime reflects upon each schema (Java interface) only once and quickly recalls the structure's details using a {@link Prototype}. + */ +public class Prototype +{ + + private static final Logger LOGGER = LoggerFactory.getLogger(Prototype.class); + + /** + * The uri of every schema from which this prototype inherits are belong to us. + */ + private final Set _AllBaseSchemaUris; + + /** + * The names of the slots that this prototype's schema declared along with the names of any slot names gained from its base schemas. + */ + private final SortedSet _AllSlotNames; + + private final Set _BaseSchemaUris; + + private final String _Description; + + private final boolean _ReadOnly; + + /** + * The reflection generated metadata associated with the Java class representation of the schema. + */ + private final JavaBean _SchemaBean; + + /** + * The uri of the schema that is represented by this {@link Prototype} at runtime. + */ + private final URI _SchemaUri; + + /** + * The parent/owning SchemaLoader for this Prototype instance. + */ + private final SchemaLoader _SchemaLoader; + + private final URI _ThumbnailLocation; + + private final String _Title; + + private final UniqueName _UniqueName; + + /** + * Map of slot name to prototype slot metadata. + */ + private final SortedMap _ProtoSlots; + + /** + * A mapping of link slot name ({@link String}) to link relation uri ( {@link URI}). + */ + private final SortedMap _LinkRelationUris; + + /** + * A mapping of link relation uri ( {@link URI}) to link slot. + */ + private final SortedMap _LinkProtoSlots; + + private final SortedMap _CollectionPropertyProtoSlots; + + private boolean _IsAbstract; + + private Set _BasePrototypes; + + private Set _AllBasePrototypes; + + private Set _AllKeySlotNames; + + private Set _ComparableSlotNames; + + /** + * The names of the slots that this prototype's schema declared as it's keyslots (to determine uniqueness of models conforming to this schema). + *

+ * For simple keys, this is a list of a single slot's name. For composite/compound keys, this list contains two or more slot names that, when combined together, hold the + * Schema's unique key value. + */ + private SortedSet _KeySlotNames; + + /** + * The Java type of this Prototype's (Schema's) key slot. Note that this is a composition type if more than one key slot name is declared by the Schema. + */ + private Type _KeyType; + + private SortedMap _SlotAliases; + + private SortedSet _SearchableSlots; + + private SortedSet _Tags; + + private long _Version; + + private boolean _IsDocument; + + private boolean _IsAggregate; + + private boolean _ContainsEmbeddedLink; + + /** + * Creates a new Prototype to represent the identified schema. + * + * @param schemaLoader + * The schema loader for this prototype's schema. + * @param schemaUri + * The schema identifier. + * @throws PrototypeException + * Thrown if there are problems with the initial prototyping of the schema. + */ + Prototype(final SchemaLoader schemaLoader, final URI schemaUri) throws PrototypeException + { + + LOGGER.debug("Creating Prototype for schema ID: {}", new Object[] {schemaUri}); + + _SchemaLoader = schemaLoader; + if (_SchemaLoader == null) + { + + throw new PrototypeException("The SchemaLoader parameter value cannot be *null*.", null, this); + } + + _SchemaUri = schemaUri; + if (_SchemaUri == null) + { + throw new PrototypeException("The undefined (aka *null*) schema can not be prototyped.", null, this); + } + + if (schemaUri.equals(schemaLoader.getResourceTemplateSchemaUri())) + { + LOGGER.debug("Creating Prototype for ResourceTemplate"); + } + + _UniqueName = new UniqueName(_SchemaUri); + + // + // Use the SchemaLoader and the schema uri to get the schema's Java Class + // representation. + // + final Class schemaInterface = getSchemaInterface(); + + if (ValueType.JAVA_TYPE_ABSTRACT.equals(schemaInterface)) + { + _IsAbstract = true; + } + else if (Document.class.equals(schemaInterface)) + { + _IsDocument = true; + } + + // + // Introspect the associated class, extracting metadata from the parent + // schema's Java interfaces (up to but not including the Model + // interface). + // + + _SchemaBean = new JavaBean(schemaInterface, ValueType.JAVA_TYPE_MODEL, LinkSlot.class); + _AllBaseSchemaUris = new LinkedHashSet<>(); + _BaseSchemaUris = new LinkedHashSet<>(); + _AllSlotNames = new TreeSet<>(_SchemaBean.getProperties().keySet()); + _ProtoSlots = new TreeMap<>(); + _CollectionPropertyProtoSlots = new TreeMap<>(); + _LinkRelationUris = new TreeMap<>(); + + _LinkProtoSlots = new TreeMap<>(); + _SlotAliases = new TreeMap<>(); + _SearchableSlots = new TreeSet<>(); + + // initBaseSchemas(...) + { + + // + // Use Java reflection to get all implemented interfaces and then turn + // them into schema ids. With reflection we get de-duplication and + // recursive traversal for free. + // + + final List> allBaseInterfaces = ClassUtils.getAllInterfaces(schemaInterface); + // Loop backwards to achieve desired key mapping precedence/overriding + for (final Class baseInterface : allBaseInterfaces) + { + + if (ValueType.isSchemaInterface(baseInterface) && (baseInterface != ValueType.JAVA_TYPE_MODEL)) + { + + final URI baseSchemaUri = _SchemaLoader.getTypeUri(baseInterface); + _AllBaseSchemaUris.add(baseSchemaUri); + + if (Document.class.equals(baseInterface)) + { + _IsDocument = true; + } + + if (AggregateDocument.class.equals(baseInterface)) + { + _IsAggregate = true; + } + + } + + } + + // Store the immediate base schemas as well + + final Class[] baseInterfaces = schemaInterface.getInterfaces(); + if (baseInterfaces != null) + { + + for (final Class baseInterface : baseInterfaces) + { + if (ValueType.isSchemaInterface(baseInterface) && (baseInterface != ValueType.JAVA_TYPE_MODEL)) + { + final URI baseSchemaUri = _SchemaLoader.getTypeUri(baseInterface); + _BaseSchemaUris.add(baseSchemaUri); + } + + if (ValueType.JAVA_TYPE_ABSTRACT.equals(baseInterface)) + { + _IsAbstract = true; + } + } + + } + + } // End of base schema init + + // initKeys(...) + { + final WRML wrml = schemaInterface.getAnnotation(WRML.class); + if (wrml != null) + { + final String[] keySlotNameArray = wrml.keySlotNames(); + + if ((keySlotNameArray != null) && (keySlotNameArray.length > 0)) + { + + _KeySlotNames = new TreeSet<>(Arrays.asList(keySlotNameArray)); + + if (_KeySlotNames.size() == 1) + { + final String keySlotName = _KeySlotNames.first(); + final Property property = _SchemaBean.getProperties().get(keySlotName); + if (property != null) + { + _KeyType = property.getType(); + } + else + { + throw new PrototypeException("The named key slot, \"" + keySlotName + "\", is not defined for Schema: " + schemaUri + ".", null, this); + } + } + else + { + + // Schemas with Keys that use more than one slot value to + // determine uniqueness use the CompositeKey type (at + // runtime) as their key object. + // + _KeyType = ValueType.JAVA_TYPE_COMPOSITE_KEY; + } + + } + + final String[] comparableSlotNameArray = wrml.comparableSlotNames(); + + if ((comparableSlotNameArray != null) && (comparableSlotNameArray.length > 0)) + { + + _ComparableSlotNames = new LinkedHashSet(Arrays.asList(comparableSlotNameArray)); + } + } + + } // End of the key initialization + + // initMiscAnnotations(...) + { + + final Description schemaDescription = schemaInterface.getAnnotation(Description.class); + if (schemaDescription != null) + { + _Description = schemaDescription.value(); + } + else + { + _Description = null; + } + + final Title schemaTitle = schemaInterface.getAnnotation(Title.class); + if (schemaTitle != null) + { + _Title = schemaTitle.value(); + } + else + { + _Title = schemaInterface.getSimpleName(); + } + + final ThumbnailImage thumbnailImage = schemaInterface.getAnnotation(ThumbnailImage.class); + if (thumbnailImage != null) + { + _ThumbnailLocation = URI.create(thumbnailImage.value()); + } + else + { + _ThumbnailLocation = null; + } + + _ReadOnly = (schemaInterface.getAnnotation(ReadOnly.class) != null) ? true : false; + + final Version schemaVersion = schemaInterface.getAnnotation(Version.class); + if (schemaVersion != null) + { + _Version = schemaVersion.value(); + } + else + { + // TODO: Look for the "static final long serialVersionUID" ? + _Version = 1L; + } + + final Tags tags = schemaInterface.getAnnotation(Tags.class); + if (tags != null) + { + final String[] tagArray = tags.value(); + + if ((tagArray != null) && (tagArray.length > 0)) + { + + _Tags = new TreeSet(Arrays.asList(tagArray)); + } + } + + } // End of annotation-based initialization + + // initPropertySlots(...) + { + final Map properties = _SchemaBean.getProperties(); + + for (final String slotName : properties.keySet()) + { + final Property property = properties.get(slotName); + + final PropertyProtoSlot propertyProtoSlot; + + final CollectionSlot collectionSlot = property.getAnnotation(CollectionSlot.class); + if (collectionSlot != null) + { + propertyProtoSlot = new CollectionPropertyProtoSlot(this, slotName, property); + } + else + { + propertyProtoSlot = new PropertyProtoSlot(this, slotName, property); + } + + addProtoSlot(propertyProtoSlot); + } + } + + // initLinkSlots(...) + { + + // + // Map the the schema bean's "other" (non-Property) methods. + // + + final SortedMap> otherMethods = _SchemaBean.getOtherMethods(); + final Set otherMethodNames = otherMethods.keySet(); + + for (final String methodName : otherMethodNames) + { + + final SortedSet methodSet = otherMethods.get(methodName); + if (methodSet.size() != 1) + { + throw new PrototypeException("The link method: " + methodName + " cannot be overloaded.", this); + } + + final JavaMethod javaMethod = methodSet.first(); + final Method method = javaMethod.getMethod(); + + final LinkSlot linkSlot = method.getAnnotation(LinkSlot.class); + if (linkSlot == null) + { + throw new PrototypeException("The method: " + javaMethod + " is not a link method", null, this); + } + + final String relationUriString = linkSlot.linkRelationUri(); + final URI linkRelationUri = URI.create(relationUriString); + + if (_LinkProtoSlots.containsKey(linkRelationUri)) + { + throw new PrototypeException("A schema cannot use the same link relation for more than one method. Duplicate link relation: " + linkRelationUri + + " found in link method: " + javaMethod, this); + } + + final org.wrml.model.rest.Method relMethod = linkSlot.method(); + + String slotName = methodName; + if (relMethod == org.wrml.model.rest.Method.Get && slotName.startsWith(JavaBean.GET)) + { + slotName = slotName.substring(3); + slotName = Character.toLowerCase(slotName.charAt(0)) + slotName.substring(1); + } + _LinkRelationUris.put(slotName, linkRelationUri); + _AllSlotNames.add(slotName); + + if (_ProtoSlots.containsKey(slotName)) + { + throw new PrototypeException("A schema cannot use the same name for more than one slot. Duplicate slot name: " + slotName + " found in link method: " + + javaMethod, this); + } + + final LinkProtoSlot linkProtoSlot = new LinkProtoSlot(this, slotName, javaMethod); + + if ((linkProtoSlot.isEmbedded() || isAggregate()) && (relMethod == org.wrml.model.rest.Method.Get)) + { + _ContainsEmbeddedLink = true; + } + + _LinkProtoSlots.put(linkRelationUri, linkProtoSlot); + + addProtoSlot(linkProtoSlot); + + } + + } // End of link slot init + + if (!_SlotAliases.isEmpty()) + { + for (final String alias : _SlotAliases.keySet()) + { + final ProtoSlot protoSlot = _ProtoSlots.get(alias); + protoSlot.setAlias(true); + final String realName = _SlotAliases.get(alias); + protoSlot.setRealName(realName); + + } + } + + } + + public boolean containsEmbeddedLink() + { + + return _ContainsEmbeddedLink; + } + + public Set getSlotAliases() + { + + return _SlotAliases.keySet(); + } + + public Set getAllBasePrototypes() + { + + if (_AllBasePrototypes == null) + { + final SchemaLoader schemaLoader = getSchemaLoader(); + _AllBasePrototypes = new LinkedHashSet(); + final Set allBaseSchemaUris = getAllBaseSchemaUris(); + if (allBaseSchemaUris != null && !allBaseSchemaUris.isEmpty()) + { + for (final URI baseSchemaUri : allBaseSchemaUris) + { + final Prototype basePrototype = schemaLoader.getPrototype(baseSchemaUri); + _AllBasePrototypes.add(basePrototype); + } + } + } + + return _AllBasePrototypes; + } + + public Set getAllBaseSchemaUris() + { + + return _AllBaseSchemaUris; + } + + public Set getAllKeySlotNames() + { + + if (_AllKeySlotNames == null) + { + _AllKeySlotNames = new LinkedHashSet(); + final SortedSet declaredKeySlotNames = getDeclaredKeySlotNames(); + if (declaredKeySlotNames != null) + { + _AllKeySlotNames.addAll(declaredKeySlotNames); + } + + final Set allYourBase = getAllBasePrototypes(); + for (final Prototype base : allYourBase) + { + final SortedSet baseDeclaredKeySlotNames = base.getDeclaredKeySlotNames(); + if (baseDeclaredKeySlotNames != null) + { + _AllKeySlotNames.addAll(baseDeclaredKeySlotNames); + } + } + } + + return _AllKeySlotNames; + } + + public Set getAllRelatedSchemaUris() + { + + final LinkedHashSet allRelatedSchemaUris = new LinkedHashSet<>(getAllBaseSchemaUris()); + + // TODO: Add schemas in model slots and link signatures (as request or response entity). + + return allRelatedSchemaUris; + } + + public SortedSet getAllSlotNames() + { + + return _AllSlotNames; + } + + public Set getComparableSlotNames() + { + + return _ComparableSlotNames; + } + + public Set getDeclaredBasePrototypes() + { + + if (_BasePrototypes == null) + { + final SchemaLoader schemaLoader = getSchemaLoader(); + _BasePrototypes = new LinkedHashSet(); + final Set baseSchemaUris = getDeclaredBaseSchemaUris(); + if (baseSchemaUris != null && !baseSchemaUris.isEmpty()) + { + for (final URI baseSchemaUri : baseSchemaUris) + { + final Prototype basePrototype = schemaLoader.getPrototype(baseSchemaUri); + _BasePrototypes.add(basePrototype); + } + } + } + + return _BasePrototypes; + } + + public Set getDeclaredBaseSchemaUris() + { + + return _BaseSchemaUris; + } + + /** + * A {@link SortedSet} of the names of the key {@link org.wrml.model.schema.Slot}s declared by this {@link Prototype}'s {@link Schema}. + */ + public SortedSet getDeclaredKeySlotNames() + { + + return _KeySlotNames; + } + + public String getDescription() + { + + return _Description; + } + + public java.lang.reflect.Type getKeyType() + { + + return _KeyType; + } + + public SortedMap getLinkProtoSlots() + { + + return _LinkProtoSlots; + } + + public Map getCollectionPropertyProtoSlots() + { + + return _CollectionPropertyProtoSlots; + } + + public URI getLinkRelationUri(final String linkSlotName) + { + + return _LinkRelationUris.get(linkSlotName); + } + + public SortedMap getLinkRelationUris() + { + + return _LinkRelationUris; + } + + /** + * A {@link SortedSet} of the names of the {@link Searchable} {@link org.wrml.model.schema.Slot}s declared by this {@link Prototype}'s {@link Schema}. + */ + public SortedSet getSearchableSlots() + { + + return _SearchableSlots; + } + + public T getProtoSlot(final String slotName) + { + + return getProtoSlot(slotName, true); + } + + @SuppressWarnings("unchecked") + public T getProtoSlot(final String slotName, final boolean strictMode) + { + + if (!_ProtoSlots.containsKey(slotName)) + { + if (strictMode) + { + final String error = "A (WRML) slot named \"" + slotName + "\" was not found within this prototype's schema interface (" + _SchemaBean.getIntrospectedClass() + ")"; + LOGGER.error(error); + throw new PrototypeException(error, null, this); + } + else + { + return null; + } + } + + return (T) _ProtoSlots.get(slotName); + } + + public String getRealSlotName(final String possibleAlias) + { + + if (_SlotAliases.containsKey(possibleAlias)) + { + return _SlotAliases.get(possibleAlias); + } + + return null; + } + + public JavaBean getSchemaBean() + { + + return _SchemaBean; + } + + public SchemaLoader getSchemaLoader() + { + + return _SchemaLoader; + } + + public URI getSchemaUri() + { + + return _SchemaUri; + } + + public SortedSet getTags() + { + + return _Tags; + } + + public URI getThumbnailLocation() + { + + return _ThumbnailLocation; + } + + public String getTitle() + { + + return _Title; + } + + public UniqueName getUniqueName() + { + + return _UniqueName; + } + + public Long getVersion() + { + + return _Version; + } + + public boolean isAbstract() + { + + return _IsAbstract; + } + + public boolean isAggregate() + { + + return _IsAggregate; + } + + public boolean isAssignableFrom(final URI schemaUri) + { + + try + { + return getSchemaInterface().isAssignableFrom(getSchemaLoader().getSchemaInterface(schemaUri)); + } + catch (final PrototypeException | ClassNotFoundException e) + { + return false; + } + } + + public boolean isDocument() + { + + return _IsDocument; + } + + public boolean isKeySlot(final String slotName) + { + + return getAllKeySlotNames().contains(slotName); + } + + public boolean isReadOnly() + { + + return _ReadOnly; + } + + @Override + public String toString() + { + + return "Prototype [schemaUri = " + _SchemaUri + ", version = " + _Version + ", description = " + _Description + "]"; + } + + private void addProtoSlot(final ProtoSlot protoSlot) + { + + final String slotName = protoSlot.getName(); + _ProtoSlots.put(slotName, protoSlot); + + final SortedSet aliases = protoSlot.getAliases(); + if (aliases != null && aliases.size() > 0) + { + for (final String alias : aliases) + { + _SlotAliases.put(alias, slotName); + } + } + + if (protoSlot instanceof CollectionPropertyProtoSlot) + { + + final CollectionPropertyProtoSlot collectionPropertyProtoSlot = (CollectionPropertyProtoSlot) protoSlot; + + _CollectionPropertyProtoSlots.put(slotName, collectionPropertyProtoSlot); + } + else if (protoSlot instanceof PropertyProtoSlot) + { + final PropertyProtoSlot propertyProtoSlot = (PropertyProtoSlot) protoSlot; + + final boolean isSearchable = propertyProtoSlot.isSearchable(); + + if (isSearchable) + { + _SearchableSlots.add(propertyProtoSlot.getName()); + } + } + + } + + private Class getSchemaInterface() throws PrototypeException + { + + Class schemaInterface = null; + try + { + schemaInterface = _SchemaLoader.getSchemaInterface(_SchemaUri); + if (schemaInterface == null) + { + throw new PrototypeException("SchemaLoader returned a null Schema for: " + _SchemaUri, this); + } + } + catch (final Exception t) + { + throw new PrototypeException("Interface not found for schema: " + String.valueOf(_SchemaUri), t, this); + } + + return schemaInterface; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/schema/PrototypeException.java b/core/src/main/java/org/wrml/runtime/schema/PrototypeException.java new file mode 100644 index 0000000..030300f --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/PrototypeException.java @@ -0,0 +1,65 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +/** + * The {@link Prototype}'s associated error type. + */ +public class PrototypeException extends RuntimeException +{ + + private static final long serialVersionUID = 1L; + + private final Prototype _Prototype; + + private final String _SlotName; + + PrototypeException(final String message, final Prototype prototype) + { + this(message, null, prototype, null); + } + + PrototypeException(final String message, final Throwable cause, final Prototype prototype) + { + this(message, cause, prototype, null); + } + + PrototypeException(final String message, final Throwable cause, final Prototype prototype, final String slotName) + { + super(message, cause); + _Prototype = prototype; + _SlotName = slotName; + } + + public Prototype getPrototype() + { + return _Prototype; + } + + public String getSlotName() + { + return _SlotName; + } +} diff --git a/core/src/main/java/org/wrml/runtime/schema/ReadOnly.java b/core/src/main/java/org/wrml/runtime/schema/ReadOnly.java new file mode 100644 index 0000000..7195c07 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/ReadOnly.java @@ -0,0 +1,38 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ ElementType.TYPE, ElementType.METHOD }) +public @interface ReadOnly +{ +} diff --git a/core/src/main/java/org/wrml/runtime/schema/SchemaBuilder.java b/core/src/main/java/org/wrml/runtime/schema/SchemaBuilder.java new file mode 100644 index 0000000..d85a86b --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/SchemaBuilder.java @@ -0,0 +1,570 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import org.apache.commons.lang3.StringUtils; +import org.wrml.model.rest.LinkRelation; +import org.wrml.model.schema.*; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.KeysBuilder; +import org.wrml.runtime.syntax.SyntaxLoader; +import org.wrml.util.UniqueName; + +import java.lang.reflect.Type; +import java.net.URI; +import java.util.*; + +/** + * A helper utility to build Schema models from everyday inputs (e.g. Map). + */ +public final class SchemaBuilder +{ + + private static final String JAVA_KEYWORDS[] = { + "abstract", "assert", "boolean", "break", "byte", "case", "catch", "char", "class", "const", "continue", + "default", "do", "double", "else", "extends", "false", "final", "finally", "float", "for", "goto", "if", + "implements", "import", "instanceof", "int", "interface", "long", "native", "new", "null", "package", + "private", "protected", "public", "return", "short", "static", "strictfp", "super", "switch", + "synchronized", "this", "throw", "throws", "transient", "true", "try", "void", "volatile", "while" + }; + + private static final SortedSet RESERVED_WORD_SET = new TreeSet<>(); + + static + { + for (final String javaKeyword : JAVA_KEYWORDS) + { + RESERVED_WORD_SET.add(javaKeyword); + } + } + + private final Context _Context; + + private final Schema _Schema; + + private final Map _Slots; + + public SchemaBuilder(final Context context) + { + + this(context, (Map) null); + } + + public SchemaBuilder(final Context context, final Object... slots) + { + + this(context, (Map) null); + slots(slots); + } + + public SchemaBuilder(final Context context, final Map startFromSlotMap) + { + + this(context, startFromSlotMap, null); + } + + public SchemaBuilder(final Context context, final Map startFromSlotMap, final UniqueName name) + { + + if (context == null) + { + throw new IllegalArgumentException("Context cannot be null."); + } + + _Context = context; + _Schema = _Context.newModel(Schema.class); + + if (name != null) + { + _Schema.setUniqueName(name); + } + + _Slots = new TreeMap<>(); + + if (startFromSlotMap != null) + { + slots(startFromSlotMap); + } + } + + public static String ensureValidJavaIdentifier(final String identifier) + { + + if (identifier == null || RESERVED_WORD_SET.contains(identifier)) + { + return null; + } + + String validJavaIdentifier = identifier; + + int index = validJavaIdentifier.indexOf('-'); + if (index > 0) + { + validJavaIdentifier = validJavaIdentifier.replace('-', '_'); + } + + if (!Character.isJavaIdentifierStart(validJavaIdentifier.charAt(0))) + { + validJavaIdentifier = "_" + validJavaIdentifier; + } + + final int validJavaIdentifierLength = validJavaIdentifier.length(); + String replaceCharacters = ""; + for (int i = 1; i < validJavaIdentifierLength; i++) + { + char c = validJavaIdentifier.charAt(i); + if (!Character.isJavaIdentifierPart(c)) + { + replaceCharacters += c; + } + } + + if (!replaceCharacters.isEmpty()) + { + validJavaIdentifier = StringUtils.replaceChars(validJavaIdentifier, replaceCharacters, "$"); + } + + return validJavaIdentifier; + } + + public SchemaBuilder extend(final URI baseSchemaUri, final URI... baseSchemaUris) + { + + _Schema.getBaseSchemaUris().add(baseSchemaUri); + + if (baseSchemaUris != null) + { + _Schema.getBaseSchemaUris().addAll(Arrays.asList(baseSchemaUris)); + } + + return this; + } + + public SchemaBuilder extend(final Schema baseSchema, final Schema... baseSchemas) + { + + extend(baseSchema.getUri()); + + if (baseSchemas != null) + { + final LinkedHashSet baseSchemaUris = new LinkedHashSet<>(baseSchemas.length); + for (final Schema schema : baseSchemas) + { + baseSchemaUris.add(schema.getUri()); + } + + _Schema.getBaseSchemaUris().addAll(baseSchemaUris); + } + + return this; + } + + public SchemaBuilder extend(final Class baseSchemaInterface, final Class... baseSchemaInterfaces) + { + + final SchemaLoader schemaLoader = _Context.getSchemaLoader(); + extend(schemaLoader.getTypeUri(baseSchemaInterface)); + + if (baseSchemaInterfaces != null) + { + final LinkedHashSet baseSchemaUris = new LinkedHashSet<>(baseSchemaInterfaces.length); + for (final Class schemaInterface : baseSchemaInterfaces) + { + baseSchemaUris.add(schemaLoader.getTypeUri(schemaInterface)); + } + + _Schema.getBaseSchemaUris().addAll(baseSchemaUris); + } + + return this; + } + + public SchemaBuilder extend(final Collection baseSchemaUris) + { + + _Schema.getBaseSchemaUris().addAll(baseSchemaUris); + return this; + } + + public SchemaBuilder slots(final Map slotMap) + { + + final Set slotNames = slotMap.keySet(); + for (final String slotName : slotNames) + { + slot(slotName, slotMap.get(slotName)); + } + + return this; + } + + public SchemaBuilder slots(final Object... slots) + { + + if (slots == null) + { + throw new IllegalArgumentException("The slots cannot be null."); + } + + if ((slots.length % 2) != 0) + { + throw new IllegalArgumentException("The slots must be in name/value pair order. Slots: " + Arrays.deepToString(slots)); + } + + for (int i = 0; i < slots.length; i++) + { + + if (!(slots[i] instanceof String)) + { + throw new IllegalArgumentException("The slot's _definition_ array must contain a (String) name and (Object) value. Slots: " + Arrays.deepToString(slots)); + } + + final String slotName = (String) slots[i]; + + i = i + 1; + + final Object slotValue = slots[i]; + + slot(slotName, slotValue); + } + + return this; + } + + public SchemaBuilder slot(final String slotName, final Object slotValue) + { + + if (slotName == null) + { + throw new IllegalArgumentException("Slot name cannot be null."); + } + + final String validName = ensureValidJavaIdentifier(slotName); + + if (validName == null) + { + throw new IllegalArgumentException("Invalid slot name: " + slotName); + } + + final ProtoSlot protoSlot = _Schema.getPrototype().getProtoSlot(validName, false); + if (protoSlot != null) + { + _Schema.setSlotValue(validName, slotValue); + return this; + } + + final Slot slot = _Context.newModel(Slot.class); + slot.setName(validName); + + final Value value = createValue(slotValue); + if (value == null) + { + throw new IllegalArgumentException("Invalid slot value: " + slotValue); + } + + slot.setValue(value); + + _Slots.put(validName, slot); + _Schema.getSlots().add(slot); + + return this; + } + + public SchemaBuilder link(final LinkRelation linkRelation) + { + + return link(linkRelation.getUri(), linkRelation.getUniqueName().getLocalName()); + } + + public SchemaBuilder link(final URI linkRelationUri) + { + + final SchemaLoader schemaLoader = _Context.getSchemaLoader(); + final Keys keys = new KeysBuilder().addKey(schemaLoader.getDocumentSchemaUri(), linkRelationUri).toKeys(); + final Dimensions dimensions = schemaLoader.getLinkRelationDimensions(); + final LinkRelation linkRelation = _Context.getModel(keys, dimensions); + return link(linkRelation); + } + + public SchemaBuilder link(final URI linkRelationUri, final String linkSlotName) + { + + return link(linkRelationUri, linkSlotName, null); + } + + public SchemaBuilder link(final URI linkRelationUri, final String linkSlotName, final URI responseSchemaUri) + { + + return link(linkRelationUri, linkSlotName, responseSchemaUri, false); + } + + public SchemaBuilder link(final URI linkRelationUri, final String linkSlotName, final URI responseSchemaUri, final boolean embedded) + { + + if (linkRelationUri == null) + { + throw new IllegalArgumentException("Link Relation URI cannot be null."); + } + + if (linkSlotName == null) + { + throw new IllegalArgumentException("Link slot name cannot be null."); + } + + + final String validName = ensureValidJavaIdentifier(linkSlotName); + + if (validName == null) + { + throw new IllegalArgumentException("Invalid link slot name: " + linkSlotName); + } + + + final Slot slot = _Context.newModel(Slot.class); + slot.setName(validName); + + final LinkValue linkValue = _Context.newModel(LinkValue.class); + linkValue.setLinkRelationUri(linkRelationUri); + if (responseSchemaUri != null) + { + linkValue.setResponseSchemaUri(responseSchemaUri); + } + + linkValue.setEmbedded(embedded); + + + slot.setValue(linkValue); + + _Slots.put(validName, slot); + _Schema.getSlots().add(slot); + return this; + + } + + public SchemaBuilder key(final String keySlotName) + { + + return keys(keySlotName, (String[]) null); + } + + public SchemaBuilder keys(final String keySlotName, final String... keySlotNames) + { + + if (keySlotName == null) + { + throw new IllegalArgumentException("Key slot name cannot be null."); + } + + _Schema.getKeySlotNames().add(keySlotName); + + if (keySlotNames != null) + { + for (final String slotName : keySlotNames) + { + if (slotName == null) + { + throw new IllegalArgumentException("Key slot name cannot be null."); + } + + _Schema.getKeySlotNames().add(slotName); + } + } + + return this; + } + + public SchemaBuilder keys(final Collection keySlotNames) + { + + _Schema.getKeySlotNames().addAll(keySlotNames); + return this; + } + + public Schema toSchema() + { + + return _Schema; + } + + public Context getContext() + { + + return _Context; + } + + public Slot getSlot(final String slotName) + { + + if (!_Slots.containsKey(slotName)) + { + return null; + } + + return _Slots.get(slotName); + } + + public Class load() throws ClassNotFoundException + { + + final SchemaLoader schemaLoader = _Context.getSchemaLoader(); + final Schema schema = toSchema(); + schemaLoader.load(schema); + return schemaLoader.getSchemaInterface(schema.getUri()); + } + + private Value createValue(final ValueType valueType) + { + + return createValue(valueType, null); + } + + private Value createValue(final Object value) + { + + final Value slotValue; + if (value instanceof ValueType) + { + slotValue = createValue((ValueType) value); + } + else if (value instanceof Class) + { + slotValue = createValue((Class) value); + } + else + { + slotValue = createValue(value.getClass()); + + if (slotValue != null && slotValue.getPrototype().getProtoSlot(Value.SLOT_NAME_DEFAULT, false) != null) + { + slotValue.setSlotValue(Value.SLOT_NAME_DEFAULT, value); + } + } + + return slotValue; + } + + private Value createValue(final Class heapValueType) + { + + final SchemaLoader schemaLoader = _Context.getSchemaLoader(); + final ValueType valueType = schemaLoader.getValueType(heapValueType); + return createValue(valueType, heapValueType); + } + + private Value createValue(final ValueType valueType, final Class heapValueType) + { + + final SchemaLoader schemaLoader = _Context.getSchemaLoader(); + final SyntaxLoader syntaxLoader = _Context.getSyntaxLoader(); + + Value value = null; + + switch (valueType) + { + case Boolean: + final BooleanValue booleanValue = _Context.newModel(BooleanValue.class); + value = booleanValue; + break; + + case Date: + final DateValue dateValue = _Context.newModel(DateValue.class); + value = dateValue; + + break; + + case Double: + final DoubleValue doubleValue = _Context.newModel(DoubleValue.class); + value = doubleValue; + break; + + case Integer: + final IntegerValue integerValue = _Context.newModel(IntegerValue.class); + value = integerValue; + break; + + case Model: + + final ModelValue modelValue = _Context.newModel(ModelValue.class); + if (heapValueType != null) + { + final URI modelSchemaUri = schemaLoader.getTypeUri(heapValueType); + modelValue.setModelSchemaUri(modelSchemaUri); + } + + value = modelValue; + break; + + case List: + final ListValue listValue = _Context.newModel(ListValue.class); + + + final Slot elementSlot = _Context.newModel(Slot.class); + + elementSlot.setName("E"); + + final Type elementValueHeapType = ValueType.getListElementType(heapValueType); + final Value elementValue = createValue(elementValueHeapType); + elementSlot.setValue(elementValue); + listValue.setElementSlot(elementSlot); + + value = listValue; + break; + + case Long: + final LongValue longValue = _Context.newModel(LongValue.class); + value = longValue; + break; + + case SingleSelect: + final SingleSelectValue singleSelectValue = _Context.newModel(SingleSelectValue.class); + value = singleSelectValue; + break; + + case Text: + final TextValue textValue = _Context.newModel(TextValue.class); + + if (heapValueType != null && !String.class.equals(heapValueType)) + { + final URI syntaxUri = syntaxLoader.getSyntaxUri(heapValueType); + textValue.setSyntaxUri(syntaxUri); + } + + value = textValue; + + break; + + default: + break; + + } + + return value; + + } + +} diff --git a/core/src/main/java/org/wrml/runtime/schema/SchemaLoader.java b/core/src/main/java/org/wrml/runtime/schema/SchemaLoader.java new file mode 100644 index 0000000..076c319 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/SchemaLoader.java @@ -0,0 +1,363 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import org.wrml.model.Abstract; +import org.wrml.model.format.Format; +import org.wrml.model.rest.LinkRelation; +import org.wrml.model.schema.Choices; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.Loader; +import org.wrml.runtime.format.application.schema.json.JsonSchema; +import org.wrml.runtime.format.application.schema.json.JsonSchemaLoader; +import org.wrml.util.UniqueName; + +import java.lang.reflect.Type; +import java.net.URI; +import java.util.SortedSet; + +/** + *

+ * The SchemaLoader is a ClassLoader that is specialized to load WRML Schema-based Java classes. It acts as both a + * schema class loader and a dynamic (just-in-time) schema class "compiler". + *

+ *

+ *

+ * The SchemaLoader is also responsible for loading org.wrml.model.schema.Choices as java.lang.Enum classes. + *

+ */ +public interface SchemaLoader extends Loader +{ + /** + * Get the {@link URI} of {@link org.wrml.model.rest.AggregateDocument}. + */ + URI getAggregateDocumentSchemaUri(); + + /** + * Get the standard {@link Dimensions} associated with an {@link org.wrml.model.rest.Api} model. + */ + Dimensions getApiDimensions(); + + /** + * Get the {@link URI} of {@link org.wrml.model.rest.Api}. + */ + URI getApiSchemaUri(); + + /** + * Get the {@link URI} of {@link org.wrml.model.schema.Choices}. + */ + URI getChoicesSchemaUri(); + + /** + * Get the standard {@link Dimensions} associated with an {@link org.wrml.model.schema.Choices} model. + */ + Dimensions getChoicesDimensions(); + + /** + *

+ * Get a set of {@link UniqueName}s to identify the known (loadable) {@link Choices} documents within the specified namespace. + *

+ */ + SortedSet getChoicesNames(final UniqueName namespace); + + /** + * Get the {@link SchemaLoaderConfiguration} associated with this SchemaLoader. + */ + SchemaLoaderConfiguration getConfig(); + + /** + * Get the runtime {@link Context} which owns this {@link SchemaLoader}. + */ + Context getContext(); + + /** + * Get the {@link URI} of {@link org.wrml.model.rest.Document}. + */ + URI getDocumentSchemaUri(); + + /** + * Get the {@link URI} of {@link org.wrml.model.rest.Embedded}. + */ + URI getEmbeddedSchemaUri(); + + /** + * Get the standard {@link Dimensions} associated with an {@link Format} model. + */ + Dimensions getFormatDimensions(); + + /** + * Get the {@link URI} of {@link org.wrml.model.format.Format}. + */ + URI getFormatSchemaUri(); + + /** + *

+ * Get the (optional) {@link JsonSchemaLoader} used to load schemas in the JSON Schema format. + * Will return null if JSON Schema loading is not available within the current runtime. + *

+ */ + JsonSchemaLoader getJsonSchemaLoader(); + + /** + * Get the standard {@link Dimensions} associated with an {@link LinkRelation} model. + */ + Dimensions getLinkRelationDimensions(); + + /** + * Get the {@link URI} of {@link org.wrml.model.rest.LinkRelation}. + */ + URI getLinkRelationSchemaUri(); + + /** + * Get the {@link URI} of {@link org.wrml.model.rest.Link}. + */ + URI getLinkSchemaUri(); + + /** + * Get a previously loaded {@link Schema} by its keys. + */ + Schema getLoadedSchema(final Keys keys); + + /** + * Get a set of {@link URI}s to identify the currently loaded {@link Schema}s. + */ + SortedSet getLoadedSchemaUris(); + + /** + * Get a native {@link Schema} by its keys. A native {@link Schema} is loaded as a Java {@link Class} (interface) found in the classpath. + */ + Schema getNativeSchema(final Keys keys); + + /** + *

+ * The WRML runtime assumes that {@link SchemaLoader} implementations also subclass {@link java.lang.ClassLoader}. + *

+ *

+ * In Java, {@link java.lang.ClassLoader} is not an interface, but if it were, this interface would like to extend it. + *

+ * + * @see ClassLoader#getParent() + */ + ClassLoader getParent(); + + /** + *

+ * Get the {@link Prototype} associated with the {@link URI}-identified {@link Schema}. + *

+ *

+ * The {@link SchemaLoader} will "prototype" each identified {@link Schema} only once and it will retain the "pre-compiled" {@link Prototype} in the heap. + * Calling this method with a valid {@link Schema} {@link URI}, that has not yet been prototyped, will create a new {@link Prototype} instance to retain and return. + *

+ */ + Prototype getPrototype(final URI schemaUri); + + /** + * Get the {@link URI} of {@link org.wrml.model.rest.ResourceTemplate}. + */ + URI getResourceTemplateSchemaUri(); + + /** + * Get the standard {@link Dimensions} associated with an {@link Schema} model. + */ + Dimensions getSchemaDimensions(); + + /** + *

+ * Get the Java {@link Class} (interface) representation of the {@link URI}-identified {@link Schema}. + *

+ *

+ * The {@link SchemaLoader} will "load" each identified {@link Class} only once and it will retain them in the heap. + * Calling this method with a valid {@link Schema} {@link URI}, that has not yet been loaded, will load a possibly auto-generated {@link Class} to retain and return. + *

+ */ + Class getSchemaInterface(final URI schemaUri) throws ClassNotFoundException; + + byte[] getSchemaInterfaceBytecode(final Schema schema) throws ClassNotFoundException; + + /** + *

+ * Get the native type name associated with the {@link URI}-identified type (either a {@link Schema} or {@link Choices}). + *

+ */ + String getNativeTypeName(final URI typeUri); + + /** + *

+ * Get a set of {@link UniqueName}s to identify the known (loadable) {@link Schema} documents within the specified namespace. + *

+ */ + SortedSet getSchemaNames(final UniqueName namespace); + + /** + *

+ * Get a set of {@link UniqueName}s to identify the known (browseable) {@link org.wrml.model.schema.SchemaNamespace} documents within the specified namespace. + *

+ */ + SortedSet getSchemaSubnamespaces(final UniqueName namespace); + + /** + * Get the standard {@link Dimensions} associated with an {@link org.wrml.model.schema.SchemaNamespace} model. + */ + Dimensions getSchemaNamespaceDimensions(); + + /** + * Get the {@link URI} of {@link org.wrml.model.schema.SchemaNamespace}. + */ + URI getSchemaNamespaceSchemaUri(); + + /** + * Get the {@link URI} of {@link org.wrml.model.schema.Schema}. + */ + URI getSchemaSchemaUri(); + + /** + * Get the {@link URI} of {@link org.wrml.model.schema.Syntax}. + */ + URI getSyntaxSchemaUri(); + + /** + *

+ * Get the {@link URI} associated with the native type name-identified type (either a {@link Class} or {@link java.lang.Enum}). + *

+ */ + URI getTypeUri(final String typeName); + + /** + *

+ * Get the {@link URI} associated with the native type-identified type (either a {@link Class} or {@link java.lang.Enum}). + *

+ */ + URI getTypeUri(final Type type); + + /** + * Get the {@link UniqueName} for the {@link Schema} or {@link Choices} document identified by the specified {@link URI}. + * + * @param uri The identity of the {@link Schema} or {@link Choices} document to be named. + * @return The {@link UniqueName} associated with the identified type document. + */ + UniqueName getTypeUniqueName(final URI uri); + + /** + * Get a previously loaded {@link Choices} by its keys. + */ + Choices getLoadedChoices(final Keys keys); + + /** + * Get a native {@link Choices} by its keys. A native {@link Choices} is loaded as a Java {@link Enum} found in the classpath. + */ + Choices getNativeChoices(final Keys keys); + + /** + *

+ * Get a set of {@link URI}s to identify the currently loaded {@link Prototype}s. + *

+ */ + SortedSet getPrototypedSchemaUris(); + + /** + * Get the {@link URI} of {@link org.wrml.model.Virtual}. + */ + URI getVirtualSchemaUri(); + + /** + * Get the WRML value type associated with the native type. + */ + ValueType getValueType(final Type type); + + /** + * A {@link Class} is an abstract {@link Schema} if it claims {@link Abstract} as one of it's immediate base {@link Schema}s. + */ + boolean isAbstractSchema(final Class schemaInterface); + + /** + * A {@link Schema} ({@link Class}) is prototyped if this {@link SchemaLoader} has already created and "cached" an associated {@link Prototype}. + */ + boolean isPrototyped(final URI schemaUri); + + /** + *

+ * A {@link Schema} {@link Type} is a subschema of a base {@link Schema} {@link Type} following the interface inheritance rules of Java. + *

+ *

+ * If {@link Schema} X lists {@link Schema} Y as one of it's immediate base schemas or, recursively if any of X's base schemas list Y as a basis, then X is a subschema of Y. + *

+ */ + boolean isSubschema(final Type base, final Type sub); + + /** + *

+ * A {@link Schema} {@link Type} is a system schema if it represents one of the WRML system's built-in concepts (e.g. {@link Schema}, {@link Choices}, {@link org.wrml.model.rest.Api}, etc). + *

+ */ + boolean isSystemSchema(final URI schemaUri); + + /** + *

+ * Load and get a {@link Schema} associated with the specified {@link JsonSchema}, "appending" the optional list of {@link URI}-identified base {@link Schema}s. + *

+ */ + Schema load(final JsonSchema jsonSchema, final URI... baseSchemaUris) throws UnsupportedOperationException; + + /** + *

+ * Load and get a {@link Schema} associated with the specified {@link Schema}. + *

+ */ + Schema load(final Schema schema); + + /** + *

+ * Load and get a {@link Schema} (by {@link URI} id) that conforms to the specified {@link Dimensions}. + *

+ *

+ * Note that calling this may involve communication with a local or remote + * service (e.g. the Web) that is registered to handle interactions with {@link Schema} (the "meta-schema"). + *

+ */ + Schema load(final URI schemaUri); + + /** + *

+ * Load and get a {@link Choices} associated with the specified {@link Choices}. + *

+ */ + Choices loadChoices(final Choices model); + + /** + *

+ * The WRML runtime assumes that {@link SchemaLoader} implementations also subclass {@link java.lang.ClassLoader}. + *

+ *

+ * In Java, {@link java.lang.ClassLoader} is not an interface, but if it were, this interface would like to extend it. + *

+ * + * @see ClassLoader#loadClass(String) + */ + Class loadClass(final String typeName) throws ClassNotFoundException; + +} \ No newline at end of file diff --git a/core/src/main/java/org/wrml/runtime/schema/SchemaLoaderConfiguration.java b/core/src/main/java/org/wrml/runtime/schema/SchemaLoaderConfiguration.java new file mode 100644 index 0000000..708c84d --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/SchemaLoaderConfiguration.java @@ -0,0 +1,99 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import org.wrml.runtime.DefaultFactoryConfiguration; + +import java.io.File; +import java.net.URI; + +/** + * Configuration for the {@link SchemaLoader} component. + */ +public final class SchemaLoaderConfiguration extends DefaultFactoryConfiguration +{ + + private File _SchemaClassRootDirectory; + + private URI[] _JsonSchemaIds; + + private File[] _JsonSchemaFiles; + + private File[] _JsonSchemaDirectories; + + public SchemaLoaderConfiguration() + { + + } + + public File[] getJsonSchemaDirectories() + { + + return _JsonSchemaDirectories; + } + + public void setJsonSchemaDirectories(final File[] jsonSchemaDirectories) + { + + _JsonSchemaDirectories = jsonSchemaDirectories; + } + + public File[] getJsonSchemaFiles() + { + + return _JsonSchemaFiles; + } + + public void setJsonSchemaFiles(final File[] jsonSchemaFiles) + { + + _JsonSchemaFiles = jsonSchemaFiles; + } + + public URI[] getJsonSchemaIds() + { + + return _JsonSchemaIds; + } + + public void setJsonSchemaIds(final URI[] jsonSchemaIds) + { + + _JsonSchemaIds = jsonSchemaIds; + } + + public File getSchemaClassRootDirectory() + { + + return _SchemaClassRootDirectory; + } + + public void setSchemaClassRootDirectory(final File schemaClassRootDirectory) + { + + _SchemaClassRootDirectory = schemaClassRootDirectory; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/schema/SchemaLoaderException.java b/core/src/main/java/org/wrml/runtime/schema/SchemaLoaderException.java new file mode 100644 index 0000000..940ad7e --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/SchemaLoaderException.java @@ -0,0 +1,47 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +/** + * The {@link SchemaLoader}'s associated error type. + */ +public class SchemaLoaderException extends RuntimeException +{ + + private static final long serialVersionUID = 1L; + + private final SchemaLoader _SchemaLoader; + + SchemaLoaderException(final String message, final Throwable cause, final SchemaLoader schemaLoader) + { + super(message, cause); + _SchemaLoader = schemaLoader; + } + + public SchemaLoader getSchemaLoader() + { + return _SchemaLoader; + } +} diff --git a/core/src/main/java/org/wrml/runtime/schema/Searchable.java b/core/src/main/java/org/wrml/runtime/schema/Searchable.java new file mode 100644 index 0000000..ebcb71a --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/Searchable.java @@ -0,0 +1,42 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import java.lang.annotation.*; + +/** + *

+ * Used by the WRML runtime to annotate a {@link org.wrml.model.schema.Schema} "slot" (getter method) as a "searchable". + *

+ *

+ * Like a schema's own Key slots, {@link Searchable} slots may be used as a indexing hint in back-end storage systems. + *

+ */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.METHOD}) +public @interface Searchable +{ +} diff --git a/core/src/main/java/org/wrml/runtime/schema/Tags.java b/core/src/main/java/org/wrml/runtime/schema/Tags.java new file mode 100644 index 0000000..3563d95 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/Tags.java @@ -0,0 +1,40 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ ElementType.TYPE }) +public @interface Tags +{ + + String[] value(); +} diff --git a/core/src/main/java/org/wrml/runtime/schema/ThumbnailImage.java b/core/src/main/java/org/wrml/runtime/schema/ThumbnailImage.java new file mode 100644 index 0000000..863ac29 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/ThumbnailImage.java @@ -0,0 +1,40 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ ElementType.TYPE, ElementType.METHOD }) +public @interface ThumbnailImage +{ + + String value(); +} diff --git a/core/src/main/java/org/wrml/runtime/schema/Title.java b/core/src/main/java/org/wrml/runtime/schema/Title.java new file mode 100644 index 0000000..38cb0b9 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/Title.java @@ -0,0 +1,44 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Used by the WRML runtime to annotate Schema interfaces and their "Slots" (getter methods) with a text title + * that is available at runtime. + */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ ElementType.TYPE, ElementType.METHOD }) +public @interface Title +{ + + String value(); +} diff --git a/core/src/main/java/org/wrml/runtime/schema/ValueType.java b/core/src/main/java/org/wrml/runtime/schema/ValueType.java new file mode 100644 index 0000000..fab06f0 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/ValueType.java @@ -0,0 +1,376 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import org.apache.commons.lang3.reflect.TypeUtils; +import org.wrml.model.Abstract; +import org.wrml.model.Model; +import org.wrml.model.rest.Document; +import org.wrml.model.rest.Link; +import org.wrml.model.schema.*; +import org.wrml.runtime.CompositeKey; + +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * The WRML value types. + */ +public enum ValueType +{ + + /** + * In Java, maps to: java.lang.String or T, where T is determined by a + * configuration-based mapping of Text syntax constraint to native + * (text-based) type. + */ + Text, + + /** + * In Java, maps to: java.lang.Object + */ + Native, + + /** + * In Java, maps to Model or a subclass T determined by schema constraint. + */ + Model, + + /** + * In Java, maps to boolean or Boolean + */ + Boolean, + + /** + * In Java, maps to methods. + */ + Link, + + /** + * In Java, maps to: List, where "primitive" type is determined + * by type parameter constraint's type. + *

+ * Note: If the Type parameter constraint's Type is "Model", then T is + * either org.wrml.Model or a subclass T determined by an added schema + * constraint. + */ + List, + + /** + * In Java, maps to: ObservableMap, where the K and V "param" types are + * determined by type constraints. + */ + // Map, + + /** + * In Java, maps to: Enum<T>, where T is determined by choice menu + * constraint's choice menu. + */ + SingleSelect, + + /** + * In Java, maps to: either int or java.lang.Integer, dependent on Field's + * isRequired flag's value. + */ + Integer, + + /** + * In Java, maps to java.util.Date + */ + Date, + + /** + * In Java, maps to either long or java.lang.Long, dependent on Field's + * isRequired flag's value. + */ + Long, + + /** + * In Java, maps to: either double or java.lang.Double, dependent on Field's + * isRequired flag's value. + */ + Double; + + public static final Class JAVA_TYPE_ABSTRACT = Abstract.class; + + public static final Class JAVA_TYPE_COMPOSITE_KEY = CompositeKey.class; + + public static final Class JAVA_TYPE_LINK = Link.class; + + public static final Class JAVA_TYPE_LIST_INTERFACE = List.class; + + public static final Class JAVA_TYPE_MODEL = Model.class; + + public static final Class JAVA_TYPE_DOCUMENT = Document.class; + + private final static Map, ValueType> TYPE_MAP = new HashMap, ValueType>(); + + static + { + ValueType.TYPE_MAP.put(java.lang.Boolean.class, ValueType.Boolean); + ValueType.TYPE_MAP.put(java.lang.Boolean.TYPE, ValueType.Boolean); + ValueType.TYPE_MAP.put(java.util.Date.class, ValueType.Date); + ValueType.TYPE_MAP.put(java.lang.Double.class, ValueType.Double); + ValueType.TYPE_MAP.put(java.lang.Double.TYPE, ValueType.Double); + ValueType.TYPE_MAP.put(java.lang.Integer.class, ValueType.Integer); + ValueType.TYPE_MAP.put(java.lang.Integer.TYPE, ValueType.Integer); + ValueType.TYPE_MAP.put(ValueType.JAVA_TYPE_LINK, ValueType.Link); + ValueType.TYPE_MAP.put(ValueType.JAVA_TYPE_LIST_INTERFACE, ValueType.List); + ValueType.TYPE_MAP.put(java.lang.Long.class, ValueType.Long); + ValueType.TYPE_MAP.put(java.lang.Long.TYPE, ValueType.Long); + ValueType.TYPE_MAP.put(ValueType.JAVA_TYPE_MODEL, ValueType.Model); + ValueType.TYPE_MAP.put(java.lang.Object.class, ValueType.Native); + ValueType.TYPE_MAP.put(java.lang.String.class, ValueType.Text); + } + + private Object _DefaultValue; + + public final static Type getListElementType(final Type listType) + { + /* + * Map, java.lang.reflect.Type> typeArgs = TypeUtils.getTypeArguments(listType, + * ValueType.JAVA_TYPE_LIST_INTERFACE); + * + * final Iterator parameterTypes = typeArgs.values().iterator(); + * if (parameterTypes.hasNext()) + * { + * return parameterTypes.next(); + * } + */ + + if (listType instanceof ParameterizedType) + { + final ParameterizedType parameterizedType = (ParameterizedType) listType; + final Type[] actualTypeArgs = parameterizedType.getActualTypeArguments(); + if (actualTypeArgs == null || actualTypeArgs.length == 0) + { + return null; + } + + return actualTypeArgs[0]; + } + else + { + return null; + } + } + + public final static ValueType getStaticallyMappedType(final Class rawJavaType) + { + + if (ValueType.isStaticallyMappedType(rawJavaType)) + { + return ValueType.TYPE_MAP.get(rawJavaType); + } + + return null; + } + + public final static ValueType getValueType(final Type type) + { + + final Class rawType = ValueType.getRawType(type); + final ValueType valueType; + + if (ValueType.isStaticallyMappedType(rawType)) + { + valueType = ValueType.getStaticallyMappedType(rawType); + } + else if (TypeUtils.isAssignable(rawType, List.class)) + { + valueType = ValueType.List; + } + else if (TypeUtils.isAssignable(rawType, Enum.class)) + { + valueType = ValueType.SingleSelect; + } + else if (ValueType.isSchemaInterface(rawType)) + { + valueType = ValueType.Model; + } + else + { + valueType = ValueType.Native; + } + + return valueType; + } + + public final static ValueType getValueType(final Value value) + { + + final ValueType valueType; + if (value instanceof TextValue) + { + valueType = ValueType.Text; + } + else if (value instanceof ListValue) + { + valueType = ValueType.List; + } + else if (value instanceof LinkValue) + { + valueType = ValueType.Link; + } + else if (value instanceof ModelValue) + { + valueType = ValueType.Model; + } + else if (value instanceof IntegerValue) + { + valueType = ValueType.Integer; + } + else if (value instanceof BooleanValue) + { + valueType = ValueType.Boolean; + } + else if (value instanceof DoubleValue) + { + valueType = ValueType.Double; + } + else if (value instanceof LongValue) + { + valueType = ValueType.Long; + } + else if (value instanceof DateValue) + { + valueType = ValueType.Date; + } + else if (value instanceof SingleSelectValue) + { + valueType = ValueType.SingleSelect; + } + else + { + valueType = ValueType.Native; + } + + return valueType; + } + + public static boolean isLinkType(final Type valueType) + { + + return TypeUtils.isAssignable(valueType, ValueType.JAVA_TYPE_LINK); + } + + public static boolean isListType(final Type valueType) + { + + return TypeUtils.isAssignable(valueType, ValueType.JAVA_TYPE_LIST_INTERFACE); + } + + public final static boolean isModel(final Object o) + { + + return ValueType.isModelType(o.getClass()); + } + + public final static boolean isModelType(final Type type) + { + + final Class rawType = ValueType.getRawType(type); + return ValueType.isSchemaInterface(rawType); + } + + public final static boolean isSchemaInterface(final Class schemaInterface) + { + + return (ValueType.JAVA_TYPE_MODEL.isAssignableFrom(schemaInterface)); + } + + public final static boolean isStaticallyMappedType(final Class rawJavaType) + { + + return ValueType.TYPE_MAP.containsKey(rawJavaType); + } + + final static Class getRawType(final Type type) + { + + final Class rawType; + + if (type instanceof Class) + { + rawType = (Class) type; + } + else if (type instanceof ParameterizedType) + { + rawType = (Class) ((ParameterizedType) type).getRawType(); + } + else + { + // Should not happen. + throw new IllegalArgumentException("The raw type: " + type + + " is invalid. The heap value must be a class/interface or a parameterized class/interface."); + } + + return rawType; + } + + public final Object getDefaultValue() + { + + if (_DefaultValue == null) + { + + switch (this) + { + case Boolean: + { + _DefaultValue = java.lang.Boolean.FALSE; + break; + } + case Double: + { + _DefaultValue = 0.0d; + break; + } + case Integer: + { + _DefaultValue = 0; + break; + } + case Long: + { + _DefaultValue = 0L; + break; + } + default: + { + _DefaultValue = null; + break; + } + + } // End of switch + } + + return _DefaultValue; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/schema/Version.java b/core/src/main/java/org/wrml/runtime/schema/Version.java new file mode 100644 index 0000000..37ba1f5 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/Version.java @@ -0,0 +1,40 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ ElementType.TYPE, ElementType.METHOD }) +public @interface Version +{ + + long value() default 1L; +} diff --git a/core/src/main/java/org/wrml/runtime/schema/WRML.java b/core/src/main/java/org/wrml/runtime/schema/WRML.java new file mode 100644 index 0000000..c0fccab --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/WRML.java @@ -0,0 +1,103 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import java.lang.annotation.*; + +/** + *

+ * This {@link Annotation} documents the WRML attributes of a {@link org.wrml.model.schema.Schema} when it is + * represented as a Java interface. + *

+ */ +@Documented +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.TYPE}) +public @interface WRML +{ + + + /** + *

+ * A universally unique name for the {@link org.wrml.model.schema.Schema} expressed as a {@link org.wrml.util.UniqueName}. + *

+ *

+ * NOTE: This value is OPTIONAL and is added automatically by the WRML framework's {@link org.wrml.runtime.schema.generator.SchemaGenerator} and + * is not intended to be added in .java files. Unlike the other parameters of this {@link Annotation}, the WRML runtime ignores + * this value and it is used to document the WRML name of the Java interface representing the {@link org.wrml.model.schema.Schema}. + * The runtime does not need this value since it can be easily derived via Java reflection. + *

+ * + * @return The {@link org.wrml.model.schema.Schema}'s {@link org.wrml.util.UniqueName}. + */ + String uniqueName() default ""; + + /** + *

+ * An optional {@link String}[] containing the {@link org.wrml.model.schema.Schema}'s "key" {@link org.wrml.model.schema.Slot} names. + *

+ *

+ * In Java, a WRML {@link org.wrml.model.schema.Schema} is expressed as a Java interface extending {@link org.wrml.model.Model}. + *

+ *

+ * A key names one (or more) of a {@link org.wrml.model.schema.Schema}'s slots, which (in combination) may be used to determine + * identity and ensure uniqueness between {@link org.wrml.model.Model}s of the same {@link org.wrml.model.schema.Schema}. + *

+ *

+ * This annotation is applied to a Schema (not a method) with {@link ElementType#TYPE} so that it may name + * one or more slots that are declared locally and/or name one or more slots that are declared by a base interface. + *

+ *

+ * Keys are crucial to implementing {@link org.wrml.model.Model} singularity, which is the collapsing/merging of two distinct + * {@link org.wrml.model.Model}s that share the same key value(s). Where, after the merge, there are still two separate {@link org.wrml.model.Model} + * references, but they will both share the same internal heap id, which results in them sharing the overlapping/common + * slot value storage. + *

+ * + * @see org.wrml.model.schema.Schema#getKeySlotNames() + * @see org.wrml.runtime.Keys + * @see org.wrml.runtime.CompositeKey + * @see org.wrml.model.Model#getKeys() + * @see org.wrml.runtime.Context#getModel(org.wrml.runtime.Keys, org.wrml.runtime.Dimensions) + * @see Prototype#getAllKeySlotNames() + * @see org.wrml.runtime.rest.UriTemplate + * @see org.wrml.runtime.Keys + * @see org.wrml.model.Model + * @see org.wrml.model.schema.Schema + * @see org.wrml.model.schema.Slot + */ + String[] keySlotNames() default {}; + + /** + *

+ * An optional {@link String}[] of {@link org.wrml.model.schema.Slot} names that determine the default/natural sort order for {@link org.wrml.model.Model}s of this + * {@link org.wrml.model.schema.Schema}. + *

+ * + */ + String[] comparableSlotNames() default {}; + +} diff --git a/core/src/main/java/org/wrml/runtime/schema/generator/JavaBytecodeAnnotation.java b/core/src/main/java/org/wrml/runtime/schema/generator/JavaBytecodeAnnotation.java new file mode 100644 index 0000000..5cdaf18 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/generator/JavaBytecodeAnnotation.java @@ -0,0 +1,80 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema.generator; + +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; + +public class JavaBytecodeAnnotation +{ + + private final String _InternalName; + + private final String _Descriptor; + + private final Map _Attributes; + + + public JavaBytecodeAnnotation(final String internalName) + { + + _InternalName = internalName; + _Descriptor = 'L' + _InternalName + ';'; + _Attributes = new TreeMap(); + + } + + public Set getAttributeNames() + { + + return _Attributes.keySet(); + } + + public Object getAttributeValue(final String name) + { + + return _Attributes.get(name); + } + + public String getInternalName() + { + + return _InternalName; + } + + public void setAttributeValue(final String name, final Object value) + { + + _Attributes.put(name, value); + } + + public String getDescriptor() + { + + return _Descriptor; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/schema/generator/JavaBytecodeClass.java b/core/src/main/java/org/wrml/runtime/schema/generator/JavaBytecodeClass.java new file mode 100644 index 0000000..0a40427 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/generator/JavaBytecodeClass.java @@ -0,0 +1,115 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema.generator; + +import java.util.ArrayList; +import java.util.List; + +public class JavaBytecodeClass +{ + + private String _InternalName; + + private String _Signature; + + private String _SuperName; + + private final List _Interfaces; + + private final List _Annotations; + + private final List _Methods; + + private byte[] _Bytecode; + + JavaBytecodeClass() + { + this(null); + } + + JavaBytecodeClass(final String internalName) + { + _InternalName = internalName; + _Annotations = new ArrayList(); + _Interfaces = new ArrayList(); + _Methods = new ArrayList(); + } + + public List getAnnotations() + { + return _Annotations; + } + + public byte[] getBytecode() + { + return _Bytecode; + } + + public List getInterfaces() + { + return _Interfaces; + } + + public String getInternalName() + { + return _InternalName; + } + + public List getMethods() + { + return _Methods; + } + + public String getSignature() + { + return _Signature; + } + + public String getSuperName() + { + return _SuperName; + } + + public void setBytecode(final byte[] bytecode) + { + _Bytecode = bytecode; + } + + public void setInternalName(final String internalName) + { + _InternalName = internalName; + } + + public void setSignature(final String signature) + { + _Signature = signature; + } + + public void setSuperName(final String superName) + { + _SuperName = superName; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/schema/generator/JavaBytecodeMethod.java b/core/src/main/java/org/wrml/runtime/schema/generator/JavaBytecodeMethod.java new file mode 100644 index 0000000..02225c1 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/generator/JavaBytecodeMethod.java @@ -0,0 +1,88 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema.generator; + +import java.util.ArrayList; +import java.util.List; + +public class JavaBytecodeMethod +{ + + private String _Name; + + private String _Descriptor; + + private String _Signature; + + private final List _Exceptions; + + private final List _Annotations; + + JavaBytecodeMethod() + { + _Annotations = new ArrayList(); + _Exceptions = new ArrayList(); + } + + public List getAnnotations() + { + return _Annotations; + } + + public String getDescriptor() + { + return _Descriptor; + } + + public List getExceptions() + { + return _Exceptions; + } + + public String getName() + { + return _Name; + } + + public String getSignature() + { + return _Signature; + } + + public void setDescriptor(final String descriptor) + { + _Descriptor = descriptor; + } + + public void setName(final String name) + { + _Name = name; + } + + public void setSignature(final String signature) + { + _Signature = signature; + } +} diff --git a/core/src/main/java/org/wrml/runtime/schema/generator/JavaBytecodeType.java b/core/src/main/java/org/wrml/runtime/schema/generator/JavaBytecodeType.java new file mode 100644 index 0000000..f7a3aaa --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/generator/JavaBytecodeType.java @@ -0,0 +1,250 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema.generator; + +import org.wrml.model.Model; +import org.wrml.model.rest.Link; + +import java.util.Date; +import java.util.List; +import java.util.SortedMap; + +public class JavaBytecodeType +{ + + public static final JavaBytecodeType BooleanBytecodeType = new JavaBytecodeType(Boolean.class); + + public static final JavaBytecodeType BooleanPrimitiveBytecodeType = new JavaBytecodeType(Boolean.TYPE); + + public static final JavaBytecodeType IntegerBytecodeType = new JavaBytecodeType(Integer.class); + + public static final JavaBytecodeType IntegerPrimitiveBytecodeType = new JavaBytecodeType(Integer.TYPE); + + public static final JavaBytecodeType DoubleBytecodeType = new JavaBytecodeType(Double.class); + + public static final JavaBytecodeType DoublePrimitiveBytecodeType = new JavaBytecodeType(Double.TYPE); + + public static final JavaBytecodeType LongBytecodeType = new JavaBytecodeType(Long.class); + + public static final JavaBytecodeType LongPrimitiveBytecodeType = new JavaBytecodeType(Long.TYPE); + + public static final JavaBytecodeType VoidPrimitiveBytecodeType = new JavaBytecodeType(Void.TYPE); + + public static final JavaBytecodeType ObjectBytecodeType = new JavaBytecodeType(Object.class); + + public static final JavaBytecodeType StringBytecodeType = new JavaBytecodeType(String.class); + + public static final JavaBytecodeType DateBytecodeType = new JavaBytecodeType(Date.class); + + public static final JavaBytecodeType ListBytecodeType = new JavaBytecodeType(List.class); + + public static final JavaBytecodeType EnumBytecodeType = new JavaBytecodeType(Enum.class); + + public static final JavaBytecodeType ModelBytecodeType = new JavaBytecodeType(Model.class); + + public static final JavaBytecodeType LinkBytecodeType = new JavaBytecodeType(Link.class); + + private String _String; + + private String _Token; + + private String _GenericSignature; + + private SortedMap _Parameters; + + public JavaBytecodeType(final Class clazz) + { + + if (clazz.isPrimitive()) + { + + if (clazz.equals(Boolean.TYPE)) + { + setToken("Z"); + } + else if (clazz.equals(Double.TYPE)) + { + setToken("D"); + } + else if (clazz.equals(Integer.TYPE)) + { + setToken("I"); + } + else if (clazz.equals(Long.TYPE)) + { + setToken("J"); + } + else if (clazz.equals(Void.TYPE)) + { + setToken("V"); + } + else + { + throw new IllegalArgumentException("The type: " + clazz + " is not a supported primitive type."); + } + + } + else + { + setString(SchemaGenerator.externalTypeNameToInternalTypeName(clazz.getCanonicalName())); + } + } + + public JavaBytecodeType(final String string) + { + + setString(string); + } + + public String getDescriptor() + { + + final String string = getString(); + if (string != null && !string.isEmpty()) + { + return 'L' + string + ';'; + } + else + { + return getToken(); + } + } + + public String getGenericSignature() + { + + if (_GenericSignature == null) + { + + if (_Parameters == null || _Parameters.size() == 0) + { + // No parameters + _GenericSignature = null; + } + else + { + // A parameterized type has a signature value + + final StringBuilder sb = new StringBuilder(_Token); + sb.append(_String).append('<'); + for (final String parameterName : _Parameters.keySet()) + { + final JavaBytecodeType parameterType = _Parameters.get(parameterName); + if (parameterType != null) + { + if (parameterType.getParameters() == null) + { + sb.append(parameterType.getToken()); + final String parameterTypeString = parameterType.getString(); + if (parameterTypeString != null) + { + sb.append(parameterTypeString); + sb.append(';'); + } + } + else + { + sb.append(parameterType.getGenericSignature()); + } + } + else + { + sb.append('T').append(parameterName); + } + } + sb.append('>').append(';'); + + _GenericSignature = sb.toString(); + } + + } + + return _GenericSignature; + } + + public SortedMap getParameters() + { + + return _Parameters; + } + + public void setParameters(final SortedMap parameters) + { + + _Parameters = parameters; + _GenericSignature = null; + } + + public String getString() + { + + return _String; + } + + public void setString(final String string) + { + + _String = string; + if (_String != null) + { + _Token = "L"; + } + + _GenericSignature = null; + } + + public String getToken() + { + + return _Token; + } + + public void setToken(final String token) + { + + _Token = token; + _GenericSignature = null; + } + + @Override + public String toString() + { + + final String token = getToken(); + final String signature = getGenericSignature(); + if (signature != null) + { + return signature; + } + if ("L".equals(token)) + { + return getString(); + } + else + { + return token; + } + } +} diff --git a/core/src/main/java/org/wrml/runtime/schema/generator/SchemaGenerator.java b/core/src/main/java/org/wrml/runtime/schema/generator/SchemaGenerator.java new file mode 100644 index 0000000..c83463b --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/generator/SchemaGenerator.java @@ -0,0 +1,2656 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema.generator; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.ObjectNode; +import org.apache.commons.lang3.StringUtils; +import org.objectweb.asm.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.MaybeReadOnly; +import org.wrml.model.MaybeRequired; +import org.wrml.model.Model; +import org.wrml.model.rest.LinkRelation; +import org.wrml.model.rest.Method; +import org.wrml.model.schema.*; +import org.wrml.runtime.Context; +import org.wrml.runtime.format.application.schema.json.JsonSchema; +import org.wrml.runtime.format.application.schema.json.JsonSchema.Definitions.JsonType; +import org.wrml.runtime.format.application.schema.json.JsonSchema.Definitions.PropertyType; +import org.wrml.runtime.format.application.schema.json.JsonSchema.JsonStringFormat; +import org.wrml.runtime.format.application.schema.json.JsonSchema.Property; +import org.wrml.runtime.format.application.schema.json.JsonSchemaLoader; +import org.wrml.runtime.rest.ApiLoader; +import org.wrml.runtime.schema.*; +import org.wrml.runtime.syntax.SyntaxHandler; +import org.wrml.runtime.syntax.SyntaxLoader; +import org.wrml.util.JavaBean; +import org.wrml.util.UniqueName; + +import java.io.IOException; +import java.lang.reflect.Type; +import java.net.URI; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; + +/** + *

+ * Implements the transformation of Schema to Java Class (.class bytecode). + *

+ */ +public class SchemaGenerator implements Opcodes +{ + + + private static final Logger LOG = LoggerFactory.getLogger(SchemaGenerator.class); + + private static final String ANNONYMOUS_INNER_SCHEMA_PREFIX = "$"; + + private static final String ANNOTATION_INTERNAL_NAME_ALIASES = SchemaGenerator.classToInternalTypeName(Aliases.class); + + private static final String ANNOTATION_INTERNAL_NAME_COLLECTION_SLOT = SchemaGenerator.classToInternalTypeName(CollectionSlot.class); + + private static final String ANNOTATION_INTERNAL_NAME_COLLECTION_SLOT_CRITERION = SchemaGenerator.classToInternalTypeName(CollectionSlotCriterion.class); + + private static final String ANNOTATION_INTERNAL_NAME_DEFAULT_VALUE = SchemaGenerator.classToInternalTypeName(DefaultValue.class); + + private static final String ANNOTATION_INTERNAL_NAME_DESCRIPTION = SchemaGenerator.classToInternalTypeName(Description.class); + + private static final String ANNOTATION_INTERNAL_NAME_DISALLOWED_VALUES = SchemaGenerator.classToInternalTypeName(DisallowedValues.class); + + private static final String ANNOTATION_INTERNAL_NAME_DIVISIBLE_BY_VALUE = SchemaGenerator.classToInternalTypeName(DivisibleByValue.class); + + private static final String ANNOTATION_INTERNAL_NAME_LINK_SLOT = SchemaGenerator.classToInternalTypeName(LinkSlot.class); + + private static final String ANNOTATION_INTERNAL_NAME_LINK_SLOT_BINDING = SchemaGenerator.classToInternalTypeName(LinkSlotBinding.class); + + private static final String ANNOTATION_INTERNAL_NAME_MAXIMUM_LENGTH = SchemaGenerator.classToInternalTypeName(MaximumLength.class); + + private static final String ANNOTATION_INTERNAL_NAME_MAXIMUM_SIZE = SchemaGenerator.classToInternalTypeName(MaximumSize.class); + + private static final String ANNOTATION_INTERNAL_NAME_MAXIMUM_VALUE = SchemaGenerator.classToInternalTypeName(MaximumValue.class); + + private static final String ANNOTATION_INTERNAL_NAME_MINIMUM_LENGTH = SchemaGenerator.classToInternalTypeName(MinimumLength.class); + + private static final String ANNOTATION_INTERNAL_NAME_MINIMUM_SIZE = SchemaGenerator.classToInternalTypeName(MinimumSize.class); + + private static final String ANNOTATION_INTERNAL_NAME_MINIMUM_VALUE = SchemaGenerator.classToInternalTypeName(MinimumValue.class); + + private static final String ANNOTATION_INTERNAL_NAME_NON_NULL = SchemaGenerator.classToInternalTypeName(NonNull.class); + + private static final String ANNOTATION_INTERNAL_NAME_READ_ONLY = SchemaGenerator.classToInternalTypeName(ReadOnly.class); + + private static final String ANNOTATION_INTERNAL_NAME_TAGS = SchemaGenerator.classToInternalTypeName(Tags.class); + + private static final String ANNOTATION_INTERNAL_NAME_THUMBNAIL_IMAGE = SchemaGenerator.classToInternalTypeName(ThumbnailImage.class); + + private static final String ANNOTATION_INTERNAL_NAME_TITLE = SchemaGenerator.classToInternalTypeName(Title.class); + + private static final String ANNOTATION_INTERNAL_NAME_VERSION = SchemaGenerator.classToInternalTypeName(Version.class); + + private static final String ANNOTATION_INTERNAL_NAME_WRML = SchemaGenerator.classToInternalTypeName(WRML.class); + + private static final String CLOSE_PARENTHESIS = ")"; + + private static final String EMPTY_PARENTHESES = SchemaGenerator.OPEN_PARENTHESIS + SchemaGenerator.CLOSE_PARENTHESIS; + + private static final String CLOSED_METHOD_DESCRIPTOR = "()V"; + + private static final String INIT_METHOD_NAME = ""; + + private static final String CLINIT_METHOD_NAME = ""; + + private static final String VALUES_METHOD_NAME = "values"; + + private static final String VALUE_OF_METHOD_NAME = "valueOf"; + + private static final String $VALUES_CONSTANT_NAME = "$VALUES"; + + private static final String CLONE_METHOD_NAME = "clone"; + + /** + * The access modifiers for Java interfaces. + */ + private static final int INTERFACE_ACCESS = Opcodes.ACC_PUBLIC + Opcodes.ACC_ABSTRACT + Opcodes.ACC_INTERFACE; + + /** + * The access modifiers for Java interface methods. + */ + private static final int INTERFACE_METHOD_ACCESS = Opcodes.ACC_PUBLIC + Opcodes.ACC_ABSTRACT; + + private static final String OBJECT_INTERNAL_NAME = "java/lang/Object"; + + private static final String CLASS_INTERNAL_NAME = "java/lang/Class"; + + private static final String STRING_INTERNAL_NAME = "java/lang/String"; + + private static final String ENUM_INTERNAL_NAME = "java/lang/Enum"; + + private static final String INIT_METHOD_DESCRIPTOR = "(L" + STRING_INTERNAL_NAME + ";I)V"; + + private static final String STRING_PARAM_METHOD_DESCRIPTOR_PREFIX = "(L" + STRING_INTERNAL_NAME + ";)"; + + private static final String RETURN_OBJECT_METHOD_DESCRIPTOR = "()L" + OBJECT_INTERNAL_NAME + ";"; + + private static final String VALUE_OF_METHOD_DESCRIPTOR = "(L" + CLASS_INTERNAL_NAME + ";L" + STRING_INTERNAL_NAME + ";)L" + ENUM_INTERNAL_NAME + ";"; + + /** + * JVM class file API version + */ + private static final int JVM_VERSION = Opcodes.V1_5; + + private static final String MODEL_INTERFACE_INTERNAL_NAME = SchemaGenerator.classToInternalTypeName(Model.class); + + private static final String OPEN_PARENTHESIS = "("; + + private static final String PARAM_NAME_AND = "and"; + + private static final String PARAM_NAME_BINDINGS = "bindings"; + + private static final String PARAM_NAME_COMPARABLE_SLOT_NAMES = "comparableSlotNames"; + + private static final String PARAM_NAME_EMBEDDED = "embedded"; + + private static final String PARAM_NAME_EXCLUSIVE = "exclusive"; + + private static final String PARAM_NAME_KEY_SLOT_NAMES = "keySlotNames"; + + private static final String PARAM_NAME_LIMIT = "limit"; + + private static final String PARAM_NAME_LINK_RELATION_URI = "linkRelationUri"; + + private static final String PARAM_NAME_METHOD = "method"; + + private static final String PARAM_NAME_OPERATOR = "operator"; + + private static final String PARAM_NAME_OR = "or"; + + private static final String PARAM_NAME_REFERENCE_SLOT = "referenceSlot"; + + private static final String PARAM_NAME_REGEX = "regex"; + + private static final String PARAM_NAME_UNIQUE_NAME = "uniqueName"; + + private static final String PARAM_NAME_VALUE = "value"; + + private static final String PARAM_NAME_VALUE_SOURCE = "valueSource"; + + private static final String PARAM_NAME_VALUE_SOURCE_TYPE = "valueSourceType"; + + private final JavaBean _ModelJavaBean; + + private final SchemaLoader _SchemaLoader; + + private final ConcurrentHashMap _InnerSchemaCountMap; + + + public SchemaGenerator(final SchemaLoader schemaLoader) + { + + _SchemaLoader = schemaLoader; + if (_SchemaLoader == null) + { + throw new NullPointerException("The SchemaLoader is null"); + } + + _ModelJavaBean = new JavaBean(ValueType.JAVA_TYPE_MODEL, null); + + _InnerSchemaCountMap = new ConcurrentHashMap(); + + } + + public static final String classToInternalTypeName(final Class clazz) + { + + return SchemaGenerator.externalTypeNameToInternalTypeName(clazz.getCanonicalName()); + } + + public static final String externalTypeNameToInternalTypeName(final String externalTypeName) + { + + return externalTypeName.replace('.', '/'); + } + + public static final String internalTypeNameToExternalTypeName(final String internalTypeName) + { + + return internalTypeName.replace('/', '.'); + } + + public Choices generateChoices(final Class nativeChoicesEnumClass) + { + + if (nativeChoicesEnumClass == null || !nativeChoicesEnumClass.isEnum()) + { + return null; + } + + final SchemaLoader schemaLoader = getSchemaLoader(); + final Choices choices = getContext().newModel(schemaLoader.getChoicesSchemaUri()); + + final URI choicesUri = schemaLoader.getTypeUri(nativeChoicesEnumClass); + choices.setUri(choicesUri); + + final UniqueName choicesUniqueName = schemaLoader.getTypeUniqueName(choicesUri); + choices.setUniqueName(choicesUniqueName); + + final Object[] enumConstants = nativeChoicesEnumClass.getEnumConstants(); + if (enumConstants != null && enumConstants.length > 0) + { + final LinkedHashSet choiceSet = new LinkedHashSet(enumConstants.length); + + for (final Object enumConstant : enumConstants) + { + final String choice = String.valueOf(enumConstant); + choiceSet.add(enumConstant); + } + + choices.getList().addAll(choiceSet); + } + + + return choices; + } + + /** + * Yay Bytecode! + */ + public JavaBytecodeClass generateChoicesEnum(final Choices choices) + { + + + if (choices == null) + { + return null; + } + + final List choicesList = choices.getList(); + + final URI choicesUri = choices.getUri(); + final String enumName = uriToInternalTypeName(choicesUri); + final String enumTypeName = "L" + enumName + ";"; + final String enumArrayTypeName = "[" + enumTypeName; + + + final JavaBytecodeClass enumByteCodeClass = new JavaBytecodeClass(enumName); + final JavaBytecodeAnnotation wrmlAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_WRML); + wrmlAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_UNIQUE_NAME, choices.getUniqueName().getFullName()); + enumByteCodeClass.getAnnotations().add(wrmlAnnotation); + + final ClassWriter classWriter = new ClassWriter(0); + + FieldVisitor fieldVisitor; + MethodVisitor methodVisitor; + + classWriter.visit(51, ACC_PUBLIC + ACC_FINAL + ACC_SUPER + ACC_ENUM, enumName, "L" + ENUM_INTERNAL_NAME + "<" + enumTypeName + ">;", ENUM_INTERNAL_NAME, null); + + { + for (final String choice : choicesList) + { + fieldVisitor = classWriter.visitField(ACC_PUBLIC + ACC_FINAL + ACC_STATIC + ACC_ENUM, choice, enumTypeName, null, null); + fieldVisitor.visitEnd(); + } + } + + { + fieldVisitor = classWriter.visitField(ACC_PRIVATE + ACC_FINAL + ACC_STATIC + ACC_SYNTHETIC, $VALUES_CONSTANT_NAME, enumArrayTypeName, null, null); + fieldVisitor.visitEnd(); + } + { + methodVisitor = classWriter.visitMethod(ACC_PUBLIC + ACC_STATIC, VALUES_METHOD_NAME, OPEN_PARENTHESIS + CLOSE_PARENTHESIS + enumArrayTypeName, null, null); + methodVisitor.visitCode(); + methodVisitor.visitFieldInsn(GETSTATIC, enumName, $VALUES_CONSTANT_NAME, enumArrayTypeName); + methodVisitor.visitMethodInsn(INVOKEVIRTUAL, enumArrayTypeName, CLONE_METHOD_NAME, RETURN_OBJECT_METHOD_DESCRIPTOR); + methodVisitor.visitTypeInsn(CHECKCAST, enumArrayTypeName); + methodVisitor.visitInsn(ARETURN); + methodVisitor.visitMaxs(1, 0); + methodVisitor.visitEnd(); + } + { + methodVisitor = classWriter.visitMethod(ACC_PUBLIC + ACC_STATIC, VALUE_OF_METHOD_NAME, STRING_PARAM_METHOD_DESCRIPTOR_PREFIX + enumTypeName, null, null); + methodVisitor.visitCode(); + methodVisitor.visitLdcInsn(org.objectweb.asm.Type.getType(enumTypeName)); + methodVisitor.visitVarInsn(ALOAD, 0); + methodVisitor.visitMethodInsn(INVOKESTATIC, ENUM_INTERNAL_NAME, VALUE_OF_METHOD_NAME, VALUE_OF_METHOD_DESCRIPTOR); + methodVisitor.visitTypeInsn(CHECKCAST, enumName); + methodVisitor.visitInsn(ARETURN); + methodVisitor.visitMaxs(2, 1); + methodVisitor.visitEnd(); + } + { + methodVisitor = classWriter.visitMethod(ACC_PRIVATE, INIT_METHOD_NAME, INIT_METHOD_DESCRIPTOR, CLOSED_METHOD_DESCRIPTOR, null); + methodVisitor.visitCode(); + methodVisitor.visitVarInsn(ALOAD, 0); + methodVisitor.visitVarInsn(ALOAD, 1); + methodVisitor.visitVarInsn(ILOAD, 2); + methodVisitor.visitMethodInsn(INVOKESPECIAL, ENUM_INTERNAL_NAME, INIT_METHOD_NAME, INIT_METHOD_DESCRIPTOR); + methodVisitor.visitInsn(RETURN); + methodVisitor.visitMaxs(3, 3); + methodVisitor.visitEnd(); + } + { + methodVisitor = classWriter.visitMethod(ACC_STATIC, CLINIT_METHOD_NAME, CLOSED_METHOD_DESCRIPTOR, null, null); + methodVisitor.visitCode(); + + int constantIndex = 0; + for (final String choice : choicesList) + { + methodVisitor.visitTypeInsn(NEW, enumName); + methodVisitor.visitInsn(DUP); + methodVisitor.visitLdcInsn(choice); + + visitConstantIncrement(methodVisitor, constantIndex); + constantIndex++; + + methodVisitor.visitMethodInsn(INVOKESPECIAL, enumName, INIT_METHOD_NAME, INIT_METHOD_DESCRIPTOR); + methodVisitor.visitFieldInsn(PUTSTATIC, enumName, choice, enumTypeName); + } + + methodVisitor.visitIntInsn(BIPUSH, constantIndex); + methodVisitor.visitTypeInsn(ANEWARRAY, enumName); + + + constantIndex = 0; + for (final String choice : choicesList) + { + methodVisitor.visitInsn(DUP); + + visitConstantIncrement(methodVisitor, constantIndex); + constantIndex++; + + methodVisitor.visitFieldInsn(GETSTATIC, enumName, choice, enumTypeName); + methodVisitor.visitInsn(AASTORE); + } + + methodVisitor.visitFieldInsn(PUTSTATIC, enumName, $VALUES_CONSTANT_NAME, enumArrayTypeName); + methodVisitor.visitInsn(RETURN); + methodVisitor.visitMaxs(4, 0); + methodVisitor.visitEnd(); + + } + classWriter.visitEnd(); + + final byte[] bytecode = classWriter.toByteArray(); + + enumByteCodeClass.setBytecode(bytecode); + + return enumByteCodeClass; + } + + private void visitConstantIncrement(final MethodVisitor methodVisitor, final int constantIndex) + { + + switch (constantIndex) + { + + case 0: + methodVisitor.visitInsn(ICONST_0); + break; + + case 1: + methodVisitor.visitInsn(ICONST_1); + break; + + case 2: + methodVisitor.visitInsn(ICONST_2); + break; + + case 3: + methodVisitor.visitInsn(ICONST_3); + break; + + case 4: + methodVisitor.visitInsn(ICONST_4); + break; + + case 5: + methodVisitor.visitInsn(ICONST_5); + break; + + default: + methodVisitor.visitIntInsn(BIPUSH, constantIndex); + break; + } + + } + + public Schema generateSchema(final JsonSchema jsonSchema, final URI... baseSchemaUris) + throws SchemaGeneratorException + { + + final URI schemaUri = jsonSchema.getId(); + final Context context = getContext(); + + final Schema schema = context.newModel(getSchemaLoader().getSchemaDimensions()); + schema.setUri(schemaUri); + + final UniqueName literalUniqueName = JsonSchema.createJsonSchemaUniqueName(schemaUri); + final String namespace = literalUniqueName.getNamespace(); + final String localName = StringUtils.capitalize(literalUniqueName.getLocalName()); + final UniqueName uniqueName = new UniqueName(namespace, localName); + schema.setUniqueName(uniqueName); + final String schemaDescription = jsonSchema.getDescription(); + if (schemaDescription != null) + { + schema.setDescription(schemaDescription); + } + + final String schemaTitle = uniqueName.getLocalName(); + if (schemaTitle != null) + { + schema.setTitle(schemaTitle); + } + + final Set baseSchemaUriSet = new HashSet<>(); + if (baseSchemaUris != null) + { + baseSchemaUriSet.addAll(Arrays.asList(baseSchemaUris)); + } + + baseSchemaUriSet.addAll(jsonSchema.getExtendedSchemaUris()); + schema.getBaseSchemaUris().addAll(baseSchemaUriSet); + + final List slots = schema.getSlots(); + final Map properties = jsonSchema.getProperties(); + + for (final String name : properties.keySet()) + { + + final JsonSchema.Property property = properties.get(name); + + final Slot slot = context.newModel(Slot.class); + slot.setName(name); + + final String slotDescription = property.getValue(PropertyType.Description); + if (slotDescription != null) + { + slot.setDescription(slotDescription); + } + final String slotTitle = property.getValue(PropertyType.Title); + if (slotTitle != null) + { + slot.setTitle(slotTitle); + } + + final Value value = generateValue(jsonSchema, property); + + if (value == null) + { + throw new SchemaGeneratorException("Failed to generate a Value for slot: " + name, null, this); + } + + slot.setValue(value); + + slots.add(slot); + + } + + final List links = jsonSchema.getLinks(); + for (final JsonSchema.Link jsonSchemaLink : links) + { + final Slot linkSlot = context.newModel(Slot.class); + final URI linkRelationUri = jsonSchemaLink.getRelId(); + if (linkRelationUri == null) + { + continue; + } + + final LinkRelation linkRelation = getContext().getApiLoader().loadLinkRelation(linkRelationUri); + if (linkRelation == null) + { + continue; + } + final String linkSlotName = linkRelation.getUniqueName().getLocalName(); + if (linkSlotName == null) + { + continue; + } + + linkSlot.setName(linkSlotName); + + final LinkValue linkValue = context.newModel(LinkValue.class); + linkSlot.setValue(linkValue); + linkValue.setLinkRelationUri(linkRelationUri); + + final URI targetSchemaUri = jsonSchemaLink.getTargetSchemaId(); + if (targetSchemaUri != null) + { + linkValue.setResponseSchemaUri(targetSchemaUri); + } + + final URI paramSchemaUri = jsonSchemaLink.getSchemaId(); + linkValue.setRequestSchemaUri(paramSchemaUri); + + slots.add(linkSlot); + } + + final ObjectNode rootNode = jsonSchema.getRootNode(); + if (rootNode.has(Schema.SLOT_NAME_KEY_SLOT_NAMES)) + { + final JsonNode keySlotNamesJsonNode = rootNode.get(Schema.SLOT_NAME_KEY_SLOT_NAMES); + + if (keySlotNamesJsonNode instanceof ArrayNode) + { + final ArrayNode keySlotNamesArrayNode = (ArrayNode) keySlotNamesJsonNode; + final Iterator elements = keySlotNamesArrayNode.elements(); + while (elements.hasNext()) + { + final JsonNode keySlotNameJsonNode = elements.next(); + final String keySlotName = keySlotNameJsonNode.asText(); + schema.getKeySlotNames().add(keySlotName); + } + } + } + + LOG.debug("Generated WRML Schema from JSON Schema (" + schema.getUri() + "):\n" + schema); + + return schema; + + } + + @SuppressWarnings("unchecked") + public Schema generateSchema(final Prototype prototype) + { + + final URI schemaUri = prototype.getSchemaUri(); + final Context context = getContext(); + + final Schema schema = context.newModel(getSchemaLoader().getSchemaDimensions()); + schema.setUniqueName(prototype.getUniqueName()); + schema.setDescription(prototype.getDescription()); + + final boolean isReadOnly = prototype.isReadOnly(); + if (isReadOnly) + { + schema.setReadOnly(true); + } + + schema.setTitle(prototype.getTitle()); + schema.setThumbnailLocation(prototype.getThumbnailLocation()); + schema.setVersion(prototype.getVersion()); + + schema.setUri(schemaUri); + + final Set prototypeBaseSchemaUris = prototype.getDeclaredBaseSchemaUris(); + if (prototypeBaseSchemaUris != null) + { + schema.getBaseSchemaUris().addAll(prototypeBaseSchemaUris); + } + + final SortedSet prototypeKeySlotNames = prototype.getDeclaredKeySlotNames(); + if (prototypeKeySlotNames != null) + { + schema.getKeySlotNames().addAll(prototypeKeySlotNames); + } + + final Set prototypeComparableSlotNames = prototype.getComparableSlotNames(); + if (prototypeComparableSlotNames != null) + { + schema.getComparableSlotNames().addAll(prototypeComparableSlotNames); + } + + final SortedSet prototypeTags = prototype.getTags(); + if (prototypeTags != null) + { + schema.getTags().addAll(prototypeTags); + } + + final List slots = schema.getSlots(); + final SortedSet prototypeAllSlotNames = prototype.getAllSlotNames(); + if (prototypeAllSlotNames != null) + { + + for (final String name : prototypeAllSlotNames) + { + final ProtoSlot protoSlot = prototype.getProtoSlot(name); + final URI slotDeclaredSchemaUri = protoSlot.getDeclaringSchemaUri(); + if (!schemaUri.equals(slotDeclaredSchemaUri)) + { + continue; + } + + final Slot slot = context.newModel(Slot.class); + slot.setName(name); + + final SortedSet aliases = protoSlot.getAliases(); + if (aliases != null) + { + slot.getAliases().addAll(aliases); + } + + slot.setDescription(protoSlot.getDescription()); + slot.setTitle(protoSlot.getTitle()); + + final Type slotHeapValueType = protoSlot.getHeapValueType(); + final Value value = generateValue(slotHeapValueType, protoSlot); + + if (value == null) + { + throw new SchemaGeneratorException("Failed to generate a Value for slot: " + protoSlot, null, this); + } + + if (protoSlot instanceof PropertyProtoSlot) + { + final PropertyProtoSlot propertyProtoSlot = (PropertyProtoSlot) protoSlot; + final Object propertyDefaultValue = propertyProtoSlot.getDefaultValue(); + final ValueType propertyValueType = propertyProtoSlot.getValueType(); + final Object valueTypeDefaultValue = propertyValueType.getDefaultValue(); + if (propertyDefaultValue != null && !propertyDefaultValue.equals(valueTypeDefaultValue)) + { + value.setSlotValue(Value.SLOT_NAME_DEFAULT, propertyDefaultValue); + } + + @SuppressWarnings("rawtypes") + final Set disallowedValues = propertyProtoSlot.getDisallowedValues(); + if (disallowedValues != null && !disallowedValues.isEmpty()) + { + propertyProtoSlot.getDisallowedValues().addAll(disallowedValues); + } + + final Object divisibleByValue = propertyProtoSlot.getDivisibleByValue(); + if (divisibleByValue != null) + { + value.setSlotValue(NumericValue.SLOT_NAME_DIVISIBLE_BY, divisibleByValue); + } + + final Integer maximumLength = propertyProtoSlot.getMaximumLength(); + if (maximumLength != null) + { + value.setSlotValue(TextValue.SLOT_NAME_MAXIMUM_LENGTH, maximumLength); + } + + final Integer maximumSize = propertyProtoSlot.getMaximumSize(); + if (maximumSize != null) + { + value.setSlotValue(ListValue.SLOT_NAME_MAXIMUM_SIZE, maximumSize); + } + + final Object maximumValue = propertyProtoSlot.getMaximumValue(); + if (maximumValue != null) + { + value.setSlotValue(NumericValue.SLOT_NAME_MAXIMUM, maximumValue); + } + + final Integer minimumLength = propertyProtoSlot.getMinimumLength(); + if (minimumLength != null) + { + value.setSlotValue(TextValue.SLOT_NAME_MINIMUM_LENGTH, minimumLength); + } + + final Integer minimumSize = propertyProtoSlot.getMinimumSize(); + if (minimumSize != null) + { + value.setSlotValue(ListValue.SLOT_NAME_MINIMUM_SIZE, minimumSize); + } + + final Object minimumValue = propertyProtoSlot.getMinimumValue(); + if (minimumValue != null) + { + value.setSlotValue(NumericValue.SLOT_NAME_MINIMUM, minimumValue); + } + + if (slotHeapValueType instanceof Class + && Set.class.isAssignableFrom((Class) slotHeapValueType)) + { + value.setSlotValue(ListValue.SLOT_NAME_ELEMENT_UNIQUENESS_CONSTRAINED, Boolean.TRUE); + } + + } + + + slot.setValue(value); + + slots.add(slot); + + } + } + + return schema; + } + + /** + * Generate a {@link JavaBytecodeClass} from the specified {@link Schema}. + *

+ * Like a *big* regex (regular expression), we can compile all of the + * WRML schema metadata (as if it is a single *big* String input) into a + * loaded Java class so that the rest of the WRML *runtime* can use + * (Prototype-optimized) reflection to access WRML's type system. + * + * @param schema The Schema to represent as a Java class. + * @return The Java class representation of the specified schema. + */ + public JavaBytecodeClass generateSchemaInterface(final Schema schema) + { + + /* + * Create the simple POJO that will return the transformation + * information. By the end of this method, this will be full of Java + * bytecode-oriented information gleaned from this method's schema + * parameter. + */ + final JavaBytecodeClass javaBytecodeClass = new JavaBytecodeClass(); + final JavaBytecodeAnnotation wrmlAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_WRML); + wrmlAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_UNIQUE_NAME, schema.getUniqueName().getFullName()); + javaBytecodeClass.getAnnotations().add(wrmlAnnotation); + + final SortedSet keySlotNameSet = new TreeSet<>(); + + /* + * If the schema declares any key slots, note them with a + * class-level annotation. + */ + final List keySlotNames = schema.getKeySlotNames(); + if (keySlotNames != null && keySlotNames.size() > 0) + { + keySlotNameSet.addAll(keySlotNames); + } + + if (!keySlotNameSet.isEmpty()) + { + final String[] keySlotNamesArray = new String[keySlotNameSet.size()]; + wrmlAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_KEY_SLOT_NAMES, keySlotNameSet.toArray(keySlotNamesArray)); + } + + /* + * If the schema declares any comparable slots, note them with a + * class-level annotation. + */ + final List comparableSlotNames = schema.getComparableSlotNames(); + if (comparableSlotNames != null && comparableSlotNames.size() > 0) + { + final String[] comparableSlotNamesArray = new String[comparableSlotNames.size()]; + wrmlAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_COMPARABLE_SLOT_NAMES, comparableSlotNames.toArray(comparableSlotNamesArray)); + } + /* + * In Java, all interfaces extend java.lang.Object, so this can + * remain constant for Schema too. + */ + javaBytecodeClass.setSuperName(SchemaGenerator.OBJECT_INTERNAL_NAME); + + /* + * Go from schema id (URI) to internal Java class name. This is a + * simple matter of stripping the leading forward slash from the + * URI's path. Internally (in the bytecode), Java's class names use + * forward slash (/) instead of full stop dots (.). + */ + final URI schemaUri = schema.getUri(); + final String interfaceInternalName = uriToInternalTypeName(schemaUri); + // if (schema.getUniqueName() == null) + // { + // schema.setUniqueName(new UniqueName(schemaUri.getPath())); + // } + + javaBytecodeClass.setInternalName(interfaceInternalName); + + /* + * Add the class-level Description annotation to capture the + * schema's description. + */ + final String schemaDescription = schema.getDescription(); + if (schemaDescription != null && !schemaDescription.trim().isEmpty()) + { + final JavaBytecodeAnnotation schemaDescriptionAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_DESCRIPTION); + schemaDescriptionAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE, schemaDescription); + javaBytecodeClass.getAnnotations().add(schemaDescriptionAnnotation); + } + + String schemaTitle = schema.getTitle(); + if (schemaTitle == null || schemaTitle.trim().isEmpty()) + { + schemaTitle = schema.getUniqueName().getLocalName(); + } + + final JavaBytecodeAnnotation schemaTitleAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_TITLE); + schemaTitleAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE, schemaTitle); + javaBytecodeClass.getAnnotations().add(schemaTitleAnnotation); + + final URI schemaThumbnailImageLocation = schema.getThumbnailLocation(); + if (schemaThumbnailImageLocation != null) + { + final JavaBytecodeAnnotation schemaThumbnailImageAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_THUMBNAIL_IMAGE); + schemaThumbnailImageAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE, + schemaThumbnailImageLocation.toString()); + javaBytecodeClass.getAnnotations().add(schemaThumbnailImageAnnotation); + } + + + boolean isAggregate = false; + + /* + * Turn the schema's base schema list into our Java class's base + * (aka extended) interfaces. + */ + final List baseSchemaUris = schema.getBaseSchemaUris(); + for (final URI baseSchemaUri : baseSchemaUris) + { + final String baseSchemaInternalName = uriToInternalTypeName(baseSchemaUri); + javaBytecodeClass.getInterfaces().add(baseSchemaInternalName); + + + if (!isAggregate && getSchemaLoader().getAggregateDocumentSchemaUri().equals(baseSchemaUri)) + { + isAggregate = true; + + final List slots = schema.getSlots(); + for (final Slot slot : slots) + { + final Value value = slot.getValue(); + if (!(value instanceof LinkValue || value instanceof ModelValue || value instanceof MultiSelectValue)) + { + keySlotNameSet.add(slot.getName()); + } + } + } + } + + // Add the Model base interface + javaBytecodeClass.getInterfaces().add(SchemaGenerator.MODEL_INTERFACE_INTERNAL_NAME); + + + /* + * Add the class-level Tags annotation to capture the schema's tags. + */ + final List schemaTags = schema.getTags(); + if (schemaTags != null && schemaTags.size() > 0) + { + final JavaBytecodeAnnotation tagsAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_TAGS); + final String[] tagsArray = new String[schemaTags.size()]; + tagsAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE, schemaTags.toArray(tagsArray)); + javaBytecodeClass.getAnnotations().add(tagsAnnotation); + } + + final Long schemaVersion = schema.getVersion(); + if (schemaVersion != null) + { + final JavaBytecodeAnnotation versionAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_VERSION); + versionAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE, schemaVersion); + javaBytecodeClass.getAnnotations().add(versionAnnotation); + } + + final Boolean maybeReadOnly = schema.isReadOnly(); + if (maybeReadOnly != null && maybeReadOnly) + { + final JavaBytecodeAnnotation readOnlyAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_READ_ONLY); + javaBytecodeClass.getAnnotations().add(readOnlyAnnotation); + } + + /* + * Generate the interface method signatures. + */ + generateSchemaInterfaceMethods(schema, javaBytecodeClass, isAggregate); + + // TODO: "Open slots" with signatures. Track the open slots via + // the JavaBytecode types. + + // + // TODO: The signature will need to be changed for generics: + // Example: + // + // Java: public interface Test> extends List + // Class File: public abstract interface org.wrml.schema.Test + // extends java.util.List + // Signature: + // ;>Ljava/lang/Object;Ljava/util/List; + // + + javaBytecodeClass.setSignature(null); + + generateSchemaInterfaceBytecode(javaBytecodeClass); + return javaBytecodeClass; + } + + public Context getContext() + { + + return getSchemaLoader().getContext(); + } + + public SchemaLoader getSchemaLoader() + { + + return _SchemaLoader; + } + + private void addAnnotations(final JavaBytecodeMethod method, final JavaBytecodeAnnotation... annotations) + { + + if (annotations != null && annotations.length > 0) + { + final List methodAnnotations = method.getAnnotations(); + for (final JavaBytecodeAnnotation annotation : annotations) + { + if (annotation != null) + { + methodAnnotations.add(annotation); + } + } + } + } + + private String generateArgs(final String... args) + { + + if (args == null || args.length == 0) + { + return SchemaGenerator.EMPTY_PARENTHESES; + } + else + { + StringBuilder argsStringBuilder = null; + + for (final String arg : args) + { + if (arg == null) + { + continue; + } + + if (argsStringBuilder == null) + { + argsStringBuilder = new StringBuilder(); + argsStringBuilder.append(SchemaGenerator.OPEN_PARENTHESIS); + } + + argsStringBuilder.append(arg); + + } + + if (argsStringBuilder != null) + { + argsStringBuilder.append(SchemaGenerator.CLOSE_PARENTHESIS); + return argsStringBuilder.toString(); + } + + } + + return null; + } + + private String generateArgsDescriptor(final JavaBytecodeType... argumentTypes) + { + + if (argumentTypes == null || argumentTypes.length == 0) + { + return generateArgs((String[]) null); + } + + final List argList = new ArrayList(); + for (int i = 0; i < argumentTypes.length; i++) + { + final JavaBytecodeType argType = argumentTypes[i]; + if (argType != null) + { + argList.add(argType.getDescriptor()); + } + } + + if (argList.size() > 0) + { + String[] args = new String[argList.size()]; + args = argList.toArray(args); + return generateArgs(args); + } + + return generateArgs((String[]) null); + } + + private String generateArgsSignature(final JavaBytecodeType... argumentTypes) + { + + if (argumentTypes == null || argumentTypes.length == 0) + { + return generateArgs((String[]) null); + } + + final List argList = new ArrayList(); + for (int i = 0; i < argumentTypes.length; i++) + { + final JavaBytecodeType argType = argumentTypes[i]; + if (argType != null) + { + argList.add(argType.getGenericSignature()); + } + } + + if (argList.size() > 0) + { + String[] args = new String[argList.size()]; + args = argList.toArray(args); + return generateArgs(args); + } + + return null; + } + + private void generateBeanAccessorMethods(final JavaBytecodeClass javaBytecodeClass, final Schema schema, final boolean isAggregate, final Slot slot) + { + + final String slotName = slot.getName(); + final Value slotValue = slot.getValue(); + final JavaBytecodeType type = getSlotType(javaBytecodeClass, schema, isAggregate, slot); + + /* + * Following JavaBean property conventions, the suffix (end) of the + * property accessor's method name will be the WRML schema slot's + * name as mixed upper case. + */ + final String methodNameSuffix = StringUtils.capitalize(StringUtils.deleteWhitespace(slotName)); + final String readMethodNamePrefix = (slotValue instanceof BooleanValue) ? JavaBean.IS : JavaBean.GET; + final String readMethodName = readMethodNamePrefix + methodNameSuffix; + + JavaBytecodeAnnotation aliasAnnotation = null; + JavaBytecodeAnnotation descriptionAnnotation = null; + JavaBytecodeAnnotation titleAnnotation = null; + JavaBytecodeAnnotation defaultValueAnnotation = null; + + final List aliases = slot.getAliases(); + if (aliases != null && aliases.size() > 0) + { + aliasAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_ALIASES); + final String[] aliasesArray = new String[aliases.size()]; + aliasAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE, aliases.toArray(aliasesArray)); + } + + final String descriptionString = slot.getDescription(); + if (descriptionString != null && !descriptionString.isEmpty()) + { + descriptionAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_DESCRIPTION); + descriptionAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE, descriptionString); + } + + final String titleString = slot.getTitle(); + if (titleString != null && !titleString.isEmpty()) + { + titleAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_TITLE); + titleAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE, titleString); + } + + final String defaultValueString = getDefaultValueString(slotValue); + if (defaultValueString != null && !defaultValueString.isEmpty()) + { + defaultValueAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_DEFAULT_VALUE); + defaultValueAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE, defaultValueString); + } + + JavaBytecodeAnnotation disallowedValuesAnnotation = null; + JavaBytecodeAnnotation divisibleByAnnotation = null; + JavaBytecodeAnnotation maximumLengthAnnotation = null; + JavaBytecodeAnnotation maximumSizeAnnotation = null; + JavaBytecodeAnnotation maximumValueAnnotation = null; + JavaBytecodeAnnotation minimumLengthAnnotation = null; + JavaBytecodeAnnotation minimumSizeAnnotation = null; + JavaBytecodeAnnotation minimumValueAnnotation = null; + + JavaBytecodeAnnotation collectionSlotAnnotation = null; + + if (slotValue.containsSlotValue(Value.SLOT_NAME_DISALLOWED_VALUES)) + { + + final List disallowedValues = (List) slotValue.getSlotValue(Value.SLOT_NAME_DISALLOWED_VALUES); + if (disallowedValues != null && disallowedValues.size() > 0) + { + disallowedValuesAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_DISALLOWED_VALUES); + + final String[] values = new String[disallowedValues.size()]; + + for (int i = 0; i < values.length; i++) + { + values[i] = String.valueOf(disallowedValues.get(i)); + } + + disallowedValuesAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE, values); + + } + + } + + if (slotValue.containsSlotValue(NumericValue.SLOT_NAME_DIVISIBLE_BY) && (slotValue instanceof IntegerValue || slotValue instanceof LongValue)) + { + divisibleByAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_DIVISIBLE_BY_VALUE); + divisibleByAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE, + String.valueOf(slotValue.getSlotValue(NumericValue.SLOT_NAME_DIVISIBLE_BY))); + + } + + // Maximum values + + if (slotValue.containsSlotValue(TextValue.SLOT_NAME_MAXIMUM_LENGTH) && slotValue instanceof TextValue) + { + maximumLengthAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_MAXIMUM_LENGTH); + maximumLengthAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE, + (int) slotValue.getSlotValue(TextValue.SLOT_NAME_MAXIMUM_LENGTH)); + + } + else if (slotValue.containsSlotValue(ListValue.SLOT_NAME_MAXIMUM_SIZE) && slotValue instanceof ListValue) + { + maximumSizeAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_MAXIMUM_SIZE); + maximumSizeAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE, + (int) slotValue.getSlotValue(ListValue.SLOT_NAME_MAXIMUM_SIZE)); + + } + else if (slotValue.containsSlotValue(NumericValue.SLOT_NAME_MAXIMUM) && slotValue instanceof NumericValue) + { + maximumValueAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_MAXIMUM_VALUE); + maximumValueAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE, + String.valueOf(slotValue.getSlotValue(NumericValue.SLOT_NAME_MAXIMUM))); + + maximumValueAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_EXCLUSIVE, + ((NumericValue) slotValue).isExclusiveMaximum()); + + } + + // Minimum values + + if (slotValue.containsSlotValue(TextValue.SLOT_NAME_MINIMUM_LENGTH) && slotValue instanceof TextValue) + { + minimumLengthAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_MINIMUM_LENGTH); + minimumLengthAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE, + (int) slotValue.getSlotValue(TextValue.SLOT_NAME_MINIMUM_LENGTH)); + + } + else if (slotValue.containsSlotValue(ListValue.SLOT_NAME_MINIMUM_SIZE) && slotValue instanceof ListValue) + { + minimumSizeAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_MINIMUM_SIZE); + minimumSizeAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE, + (int) slotValue.getSlotValue(ListValue.SLOT_NAME_MINIMUM_SIZE)); + + } + else if (slotValue.containsSlotValue(NumericValue.SLOT_NAME_MINIMUM) && slotValue instanceof NumericValue) + { + minimumValueAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_MINIMUM_VALUE); + minimumValueAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE, + String.valueOf(slotValue.getSlotValue(NumericValue.SLOT_NAME_MINIMUM))); + + minimumValueAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_EXCLUSIVE, + ((NumericValue) slotValue).isExclusiveMinimum()); + + } + + + if (slotValue instanceof CollectionValue) + { + + final CollectionValue collectionValue = (CollectionValue) slotValue; + final Slot elementSlot = collectionValue.getElementSlot(); + + if (elementSlot == null) + { + throw new SchemaGeneratorException("The collection value: " + collectionValue + " does not define an element slot. Collection values must have an element type of " + ModelValue.class, null, this); + } + + final Value elementValue = collectionValue.getElementSlot().getValue(); + if (!(elementValue instanceof ModelValue)) + { + throw new SchemaGeneratorException("The collection value: " + collectionValue + " does not define a model-based element slot. Collection values must have an element type of " + ModelValue.class, null, this); + } + + collectionSlotAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_COLLECTION_SLOT); + + final URI linkRelationUri = collectionValue.getLinkRelationUri(); + collectionSlotAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_LINK_RELATION_URI, linkRelationUri.toString()); + + final Integer limit = collectionValue.getLimit(); + if (limit != null) + { + if (limit < 1) + { + throw new SchemaGeneratorException("The collection value: " + collectionValue + " defines an invalid limit: " + limit, null, this); + } + + collectionSlotAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_LIMIT, limit.toString()); + } + + final List andedCriterionList = collectionValue.getAnd(); + if (andedCriterionList.size() > 0) + { + final JavaBytecodeAnnotation[] andCriterionArray = generateCollectionSlotCriterionArray(andedCriterionList); + collectionSlotAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_AND, andCriterionArray); + } + + final List oredCriterionList = collectionValue.getOr(); + if (oredCriterionList.size() > 0) + { + final JavaBytecodeAnnotation[] orCriterionArray = generateCollectionSlotCriterionArray(oredCriterionList); + collectionSlotAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_OR, orCriterionArray); + } + + + } + + + // + // Create an object to describe the *read* access method (aka + // "getter" method) that needs + // to be generated. + // + final JavaBytecodeMethod readMethod = generateMethod(readMethodName, type, aliasAnnotation, + descriptionAnnotation, titleAnnotation, defaultValueAnnotation, disallowedValuesAnnotation, + divisibleByAnnotation, maximumValueAnnotation, minimumValueAnnotation, maximumLengthAnnotation, + minimumLengthAnnotation, maximumSizeAnnotation, minimumSizeAnnotation, collectionSlotAnnotation); + + javaBytecodeClass.getMethods().add(readMethod); + + if (aliases != null && aliases.size() > 0) + { + for (final String alias : aliases) + { + if (alias == null) + { + continue; + } + + final String aliasMethodNameSuffix = StringUtils.capitalize(StringUtils.deleteWhitespace(alias)); + final String aliasReadMethodName = readMethodNamePrefix + aliasMethodNameSuffix; + + final JavaBytecodeMethod aliasReadMethod = generateMethod(aliasReadMethodName, type); + + javaBytecodeClass.getMethods().add(aliasReadMethod); + + } + } + + if (slotValue instanceof MaybeReadOnly) + { + + final Boolean maybeReadOnly = ((MaybeReadOnly) slotValue).isReadOnly(); + + if (maybeReadOnly == null || !maybeReadOnly) + { + + final String writeMethodName = JavaBean.SET + methodNameSuffix; + + JavaBytecodeAnnotation nonNullAnnotation = null; // ;-) + if (slotValue instanceof MaybeRequired) + { + final Boolean maybeRequired = ((MaybeRequired) slotValue).isRequired(); + final boolean required = (maybeRequired != null && maybeRequired); + if (required && !(slotValue instanceof NumericValue) && !(slotValue instanceof BooleanValue)) + { + nonNullAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_NON_NULL); + } + } + + // + // Create an object to describe the *write* access method + // (aka "setter" method) that needs + // to be generated. + // + final JavaBytecodeMethod writeMethod = generateMethod(writeMethodName, type, type, nonNullAnnotation); + javaBytecodeClass.getMethods().add(writeMethod); + + if (aliases != null && aliases.size() > 0) + { + for (final String alias : aliases) + { + if (alias == null) + { + continue; + } + + final String aliasMethodNameSuffix = StringUtils + .capitalize(StringUtils.deleteWhitespace(alias)); + final String aliasWriteMethodName = JavaBean.SET + aliasMethodNameSuffix; + final JavaBytecodeMethod aliasWriteMethod = generateMethod(aliasWriteMethodName, type, type); + javaBytecodeClass.getMethods().add(aliasWriteMethod); + } + } + } + } + + } + + private JavaBytecodeAnnotation[] generateCollectionSlotCriterionArray(final List criterionList) + { + + final JavaBytecodeAnnotation[] criterionArray = new JavaBytecodeAnnotation[criterionList.size()]; + for (int i = 0; i < criterionArray.length; i++) + { + + final CollectionValueSearchCriterion criterion = criterionList.get(i); + final JavaBytecodeAnnotation collectionSlotCriterionAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_COLLECTION_SLOT_CRITERION); + criterionArray[i] = collectionSlotCriterionAnnotation; + + + final String referenceSlot = criterion.getReferenceSlot(); + collectionSlotCriterionAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_REFERENCE_SLOT, referenceSlot); + + final ComparisonOperator operator = criterion.getOperator(); + collectionSlotCriterionAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_OPERATOR, operator); + + + final String linkValueSource = criterion.getValueSource(); + final ValueSourceType linkValueSourceType = criterion.getValueSourceType(); + + if (operator != ComparisonOperator.exists && operator != ComparisonOperator.notExists && linkValueSource != null) + { + collectionSlotCriterionAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE_SOURCE, linkValueSource); + collectionSlotCriterionAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE_SOURCE_TYPE, linkValueSourceType); + } + + final String regex = criterion.getRegex(); + if (operator == ComparisonOperator.regex && regex != null) + { + collectionSlotCriterionAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_REGEX, regex); + } + + + } + + return criterionArray; + } + + private List generateCollectionValueSearchCriterionList(final List protoSearchCriterionList) + { + + final int listSize = (protoSearchCriterionList != null) ? protoSearchCriterionList.size() : 0; + final List criterionList = new ArrayList<>(listSize); + + final Context context = getContext(); + if (protoSearchCriterionList != null) + { + for (final ProtoSearchCriterion protoSearchCriterion : protoSearchCriterionList) + { + + final CollectionValueSearchCriterion searchCriterion = context.newModel(CollectionValueSearchCriterion.class); + + + final ComparisonOperator operator = protoSearchCriterion.getComparisonOperator(); + searchCriterion.setOperator(operator); + + final ProtoValueSource protoValueSource = protoSearchCriterion.getProtoValueSource(); + searchCriterion.setReferenceSlot(protoValueSource.getReferenceSlot()); + + if (operator != ComparisonOperator.exists && operator != ComparisonOperator.notExists) + { + searchCriterion.setValueSourceType(protoValueSource.getValueSourceType()); + searchCriterion.setValueSource(protoValueSource.getValueSource()); + + } + + if (operator == ComparisonOperator.regex) + { + searchCriterion.setRegex(protoSearchCriterion.getRegex()); + } + + criterionList.add(searchCriterion); + } + } + + return criterionList; + } + + /** + * Generates the method associated with a Link slot value ({@link LinkValue}). + * + * @param javaBytecodeClass The {@link JavaBytecodeClass} representing the Schema interface being generated. + * @param isAggregate true if the {@link Schema} that owns the link {@link Slot} is an {@link org.wrml.model.rest.AggregateDocument}. + * @param slot The slot holding the LinkValue to use as a template for a set of generated Java methods. + */ + private void generateLinkMethod(final JavaBytecodeClass javaBytecodeClass, final boolean isAggregate, final Slot slot) + { + + + JavaBytecodeAnnotation aliasAnnotation = null; + + final List aliases = slot.getAliases(); + if (aliases != null && aliases.size() > 0) + { + aliasAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_ALIASES); + final String[] aliasesArray = new String[aliases.size()]; + aliasAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE, aliases.toArray(aliasesArray)); + } + + final JavaBytecodeAnnotation linkSlotAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_LINK_SLOT); + + final LinkValue linkValue = (LinkValue) slot.getValue(); + + final URI linkRelationUri = linkValue.getLinkRelationUri(); + if (linkRelationUri == null) + { + throw new SchemaGeneratorException("The link must specify a URI value in its \"linkRelationUri\" slot.", null, this); + } + + final String linkRelationUriString = linkRelationUri.toASCIIString(); + if (linkRelationUriString == null || linkRelationUriString.isEmpty()) + { + throw new SchemaGeneratorException("The link must specify a URI value in its \"linkRelationUri\" slot.", null, this); + } + + linkSlotAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_LINK_RELATION_URI, linkRelationUriString); + + final ApiLoader apiLoader = getContext().getApiLoader(); + final LinkRelation linkRelation = apiLoader.loadLinkRelation(linkRelationUri); + if (linkRelation == null) + { + throw new SchemaGeneratorException("Could not get the LinkRelation with URI: " + linkRelationUri, null, this); + } + + + final String slotName = slot.getName(); + + final String linkSlotName = StringUtils.deleteWhitespace(slotName); + String linkMethodName = linkSlotName; + + final Method method = linkRelation.getMethod(); + linkSlotAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_METHOD, method); + + + final URI linkValueResponseSchemaUri = linkValue.getResponseSchemaUri(); + final URI linkRelationResponseSchemaUri = linkRelation.getResponseSchemaUri(); + final URI methodReturnSchemaUri = (linkValueResponseSchemaUri != null) ? linkValueResponseSchemaUri : linkRelationResponseSchemaUri; + final JavaBytecodeType methodReturnType = javaBytecodeTypeForSchemaUri(methodReturnSchemaUri); + + final URI linkValueRequestSchemaUri = linkValue.getRequestSchemaUri(); + final URI linkRelationRequestSchemaUri = linkRelation.getRequestSchemaUri(); + final URI methodParameterSchemaUri = (linkValueRequestSchemaUri != null) ? linkValueRequestSchemaUri : linkRelationRequestSchemaUri; + + final JavaBytecodeMethod linkMethod; + if (methodParameterSchemaUri != null) + { + // Link method accepts a parameter + final JavaBytecodeType methodParameterType = javaBytecodeTypeForSchemaUri(methodParameterSchemaUri); + linkMethod = generateMethod(linkMethodName, methodReturnType, methodParameterType, aliasAnnotation, linkSlotAnnotation); + } + else + { + // A zero argument link method + if (method == Method.Get) + { + // Links with GET semantics are named with a pattern: get{LinkSlotName}() + linkMethodName = JavaBean.GET + StringUtils.capitalize(linkMethodName); + } + + linkMethod = generateMethod(linkMethodName, methodReturnType, aliasAnnotation, linkSlotAnnotation); + } + + boolean embedded = (linkValue.isEmbedded() || isAggregate) && (method == Method.Get); + linkSlotAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_EMBEDDED, embedded); + + List linkValueBindings = linkValue.getBindings(); + if (!linkValueBindings.isEmpty()) + { + + final JavaBytecodeAnnotation[] bindingsArray = new JavaBytecodeAnnotation[linkValueBindings.size()]; + for (int i = 0; i < bindingsArray.length; i++) + { + + final LinkValueBinding linkValueBinding = linkValueBindings.get(i); + final String referenceSlot = linkValueBinding.getReferenceSlot(); + final String linkValueSource = linkValueBinding.getValueSource(); + final ValueSourceType linkValueSourceType = linkValueBinding.getValueSourceType(); + + final JavaBytecodeAnnotation linkSlotBindingAnnotation = new JavaBytecodeAnnotation(SchemaGenerator.ANNOTATION_INTERNAL_NAME_LINK_SLOT_BINDING); + linkSlotBindingAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_REFERENCE_SLOT, referenceSlot); + linkSlotBindingAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE_SOURCE, linkValueSource); + linkSlotBindingAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_VALUE_SOURCE_TYPE, linkValueSourceType); + + bindingsArray[i] = linkSlotBindingAnnotation; + } + + linkSlotAnnotation.setAttributeValue(SchemaGenerator.PARAM_NAME_BINDINGS, bindingsArray); + + } + + + javaBytecodeClass.getMethods().add(linkMethod); + + } + + private List generateLinkValueBindingList(final LinkProtoSlot linkProtoSlot) + { + + final Context context = getContext(); + final Map linkSlotBindings = linkProtoSlot.getLinkSlotBindings(); + final List linkValueBindingList = new ArrayList<>(linkSlotBindings.size()); + final Collection protoValueSources = linkSlotBindings.values(); + for (final ProtoValueSource protoValueSource : protoValueSources) + { + final LinkValueBinding linkValueBinding = context.newModel(LinkValueBinding.class); + linkValueBindingList.add(linkValueBinding); + + linkValueBinding.setReferenceSlot(protoValueSource.getReferenceSlot()); + linkValueBinding.setValueSourceType(protoValueSource.getValueSourceType()); + linkValueBinding.setValueSource(protoValueSource.getValueSource()); + } + + return linkValueBindingList; + + } + + private JavaBytecodeMethod generateMethod(final String name, final JavaBytecodeType returnType, + final JavaBytecodeAnnotation... annotations) + { + + return generateMethod(name, returnType, (JavaBytecodeType) null, annotations); + } + + private JavaBytecodeMethod generateMethod(final String name, final JavaBytecodeType returnType, + final JavaBytecodeType argumentType, final JavaBytecodeAnnotation... annotations) + { + + final JavaBytecodeMethod method = new JavaBytecodeMethod(); + method.setName(StringUtils.deleteWhitespace(name)); + method.setDescriptor(generateMethodDescriptor(returnType, argumentType)); + method.setSignature(generateMethodSignature(returnType, argumentType)); + addAnnotations(method, annotations); + return method; + } + + private String generateMethodDescriptor(final JavaBytecodeType returnType, final JavaBytecodeType argumentType) + { + + final String returnTypeDescriptor = generateReturnTypeDescriptor(returnType); + final String argsDescriptor = generateArgsDescriptor(argumentType); + final String methodDescriptor = argsDescriptor + returnTypeDescriptor; + return methodDescriptor; + } + + private String generateMethodDescriptor(final JavaBytecodeType returnType, final JavaBytecodeType[] argumentTypes) + { + + final String returnTypeDescriptor = generateReturnTypeDescriptor(returnType); + final String argsDescriptor = generateArgsDescriptor(argumentTypes); + final String methodDescriptor = argsDescriptor + returnTypeDescriptor; + return methodDescriptor; + } + + private String generateMethodSignature(final JavaBytecodeType returnType, final JavaBytecodeType argumentType) + { + + final String returnTypeSignature = generateReturnTypeSignature(returnType); + final String argsSignature = generateArgsSignature(argumentType); + final String methodSignature = generateMethodSignature(returnTypeSignature, argsSignature); + return methodSignature; + + } + + private String generateMethodSignature(final JavaBytecodeType returnType, final JavaBytecodeType[] argumentTypes) + { + + final String returnTypeSignature = generateReturnTypeSignature(returnType); + final String argsSignature = generateArgsSignature(argumentTypes); + final String methodSignature = generateMethodSignature(returnTypeSignature, argsSignature); + return methodSignature; + } + + private String generateMethodSignature(final String returnTypeSignature, final String argsSignature) + { + + if (returnTypeSignature == null && argsSignature == null) + { + return null; + } + + if (returnTypeSignature == null && argsSignature != null) + { + return argsSignature + JavaBytecodeType.VoidPrimitiveBytecodeType.getDescriptor(); + } + else if (returnTypeSignature != null && argsSignature == null) + { + return SchemaGenerator.EMPTY_PARENTHESES + returnTypeSignature; + } + else + { + return argsSignature + returnTypeSignature; + } + + } + + private String generateReturnTypeDescriptor(final JavaBytecodeType returnType) + { + + String returnTypeDescriptor = null; + if (returnType != null) + { + returnTypeDescriptor = returnType.getDescriptor(); + } + + if (returnTypeDescriptor == null) + { + returnTypeDescriptor = JavaBytecodeType.VoidPrimitiveBytecodeType.getDescriptor(); + } + + return returnTypeDescriptor; + } + + private String generateReturnTypeSignature(final JavaBytecodeType returnType) + { + + final String returnTypeSignature; + if (returnType == null) + { + returnTypeSignature = null; + } + else + { + returnTypeSignature = returnType.getGenericSignature(); + } + return returnTypeSignature; + } + + /** + * Handles the actual JVM bytecode generation. + * + * @param classFile The Java class file information used to drive the bytecode + * generation. + */ + private void generateSchemaInterfaceBytecode(final JavaBytecodeClass classFile) + { + + final ClassWriter classVisitor = new ClassWriter(0); + + final List interfaces = classFile.getInterfaces(); + String[] interfaceNames = new String[interfaces.size()]; + interfaceNames = (interfaceNames.length > 0) ? interfaces.toArray(interfaceNames) : null; + + // Generate the interface declaration + classVisitor.visit(SchemaGenerator.JVM_VERSION, SchemaGenerator.INTERFACE_ACCESS, classFile.getInternalName(), + classFile.getSignature(), classFile.getSuperName(), interfaceNames); + + for (final JavaBytecodeAnnotation annotation : classFile.getAnnotations()) + { + visitAnnotation(annotation, classVisitor, null, null, null); + } + + final List methods = classFile.getMethods(); + + for (final JavaBytecodeMethod method : methods) + { + + final List exceptions = method.getExceptions(); + String[] exceptionNames = new String[exceptions.size()]; + exceptionNames = (exceptionNames.length > 0) ? exceptions.toArray(exceptionNames) : null; + + final MethodVisitor methodVisitor = classVisitor.visitMethod(SchemaGenerator.INTERFACE_METHOD_ACCESS, + method.getName(), method.getDescriptor(), method.getSignature(), exceptionNames); + + // If we weren't simply generating Java interfaces, things would + // get more _advanced_ right here. + + for (final JavaBytecodeAnnotation annotation : method.getAnnotations()) + { + visitAnnotation(annotation, null, methodVisitor, null, null); + } + + methodVisitor.visitEnd(); + } + + // Finish the code generation + classVisitor.visitEnd(); + + final byte[] bytecode = classVisitor.toByteArray(); + classFile.setBytecode(bytecode); + } + + /* + * For each WRML Slot defined by the schema, generate a JavaBean + * property in the class file. + * + * A JavaBean property is not formalized by the language but rather + * exists via the pattern of a "getter" method and, for non-read only + * (writable) properties, also a "setter" method. For more information + * about the JavaBean property pattern, see: + * + * + */ + private void generateSchemaInterfaceMethods(final Schema schema, final JavaBytecodeClass javaBytecodeClass, final boolean isAggregate) + { + + final List slots = schema.getSlots(); + for (final Slot slot : slots) + { + + /* + * WRML schema slots must be named using mixed lower case (aka + * camel case) with no whitespace allowed. + */ + final String slotName = slot.getName(); + + if (_ModelJavaBean.getProperties().containsKey(slotName)) + { + + // TODO: Filter other things like Java reserved words and + // symbols + + throw new SchemaGeneratorException("Sorry but \"" + slotName + + "\" is reserved, it is not legal within a Schema.", null, this); + } + + if (slot != null && slot.getValue() instanceof LinkValue) + { + generateLinkMethod(javaBytecodeClass, isAggregate, slot); + } + else + { + generateBeanAccessorMethods(javaBytecodeClass, schema, isAggregate, slot); + } + } + } + + private Value generateValue(final JsonSchema jsonSchema, final JsonSchema.Property property) + throws SchemaGeneratorException + { + + if (property == null) + { + throw new SchemaGeneratorException("Failed to generate a Value", null, this); + } + + final URI schemaUri = jsonSchema.getId(); + if (schemaUri == null) + { + throw new SchemaGeneratorException("Failed to generate a Value", null, this); + } + + final JsonType jsonType = property.getJsonType(); + if (jsonType == null) + { + throw new SchemaGeneratorException("Failed to generate a Value", null, this); + } + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + + final ValueType valueType = getValueType(jsonType); + Value value = null; + + switch (valueType) + { + + case Boolean: + { + final BooleanValue booleanValue = context.newModel(BooleanValue.class); + + final JsonNode defaultNode = property.getValueNode(PropertyType.Default); + if (defaultNode != null) + { + booleanValue.setDefault(defaultNode.asBoolean()); + } + + value = booleanValue; + break; + } + case Date: + { + break; + } + case Double: + { + final DoubleValue doubleValue = context.newModel(DoubleValue.class); + + final JsonNode defaultNode = property.getValueNode(PropertyType.Default); + if (defaultNode != null) + { + doubleValue.setDefault(defaultNode.asDouble()); + } + + final JsonNode maximumNode = property.getValueNode(PropertyType.Maximum); + if (maximumNode != null) + { + doubleValue.setMaximum(maximumNode.asDouble()); + } + + final JsonNode minimumNode = property.getValueNode(PropertyType.Minimum); + if (minimumNode != null) + { + doubleValue.setMinimum(minimumNode.asDouble()); + } + + value = doubleValue; + break; + } + case Integer: + { + final IntegerValue integerValue = context.newModel(IntegerValue.class); + + final JsonNode defaultNode = property.getValueNode(PropertyType.Default); + if (defaultNode != null) + { + integerValue.setDefault(defaultNode.asInt()); + } + + final JsonNode divisibleByNode = property.getValueNode(PropertyType.DivisibleBy); + if (divisibleByNode != null) + { + integerValue.setDivisibleBy(divisibleByNode.asInt()); + } + + final JsonNode multipleOfNode = property.getValueNode(PropertyType.MultipleOf); + if (multipleOfNode != null) + { + integerValue.setDivisibleBy(multipleOfNode.asInt()); + } + + final JsonNode maximumNode = property.getValueNode(PropertyType.Maximum); + if (maximumNode != null) + { + integerValue.setMaximum(maximumNode.asInt()); + } + + final JsonNode minimumNode = property.getValueNode(PropertyType.Minimum); + if (minimumNode != null) + { + integerValue.setMinimum(minimumNode.asInt()); + } + + value = integerValue; + break; + } + case Link: + // NOTE: Falling through the Link switch case on purpose to treat same as Model + // TODO: Revisit this design. + case Model: + { + + final ModelValue modelValue = context.newModel(ModelValue.class); + final JsonSchemaLoader jsonSchemaLoader = schemaLoader.getJsonSchemaLoader(); + final JsonSchema modelJsonSchema; + + final URI baseSchemaUri; + final JsonNode schemaIdNode = property.getValueNode(PropertyType.Id); + if (schemaIdNode != null) + { + baseSchemaUri = schemaLoader.getDocumentSchemaUri(); + + final URI modelSchemaUri = property.getValue(PropertyType.Id); + if (modelSchemaUri != schemaUri) + { + try + { + modelJsonSchema = jsonSchemaLoader.load(modelSchemaUri); + } + catch (final IOException e) + { + throw new SchemaGeneratorException(e.getMessage(), e, this); + } + } + else + { + modelJsonSchema = jsonSchema; + } + } + else + { + + baseSchemaUri = schemaLoader.getEmbeddedSchemaUri(); + + String modelSchemaUriString = schemaUri.toString(); + + if (modelSchemaUriString.endsWith(".json")) + { + modelSchemaUriString = modelSchemaUriString.substring(0, + modelSchemaUriString.length() - ".json".length()); + } + + int innerClassNumber = 0; + + if (_InnerSchemaCountMap.containsKey(schemaUri)) + { + innerClassNumber = _InnerSchemaCountMap.get(schemaUri); + } + + innerClassNumber++; + + _InnerSchemaCountMap.put(schemaUri, innerClassNumber); + + final String annonymousInnerSchemaName = ANNONYMOUS_INNER_SCHEMA_PREFIX + + String.valueOf(innerClassNumber); + + modelSchemaUriString = modelSchemaUriString.concat(annonymousInnerSchemaName); + + final ObjectNode propertyNode = property.getPropertyNode(); + propertyNode.put(PropertyType.Id.getName(), modelSchemaUriString); + + final URI modelSchemaUri = URI.create(modelSchemaUriString); + + modelJsonSchema = jsonSchemaLoader.load(propertyNode, modelSchemaUri); + } + + if (modelJsonSchema != jsonSchema) + { + + schemaLoader.load(modelJsonSchema, baseSchemaUri); + } + + modelValue.setModelSchemaUri(modelJsonSchema.getId()); + + value = modelValue; + break; + } + case List: + { + final ListValue listValue = context.newModel(ListValue.class); + + final JsonNode uniqueItemsNode = property.getValueNode(PropertyType.UniqueItems); + if (uniqueItemsNode != null) + { + listValue.setElementUniquenessConstrained(uniqueItemsNode.asBoolean()); + } + + final JsonNode maxItemsNode = property.getValueNode(PropertyType.MaxItems); + if (maxItemsNode != null) + { + listValue.setMaximumSize(maxItemsNode.asInt()); + } + + final JsonNode minItemsNode = property.getValueNode(PropertyType.MinItems); + if (minItemsNode != null) + { + listValue.setMinimumSize(minItemsNode.asInt()); + } + + final JsonNode itemsNode = property.getValueNode(PropertyType.Items); + ObjectNode itemNode = null; + if (itemsNode instanceof ObjectNode) + { + itemNode = (ObjectNode) itemsNode; + + } + else if (itemsNode instanceof ArrayNode) + { + + final ArrayNode itemsArrayNode = (ArrayNode) itemsNode; + if (itemsArrayNode.has(0)) + { + itemNode = (ObjectNode) itemsArrayNode.get(0); + } + } + + if (itemNode != null) + { + Property itemsProperty; + try + { + itemsProperty = new Property(jsonSchema, PropertyType.Items.getName(), itemNode); + final Value elementValue = generateValue(jsonSchema, itemsProperty); + final Slot elementSlot = context.newModel(Slot.class); + elementSlot.setName("E"); + elementSlot.setValue(elementValue); + listValue.setElementSlot(elementSlot); + } + catch (final IOException e) + { + throw new SchemaGeneratorException(e.getMessage(), e, this); + } + } + + value = listValue; + break; + } + case Long: + { + final LongValue longValue = context.newModel(LongValue.class); + + final JsonNode defaultNode = property.getValueNode(PropertyType.Default); + if (defaultNode != null) + { + longValue.setDefault(defaultNode.asLong()); + } + + final JsonNode divisibleByNode = property.getValueNode(PropertyType.DivisibleBy); + if (divisibleByNode != null) + { + longValue.setDivisibleBy(divisibleByNode.asLong()); + } + + final JsonNode multipleOfNode = property.getValueNode(PropertyType.MultipleOf); + if (multipleOfNode != null) + { + longValue.setDivisibleBy(multipleOfNode.asLong()); + } + + final JsonNode maximumNode = property.getValueNode(PropertyType.Maximum); + if (maximumNode != null) + { + longValue.setMaximum(maximumNode.asLong()); + } + + final JsonNode minimumNode = property.getValueNode(PropertyType.Minimum); + if (minimumNode != null) + { + longValue.setMinimum(minimumNode.asLong()); + } + + value = longValue; + break; + } + case Native: + { + break; + } + case SingleSelect: + { + final SingleSelectValue singleSelectValue = context.newModel(SingleSelectValue.class); + value = singleSelectValue; + break; + } + case Text: + { + final TextValue textValue = context.newModel(TextValue.class); + + final JsonNode defaultNode = property.getValueNode(PropertyType.Default); + if (defaultNode != null) + { + textValue.setDefault(defaultNode.asText()); + } + + final JsonNode maxLengthNode = property.getValueNode(PropertyType.MaxLength); + if (maxLengthNode != null) + { + textValue.setMaximumLength(maxLengthNode.asInt()); + } + + final JsonNode minLengthNode = property.getValueNode(PropertyType.MinLength); + if (minLengthNode != null) + { + textValue.setMinimumLength(minLengthNode.asInt()); + } + + final JsonNode formatNode = property.getValueNode(PropertyType.Format); + if (formatNode != null) + { + + final String formatKeyword = formatNode.asText(); + final JsonStringFormat jsonStringFormat = JsonStringFormat.forKeyword(formatKeyword); + if (jsonStringFormat != null) + { + final Class formatJavaType = jsonStringFormat.getJavaType(); + final SyntaxLoader syntaxLoader = context.getSyntaxLoader(); + final URI syntaxUri = syntaxLoader.getSyntaxUri(formatJavaType); + textValue.setSyntaxUri(syntaxUri); + } + } + + textValue.getDisallowedValues(); + + value = textValue; + + break; + } + default: + { + break; + } + } + + if (value instanceof MaybeRequired) + { + final JsonNode requiredNode = property.getValueNode(PropertyType.Required); + if (requiredNode != null) + { + ((MaybeRequired) value).setRequired(requiredNode.asBoolean()); + } + } + + if (value instanceof NumericValue) + { + final NumericValue numericValue = (NumericValue) value; + + final JsonNode exclusiveMaximumNode = property.getValueNode(PropertyType.ExclusiveMaximum); + if (exclusiveMaximumNode != null) + { + numericValue.setExclusiveMaximum(exclusiveMaximumNode.asBoolean()); + } + + final JsonNode exclusiveMinimumNode = property.getValueNode(PropertyType.ExclusiveMinimum); + if (exclusiveMinimumNode != null) + { + numericValue.setExclusiveMinimum(exclusiveMinimumNode.asBoolean()); + } + } + + return value; + + } + + private Value generateValue(final Type heapValueType, final ProtoSlot protoSlot) + { + + final Context context = getContext(); + + if (heapValueType == null) + { + return null; + } + + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final ValueType valueType = schemaLoader.getValueType(heapValueType); + final Class heapValueClass = (heapValueType instanceof Class) ? (Class) heapValueType : null; + + final boolean requiresNonNullValue = (heapValueClass != null && heapValueClass.isPrimitive()); + Value value = null; + + switch (valueType) + { + + case Boolean: + final BooleanValue booleanValue = context.newModel(BooleanValue.class); + value = booleanValue; + break; + + case Date: + final DateValue dateValue = context.newModel(DateValue.class); + value = dateValue; + + break; + + case Double: + final DoubleValue doubleValue = context.newModel(DoubleValue.class); + value = doubleValue; + break; + + case Integer: + final IntegerValue integerValue = context.newModel(IntegerValue.class); + value = integerValue; + break; + + case Link: + final LinkValue linkValue = context.newModel(LinkValue.class); + + if (protoSlot instanceof LinkProtoSlot) + { + final LinkProtoSlot linkProtoSlot = (LinkProtoSlot) protoSlot; + + linkValue.setLinkRelationUri(linkProtoSlot.getLinkRelationUri()); + linkValue.setEmbedded(linkProtoSlot.isEmbedded()); + linkValue.setRequestSchemaUri(linkProtoSlot.getRequestSchemaUri()); + linkValue.setResponseSchemaUri(linkProtoSlot.getResponseSchemaUri()); + + final List bindings = generateLinkValueBindingList(linkProtoSlot); + linkValue.getBindings().addAll(bindings); + } + + value = linkValue; + break; + + case Model: + + final ModelValue modelValue = context.newModel(ModelValue.class); + final URI modelSchemaUri = schemaLoader.getTypeUri(heapValueClass); + modelValue.setModelSchemaUri(modelSchemaUri); + + value = modelValue; + break; + + case List: + + final ListValue listValue; + + if (protoSlot instanceof CollectionPropertyProtoSlot) + { + final CollectionPropertyProtoSlot collectionPropertyProtoSlot = (CollectionPropertyProtoSlot) protoSlot; + final CollectionValue collectionValue = context.newModel(CollectionValue.class); + listValue = collectionValue; + + final Integer limit = collectionPropertyProtoSlot.getLimit(); + if (limit != null && limit > 0) + { + collectionValue.setLimit(limit); + } + + final URI linkRelationUri = collectionPropertyProtoSlot.getLinkRelationUri(); + if (linkRelationUri != null) + { + collectionValue.setLinkRelationUri(linkRelationUri); + } + + final ProtoSearchCriteria protoSearchCriteria = collectionPropertyProtoSlot.getProtoSearchCriteria(); + + final List and = generateCollectionValueSearchCriterionList(protoSearchCriteria.getAnd()); + collectionValue.getAnd().addAll(and); + + final List or = generateCollectionValueSearchCriterionList(protoSearchCriteria.getOr()); + collectionValue.getOr().addAll(or); + } + else + { + listValue = context.newModel(ListValue.class); + } + + + final Slot elementSlot = context.newModel(Slot.class); + // TODO get this from the java class + elementSlot.setName("E"); + + final Type elementValueHeapType = ValueType.getListElementType(heapValueType); + final Value elementValue = generateValue(elementValueHeapType, null); + elementSlot.setValue(elementValue); + listValue.setElementSlot(elementSlot); + + value = listValue; + break; + + case Long: + final LongValue longValue = context.newModel(LongValue.class); + value = longValue; + break; + + case Native: + break; + + case SingleSelect: + final SingleSelectValue singleSelectValue = context.newModel(SingleSelectValue.class); + singleSelectValue.setChoicesUri(schemaLoader.getTypeUri(heapValueType)); + value = singleSelectValue; + break; + + case Text: + final TextValue textValue = context.newModel(TextValue.class); + + if (!String.class.equals(heapValueType) && heapValueClass != null) + { + final SyntaxLoader syntaxLoader = context.getSyntaxLoader(); + final URI syntaxUri = syntaxLoader.getSyntaxUri(heapValueClass); + textValue.setSyntaxUri(syntaxUri); + } + + value = textValue; + + break; + + default: + break; + + } + + if (value instanceof MaybeRequired && requiresNonNullValue) + { + ((MaybeRequired) value).setRequired(requiresNonNullValue); + } + + + return value; + } + + private String getDefaultValueString(final Value slotValue) + { + + final Context context = getContext(); + final SyntaxLoader syntaxLoader = context.getSyntaxLoader(); + + String defaultValueString = null; + + if (slotValue instanceof TextValue) + { + defaultValueString = ((TextValue) slotValue).getDefault(); + } + else if (slotValue instanceof IntegerValue) + { + final Integer defaultValue = ((IntegerValue) slotValue).getDefault(); + if (defaultValue != null) + { + defaultValueString = String.valueOf(defaultValue.intValue()); + } + } + else if (slotValue instanceof SingleSelectValue) + { + defaultValueString = ((SingleSelectValue) slotValue).getDefault(); + } + else if (slotValue instanceof MultiSelectValue) + { + final List defaultValue = ((MultiSelectValue) slotValue).getDefault(); + // TODO: Revisit this format + defaultValueString = String.valueOf(defaultValue); + } + else if (slotValue instanceof DateValue) + { + final Date defaultValue = ((DateValue) slotValue).getDefault(); + if (defaultValue != null) + { + final SyntaxHandler syntaxHandler = syntaxLoader.getSyntaxHandler(Date.class); + defaultValueString = syntaxHandler.formatSyntaxValue(defaultValue); + } + } + else if (slotValue instanceof BooleanValue) + { + final Boolean defaultValue = ((BooleanValue) slotValue).getDefault(); + if (defaultValue != null) + { + defaultValueString = String.valueOf(defaultValue.booleanValue()); + } + } + else if (slotValue instanceof DoubleValue) + { + final Double defaultValue = ((DoubleValue) slotValue).getDefault(); + if (defaultValue != null) + { + defaultValueString = String.valueOf(defaultValue.doubleValue()); + } + } + else if (slotValue instanceof LongValue) + { + final Long defaultValue = ((LongValue) slotValue).getDefault(); + if (defaultValue != null) + { + defaultValueString = String.valueOf(defaultValue.longValue()); + } + } + + return defaultValueString; + + } + + private JavaBytecodeType getSlotType(final JavaBytecodeClass javaBytecodeClass, final Schema schema, final boolean isAggregate, final Slot slot) + { + + final Context context = getContext(); + final Value slotValue = slot.getValue(); + + boolean required = false; + if (slotValue instanceof MaybeRequired) + { + final Boolean maybeRequired = ((MaybeRequired) slotValue).isRequired(); + required = (maybeRequired != null && maybeRequired); + } + + final JavaBytecodeType type; + + if (slotValue instanceof TextValue) + { + + final URI syntaxUri = ((TextValue) slotValue).getSyntaxUri(); + if (syntaxUri != null) + { + final SyntaxLoader syntaxLoader = context.getSyntaxLoader(); + final Class syntaxJavaClass = syntaxLoader.getSyntaxJavaClass(syntaxUri); + + if (syntaxJavaClass != null) + { + type = new JavaBytecodeType(syntaxJavaClass); + } + else + { + throw new SchemaGeneratorException("Unsupported syntax, " + syntaxUri, null, this); + } + } + else + { + type = JavaBytecodeType.StringBytecodeType; + } + } + else if (slotValue instanceof LinkValue) + { + type = JavaBytecodeType.LinkBytecodeType; + } + else if (slotValue instanceof ModelValue) + { + + final URI modelSchemaUri = ((ModelValue) slotValue).getModelSchemaUri(); + if (modelSchemaUri != null) + { + type = javaBytecodeTypeForSchemaUri(modelSchemaUri); + } + else + { + type = JavaBytecodeType.ModelBytecodeType; + } + } + else if (slotValue instanceof ListValue) + { + + final ListValue listValue = (ListValue) slotValue; + final Slot elementSlot = listValue.getElementSlot(); + if (elementSlot != null) + { + type = new JavaBytecodeType(JavaBytecodeType.ListBytecodeType.getString()); + final JavaBytecodeType elementType = getSlotType(javaBytecodeClass, schema, isAggregate, elementSlot); + final SortedMap parameters = new TreeMap(); + parameters.put(elementSlot.getName(), elementType); + type.setParameters(parameters); + } + else + { + type = JavaBytecodeType.ListBytecodeType; + } + } + else if (slotValue instanceof BooleanValue) + { + + if (required) + { + // No nulls allowed, convert from a "Boolean" to a + // "boolean" + type = JavaBytecodeType.BooleanPrimitiveBytecodeType; + } + else + { + type = JavaBytecodeType.BooleanBytecodeType; + } + + } + else if (slotValue instanceof IntegerValue) + { + + if (required) + { + // No nulls allowed, convert from a "Integer" to a "int" + type = JavaBytecodeType.IntegerPrimitiveBytecodeType; + } + else + { + type = JavaBytecodeType.IntegerBytecodeType; + } + } + else if (slotValue instanceof LongValue) + { + + if (required) + { + // No nulls allowed, convert from a "Long" to a "long" + type = JavaBytecodeType.LongPrimitiveBytecodeType; + } + else + { + type = JavaBytecodeType.LongBytecodeType; + } + + } + else if (slotValue instanceof DoubleValue) + { + + if (required) + { + // No nulls allowed, convert from a "Double" to a "double" + type = JavaBytecodeType.DoublePrimitiveBytecodeType; + } + else + { + type = JavaBytecodeType.DoubleBytecodeType; + } + + } + else if (slotValue instanceof DateValue) + { + type = JavaBytecodeType.DateBytecodeType; + } + else if (slotValue instanceof NativeValue) + { + // TODO: Finish support for "extended" value types. + type = JavaBytecodeType.ObjectBytecodeType; + } + else if (slotValue instanceof SingleSelectValue) + { + + final URI choicesUri = ((SingleSelectValue) slotValue).getChoicesUri(); + if (choicesUri != null) + { + type = javaBytecodeTypeForChoicesUri(choicesUri); + } + else + { + type = JavaBytecodeType.EnumBytecodeType; + } + + } + else + { + throw new SchemaGeneratorException("Unhandled value, " + slotValue + ", found in: " + + schema.getUniqueName().getLocalName() + "." + slot.getName(), null, this); + } + + return type; + } + + private ValueType getValueType(final JsonType jsonType) + { + + switch (jsonType) + { + case Any: + return ValueType.Native; + + case Array: + return ValueType.List; + + case Boolean: + return ValueType.Boolean; + + case Integer: + return ValueType.Integer; + + case Null: + return ValueType.Native; + + case Number: + return ValueType.Double; + + case Object: + return ValueType.Model; + + case String: + return ValueType.Text; + + default: + return ValueType.Native; + + } + + } + + private JavaBytecodeType javaBytecodeTypeForChoicesUri(final URI choicesUri) + { + + if (choicesUri == null) + { + return null; + } + + + return new JavaBytecodeType(uriToInternalTypeName(choicesUri)); + + } + + private JavaBytecodeType javaBytecodeTypeForSchemaUri(final URI schemaUri) + { + + if (schemaUri == null) + { + return null; + } + + return new JavaBytecodeType(uriToInternalTypeName(schemaUri)); + + } + + private String uriToInternalTypeName(final URI uri) + { + + final SchemaLoader schemaLoader = getSchemaLoader(); + final String externalClassName = schemaLoader.getNativeTypeName(uri); + final String internalClassName = SchemaGenerator.externalTypeNameToInternalTypeName(externalClassName); + return internalClassName; + } + + private void visitAnnotation(final JavaBytecodeAnnotation annotation, final ClassVisitor classVisitor, final MethodVisitor methodVisitor, final AnnotationVisitor parentAnnotationVisitor, final String parentAnnotationValueName) + { + + final String descriptor = annotation.getDescriptor(); + + final AnnotationVisitor annotationVisitor; + if (parentAnnotationVisitor != null) + { + annotationVisitor = parentAnnotationVisitor.visitAnnotation(parentAnnotationValueName, descriptor); + } + else if (methodVisitor != null) + { + annotationVisitor = methodVisitor.visitAnnotation(descriptor, true); + } + else + { + annotationVisitor = classVisitor.visitAnnotation(descriptor, true); + } + + for (final String name : annotation.getAttributeNames()) + { + final Object value = annotation.getAttributeValue(name); + if (name != null && value != null) + { + if (value instanceof Object[]) + { + final AnnotationVisitor arrayValueVisitor = annotationVisitor.visitArray(name); + final Object[] array = (Object[]) value; + for (final Object element : array) + { + if (element instanceof Enum) + { + final String enumDescriptor = new JavaBytecodeType(element.getClass()).getDescriptor(); + final String enumValueString = ((Enum) element).name(); + arrayValueVisitor.visitEnum(null, enumDescriptor, enumValueString); + } + else if (element instanceof JavaBytecodeAnnotation) + { + visitAnnotation(((JavaBytecodeAnnotation) element), classVisitor, methodVisitor, arrayValueVisitor, name); + } + else + { + arrayValueVisitor.visit(null, element); + } + } + arrayValueVisitor.visitEnd(); + } + else if (value instanceof Enum) + { + final String enumDescriptor = new JavaBytecodeType(value.getClass()).getDescriptor(); + final String enumValueString = ((Enum) value).name(); + annotationVisitor.visitEnum(name, enumDescriptor, enumValueString); + } + else if (value instanceof JavaBytecodeAnnotation) + { + visitAnnotation(((JavaBytecodeAnnotation) value), classVisitor, methodVisitor, annotationVisitor, name); + } + else + { + annotationVisitor.visit(name, value); + } + } + } + + annotationVisitor.visitEnd(); + } + + +} diff --git a/core/src/main/java/org/wrml/runtime/schema/generator/SchemaGeneratorException.java b/core/src/main/java/org/wrml/runtime/schema/generator/SchemaGeneratorException.java new file mode 100644 index 0000000..afb22b0 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/schema/generator/SchemaGeneratorException.java @@ -0,0 +1,47 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema.generator; + +/** + * The {@link SchemaGenerator}'s associated error type. + */ +public class SchemaGeneratorException extends RuntimeException +{ + + private static final long serialVersionUID = 1L; + + private final SchemaGenerator _SchemaGenerator; + + SchemaGeneratorException(final String message, final Throwable cause, final SchemaGenerator schemaGenerator) + { + super(message, cause); + _SchemaGenerator = schemaGenerator; + } + + public SchemaGenerator getSchemaGenerator() + { + return _SchemaGenerator; + } +} diff --git a/core/src/main/java/org/wrml/runtime/search/SearchCriteria.java b/core/src/main/java/org/wrml/runtime/search/SearchCriteria.java new file mode 100644 index 0000000..b3bd220 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/search/SearchCriteria.java @@ -0,0 +1,78 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.search; + +import org.wrml.model.Model; +import org.wrml.runtime.Dimensions; + +import java.util.List; +import java.util.Set; + +/** + * Container for model search criteria. + * + * @see org.wrml.runtime.schema.ProtoSearchCriteria#buildSearchCriteria(org.wrml.model.Model) + * @see org.wrml.runtime.service.Service#search(SearchCriteria) + */ +public interface SearchCriteria +{ + + /** + * TODO: Javadoc + */ + Dimensions getResultDimensions(); + + /** + * TODO: Javadoc + */ + List getAnd(); + + /** + * TODO: Javadoc + */ + List getOr(); + + /** + * TODO: Javadoc + */ + Set getProjectionSlotNames(); + + /** + * TODO: Javadoc + */ + Integer getResultLimit(); + + /** + * TODO: Javadoc + */ + Model getReferrer(); + + /** + * TODO: Javadoc + */ + String getReferrerCollectionSlotName(); + + +} diff --git a/core/src/main/java/org/wrml/runtime/search/SearchCriterion.java b/core/src/main/java/org/wrml/runtime/search/SearchCriterion.java new file mode 100644 index 0000000..a87c6c0 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/search/SearchCriterion.java @@ -0,0 +1,87 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.search; + +import org.wrml.model.schema.ComparisonOperator; + +/** + * TODO: Javadoc + */ +public interface SearchCriterion +{ + + + /** + *

+ * The name of a slot within the "collected" (contained) {@link org.wrml.model.schema.Schema} that this {@link SearchCriterion} is relating to. + *

+ *

+ * In binary comparison operations (e.g. {@link org.wrml.model.schema.ComparisonOperator#lessThan}, the {@link #getReferenceSlot()} is the "left hand side". + *

+ *

+ * Note that this value may optionally contain one or more "." characters separating subordinate slot names in order to base this {@link SearchCriterion} on a nested value. + *

+ * + * @return The name of a slot within the "collected" (contained) {@link org.wrml.model.schema.Schema} that this {@link SearchCriterion} is relating to. + */ + String getReferenceSlot(); + + /** + *

+ * The value that will be compared when evaluating this {@link SearchCriterion} to search for matching models to populate the {@link org.wrml.runtime.schema.CollectionSlot}. + *

+ *

+ * In binary comparison operations (e.g. {@link org.wrml.model.schema.ComparisonOperator#greaterThanOrEqualTo}, the {@link #getReferenceSlot()} is the "right hand side". + *

+ * + * @return The source of the value that will be used to "fill in" the reference slot when searching. + */ + Object getComparisonValue(); + + /** + *

+ * The {@link org.wrml.model.schema.ComparisonOperator} to be used when comparing the {@link #getReferenceSlot()} value to the {@link #getComparisonValue()}. + *

+ *

+ * The default value is {@link org.wrml.model.schema.ComparisonOperator#equalTo} (value equality comparison). + *

+ * + * @return The {@link org.wrml.model.schema.ComparisonOperator} to be used when comparing the {@link #getReferenceSlot()} value to the {@link #getComparisonValue()}. + */ + ComparisonOperator getComparisonOperator(); + + /** + *

+ * The regular expression pattern value to be used in conjunction with the {@link ComparisonOperator#regex} comparison operator. + *

+ *

+ * The default value is an empty {@link String} indicating no pattern. + *

+ * + * @return The regular expression pattern value to be used in conjunction with the {@link ComparisonOperator#regex} comparison operator. + */ + String getRegex(); +} diff --git a/core/src/main/java/org/wrml/runtime/service/AbstractService.java b/core/src/main/java/org/wrml/runtime/service/AbstractService.java new file mode 100644 index 0000000..2113887 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/AbstractService.java @@ -0,0 +1,137 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service; + +import org.wrml.model.Model; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.search.SearchCriteria; + +import java.util.Set; + +/** + *

+ * A very basic, partial implementation that provides an alternative to implementing the {@link Service} interface from scratch. + *

+ *

+ * This abstract base class implements {@link Service#init(org.wrml.runtime.Context, ServiceConfiguration)} and provides field-based storage for the {@link Service}'s {@link Context} and {@link ServiceConfiguration}. + *

+ *

+ * This abstract base class implements all of the optional {@link Service} methods by throwing an {@link UnsupportedOperationException} upon invocation. + *

+ */ +public abstract class AbstractService implements Service +{ + + private Context _Context; + + private ServiceConfiguration _Config; + + @Override + public final void init(final Context context, final ServiceConfiguration config) + { + + if (context == null) + { + throw new ServiceException("The context cannot be null.", null, this); + } + + _Context = context; + _Config = config; + initFromConfiguration(_Config); + } + + @Override + public final ServiceConfiguration getConfiguration() + { + + return _Config; + } + + @Override + public final Context getContext() + { + + return _Context; + } + + @Override + public void delete(final Keys keys, final Dimensions dimensions) throws UnsupportedOperationException + { + + throwUnsupportedOperationException("delete"); + } + + @Override + public Model save(final Model model) throws UnsupportedOperationException + { + + throwUnsupportedOperationException("save"); + // Never reached + return null; + } + + @Override + public Set search(final SearchCriteria searchCriteria) throws UnsupportedOperationException + { + + throwUnsupportedOperationException("search"); + // Never reached + return null; + } + + @Override + public Model invoke(final Model function, final Dimensions responseDimensions, final Model parameter) throws UnsupportedOperationException + { + + throwUnsupportedOperationException("invoke"); + // Never reached + return null; + } + + /** + * Hook for {@link Service} implementations to initialize from the specified {@link ServiceConfiguration}. + * + * @param config The {@link ServiceConfiguration} used to initialize this {@link Service} instance. + */ + protected abstract void initFromConfiguration(final ServiceConfiguration config); + + /** + * A simple utility function to throw an {@link UnsupportedOperationException} resulting from an invocation of the specified unsupported operation. + * + * @param operationName The name of the operation that is not supported. + * @throws UnsupportedOperationException Always thrown as a result of calling this method. + */ + protected final void throwUnsupportedOperationException(final String operationName) throws UnsupportedOperationException + { + + String name = getClass().getSimpleName(); + + throw new UnsupportedOperationException("The \"" + operationName + "\" operation is not supported by the \"" + name + "\" service."); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/service/ConflictingModelException.java b/core/src/main/java/org/wrml/runtime/service/ConflictingModelException.java new file mode 100644 index 0000000..9d17de3 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/ConflictingModelException.java @@ -0,0 +1,41 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service; + +import org.wrml.runtime.rest.Status; +import org.wrml.runtime.service.Service; +import org.wrml.runtime.service.ServiceException; + +public class ConflictingModelException extends ServiceException +{ + + private static final long serialVersionUID = 1L; + + public ConflictingModelException(final String message, final Throwable cause, final Service service) + { + super(message, cause, service, Status.CONFLICT); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/service/DefaultServiceConfiguration.java b/core/src/main/java/org/wrml/runtime/service/DefaultServiceConfiguration.java new file mode 100644 index 0000000..6834267 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/DefaultServiceConfiguration.java @@ -0,0 +1,72 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service; + +import org.wrml.runtime.DefaultConfiguration; + +/** + * Simple POJO implementation of the {@link ServiceConfiguration} interface. + */ +public class DefaultServiceConfiguration extends DefaultConfiguration implements ServiceConfiguration +{ + + private String _Name; + + private String _ServiceClassName; + + + public DefaultServiceConfiguration() + { + + } + + @Override + public String getImplementation() + { + + return _ServiceClassName; + } + + public void setImplementation(final String serviceClassName) + { + + _ServiceClassName = serviceClassName; + } + + @Override + public String getName() + { + + return _Name; + } + + public void setName(final String name) + { + + _Name = name; + } + + +} diff --git a/core/src/main/java/org/wrml/runtime/service/DefaultServiceLoader.java b/core/src/main/java/org/wrml/runtime/service/DefaultServiceLoader.java new file mode 100644 index 0000000..ae0f304 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/DefaultServiceLoader.java @@ -0,0 +1,524 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.runtime.Context; +import org.wrml.runtime.ContextConfiguration; +import org.wrml.runtime.DefaultConfiguration; +import org.wrml.runtime.rest.ApiNavigator; + +import java.net.URI; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; + +/** + *

+ * The WRML runtime's default {@link ServiceLoader}; a registry of {@link Service}s. + *

+ * + * @see Service + */ +public final class DefaultServiceLoader implements ServiceLoader +{ + + private static final Logger LOG = LoggerFactory.getLogger(DefaultServiceLoader.class); + + private Context _Context; + + private Map _Services; + + private SchemaToServiceTrie _SchemaToServiceTrie; + + + public DefaultServiceLoader() + { + + } + + @Override + public Set getServiceNames() + { + + return _Services.keySet(); + } + + @Override + public Service getService(final String serviceName) + { + + if (!_Services.containsKey(serviceName)) + { + return null; + } + + return _Services.get(serviceName); + } + + @Override + public final Service getServiceForSchema(final URI schemaUri) + { + + final String schemaPath = schemaUri.toString(); + return _SchemaToServiceTrie.matchPathExtraWilds(schemaPath, null); + } + + @Override + public Collection getServices() + { + + return _Services.values(); + } + + @Override + public final void loadConfiguredService(final ServiceConfiguration serviceConfiguration) + { + + if (serviceConfiguration == null) + { + return; + } + + final Context context = getContext(); + LOG.info("Creating and configuring service {} from configuration.", + new Object[]{serviceConfiguration.getName()}); + final String serviceClassName = serviceConfiguration.getImplementation(); + final Service service = DefaultConfiguration.newInstance(serviceClassName); + service.init(context, serviceConfiguration); + loadService(service, serviceConfiguration.getName()); + } + + @Override + public final void loadService(final Service service, final String serviceName) + { + + final String mappedServiceName = (serviceName == null) ? service.getClass().getSimpleName() : serviceName; + _Services.put(mappedServiceName, service); + } + + @Override + public final void mapSchemaPatternToService(final String schemaUriPattern, final String serviceName) + { + + final Service service = getService(serviceName); + if (service != null) + { + _SchemaToServiceTrie.addPath(schemaUriPattern, service); + } + } + + @Override + public Context getContext() + { + + return _Context; + } + + @Override + public void init(final Context context) + { + + _Context = context; + + _Services = new ConcurrentHashMap(); + _SchemaToServiceTrie = new SchemaToServiceTrie(false); + + } + + @Override + public void loadInitialState() + { + + loadConfiguredServices(); + } + + protected void loadConfiguredServices() + { + + final Context context = getContext(); + final ContextConfiguration contextConfig = context.getConfig(); + final ServiceLoaderConfiguration config = contextConfig.getServiceLoader(); + final ServiceConfiguration[] serviceConfigs = config.getServices(); + if ((serviceConfigs == null) || (serviceConfigs.length == 0)) + { + LOG.info("No services to configure."); + return; + } + + + for (final ServiceConfiguration serviceConfiguration : serviceConfigs) + { + loadConfiguredService(serviceConfiguration); + } + + final Map serviceMapping = config.getServiceMapping(); + if (serviceMapping != null && !serviceMapping.isEmpty()) + { + for (final String schemaUriPattern : serviceMapping.keySet()) + { + final String serviceName = serviceMapping.get(schemaUriPattern); + mapSchemaPatternToService(schemaUriPattern, serviceName); + } + } + + } + + /** + * Uses the UriTrieNode class to perform service matching based on incoming + * URI's with capture groups. + * + * @see UriTrieNode + */ + static class SchemaToServiceTrie + { + + private final UriTrieNode _Head; + + private final boolean _AllowNonterminalWildcards; + + public SchemaToServiceTrie(final boolean allowNonterminalWildcards) + { + + _Head = new UriTrieNode(); + _AllowNonterminalWildcards = allowNonterminalWildcards; + } + + public void addPath(final String path, final Service service) + { + + if (service == null) + { + throw new IllegalArgumentException("Cannot add a path to the UriServiceMap with a null service."); + } + + UriTrieNode node = _Head; + final List segments = segmentPath(path); + + for (int i = 0; i < segments.size(); i++) + { + final String segment = segments.get(i); + + // is this the right place for this? + if (!_AllowNonterminalWildcards && segment != null && segment.equals(UriTrieNode.WILDCARD) + && (i + 1) < segments.size()) + { + throw new RuntimeException( + "Bad path provided to construct a mapping with only terminal wildcards.\n" + path); + } + + if (node.hasLink(segment)) + { + node = node.getLink(segment); + } + else + { + node = node.addLink(segment, null); + } + } + + node.setService(service); + } + + public String deepPrint() + { + + final Set paths = _Head.deepPrint('/'); + final StringBuilder sb = new StringBuilder(); + for (final String p : paths) + { + sb.append(p).append('\n'); + } + return sb.toString(); + } + + public Service matchPath(final String path) + { + + return matchPath(path, null); + } + + public Service matchPath(final String path, final List captures) + { + + final List segments = segmentPath(path); + UriTrieNode node = _Head; + + for (int i = 0; i < segments.size(); i++) + { + final String segment = segments.get(i); + if (node.hasLink(segment)) + { + node = node.getLink(segment); + } + else if (node.hasWildcard()) + { + // May remove this if full responsibility is placed on addPath + if (!_AllowNonterminalWildcards && (i + 1) < segments.size()) + { + throw new RuntimeException("Bad path, " + path + " provided to " + this.getClass().getName() + + " with setting _AllowNonterminalWildcards false."); + } + + if (captures != null) + { + captures.add(segment); + } + node = node.getWildcardLink(); + } + else + { + return null; + } + } + + return node.getService(); + } + + /** + * This method will allow a capture group to be used for more than one segment, + * but only at the end of the match, and only as a last resort. + * + * @param path the uri path, complete with /, to match + * @param captures a List of Strings in which to record wildcard matches + * @return the List of Services at the final node which matched the path + */ + public Service matchPathExtraWilds(final String path, final List captures) + { + /* + * if (_AllowNonterminalWildcards) + * { + * throw new RuntimeException("UriServiceMap not designed (presently) to match " + + * "multiple segments per wild with non-terminal wildcards."); + * } + */ + + final List segments = segmentPath(path); + + return matchPathExtraWilds(_Head, segments, captures); + } + + private Service matchPathExtraWilds(final UriTrieNode node, final List segments, + final List captures) + { + + if (segments.isEmpty()) + { + return node.getService(); + } + + Service service = null; + final String segment = segments.remove(0); + + if (node.hasLink(segment)) + { + service = matchPathExtraWilds(node.getLink(segment), segments, captures); + } + + if (null == service) + { + if (node.hasWildcard()) + { + if (captures != null) + { + captures.add(segment); + captures.addAll(segments); + } + service = node.getWildcardLink().getService(); + } + } + + segments.add(0, segment); + + return service; + } + + private List segmentPath(final String path) + { + + String tPath = path.trim(); + if (path.endsWith(ApiNavigator.PATH_SEPARATOR)) + { + tPath = tPath.substring(0, path.length() - 1); + } + if (path.startsWith(ApiNavigator.PATH_SEPARATOR)) + { + tPath = tPath.substring(1); + } + + final List segments = new LinkedList<>(Arrays.asList(tPath.split(ApiNavigator.PATH_SEPARATOR))); + return segments; + } + } + + /** + * This is the node class for a uri-segment-mapping trie, a form of non-binary tree used + * for fast lookup of progressively-searchable items + * + * @see
Wikipedia's Trie entry + */ + private static class UriTrieNode + { + + + public static final UriTrieNode EMPTY_NODE = new UriTrieNode(); + + public static final String WILDCARD = "*"; + + private final Map _SegmentNodeMap; + + private Service _Service; + + public UriTrieNode() + { + + _SegmentNodeMap = new HashMap<>(); + _Service = null; + } + + public UriTrieNode(final Service service) + { + + _SegmentNodeMap = new HashMap<>(); + _Service = service; + } + + public UriTrieNode addLink(final String segment, final Service service) + { + + if (hasLink(segment)) + { + throw new RuntimeException("There is already a service at this path, " + + "could not add more to incremental path " + segment); + } + + final UriTrieNode newNode = new UriTrieNode(service); + _SegmentNodeMap.put(segment, newNode); + + return newNode; + } + + public Set deepPrint(final char separator) + { + + final Set paths = new TreeSet<>(); + + if (_Service != null) + { + // TODO Flesh this out + paths.add(""); + } + + for (final String s : _SegmentNodeMap.keySet()) + { + for (final String subp : _SegmentNodeMap.get(s).deepPrint(separator)) + { + if (subp.isEmpty()) + { + paths.add(s); + } + else + { + paths.add(s + separator + subp); + } + } + } + + return paths; + } + + public UriTrieNode getLink(final String segment) + { + + if (hasLink(segment)) + { + return _SegmentNodeMap.get(segment); + } + else + { + return EMPTY_NODE; + } + } + + public Service getService() + { + + return _Service; + } + + public void setService(final Service service) + { + + _Service = service; + } + + public UriTrieNode getWildcardLink() + { + + return _SegmentNodeMap.get(WILDCARD); + } + + public boolean hasLink(final String segment) + { + + if (_SegmentNodeMap.containsKey(segment)) + { + return true; + } + else + { + return false; + } + } + + public boolean hasWildcard() + { + + return hasLink(WILDCARD); + } + + @Override + public String toString() + { + + final StringBuilder sb = new StringBuilder("Services: ["); + if (_Service != null) + { + sb.append(_Service.toString()); + sb.append(", "); + } + + sb.append("]\nPaths: ["); + for (final String link : _SegmentNodeMap.keySet()) + { + sb.append(link).append(", "); + } + sb.append("]"); + + return sb.toString(); + } + } + +} diff --git a/core/src/main/java/org/wrml/runtime/service/DefaultServiceLoaderFactory.java b/core/src/main/java/org/wrml/runtime/service/DefaultServiceLoaderFactory.java new file mode 100644 index 0000000..cab5ea8 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/DefaultServiceLoaderFactory.java @@ -0,0 +1,38 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service; + +import org.wrml.runtime.Factory; + +public class DefaultServiceLoaderFactory implements Factory +{ + @Override + public ServiceLoader create() + { + + return new DefaultServiceLoader(); + } +} diff --git a/core/src/main/java/org/wrml/runtime/service/MethodNotAllowedException.java b/core/src/main/java/org/wrml/runtime/service/MethodNotAllowedException.java new file mode 100644 index 0000000..22ab81d --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/MethodNotAllowedException.java @@ -0,0 +1,41 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service; + +import org.wrml.runtime.rest.Status; +import org.wrml.runtime.service.Service; +import org.wrml.runtime.service.ServiceException; + +public class MethodNotAllowedException extends ServiceException +{ + + private static final long serialVersionUID = 1L; + + public MethodNotAllowedException(final String message, final Throwable cause, final Service service) + { + super(message, cause, service, Status.METHOD_NOT_ALLOWED); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/service/ModelNotFoundException.java b/core/src/main/java/org/wrml/runtime/service/ModelNotFoundException.java new file mode 100644 index 0000000..c28bdc3 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/ModelNotFoundException.java @@ -0,0 +1,41 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service; + +import org.wrml.runtime.rest.Status; +import org.wrml.runtime.service.Service; +import org.wrml.runtime.service.ServiceException; + +public class ModelNotFoundException extends ServiceException +{ + + private static final long serialVersionUID = 1L; + + public ModelNotFoundException(final String message, final Throwable cause, final Service service) + { + super(message, cause, service, Status.NOT_FOUND); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/service/Service.java b/core/src/main/java/org/wrml/runtime/service/Service.java new file mode 100644 index 0000000..7bb3069 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/Service.java @@ -0,0 +1,168 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service; + +import org.wrml.model.Model; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.search.SearchCriteria; + +import java.util.Set; + +/** + *

+ * WRML's generic back-end connection interface. Implementations of this interface provide access to data and controls + * add/or add some custom "application logic" to support an app (client) or API (server). + *

+ *

+ * The set of methods declared in the {@link Service} interface is intended to mirror the "uniform interface" of REST, with an interface method corollary for each of the HTTP/1.1 document-centric interaction methods. + *

+ * + * @see Context + * @see ServiceLoader + * @see ServiceConfiguration + * @see HTTP/1.1 Method Definitions + */ +public interface Service +{ + + /** + *

+ * The {@link Context} invokes this method to delegate the deletion/removal ("404ification") of the {@link Model} + * identified by the specified {@link Keys}. + *

+ *

+ *

+ * This method may be considered optional. + * Implementations that cannot support this operation may throw {@link UnsupportedOperationException} upon invocation. + *

+ * + * @param keys The {@link Keys} of the {@link Model} that is about to be derezzed/404'ed. + * @param dimensions The {@link Dimensions} that may be used to inform/scope the requested operation. + * @throws UnsupportedOperationException Thrown if the delete operation is not supported by this service. + * @see Context#deleteModel(org.wrml.runtime.Keys, org.wrml.runtime.Dimensions) + */ + void delete(final Keys keys, final Dimensions dimensions) throws UnsupportedOperationException; + + /** + * Get the ServiceConfiguration used to initialize this {@link Service}. + * + * @return the ServiceConfiguration that was passed into init. + */ + ServiceConfiguration getConfiguration(); + + /** + *

+ * The {@link Context} invokes this method to delegate the retrieval/fetching (GET'ing) of the {@link Model} keyed + * with the specified {@link Keys} and dimensioned by the requested {@link Dimensions}. + *

+ *

+ * As a REST-oriented framework WRML's "retrieve" interface method is designed to abstract HTTP GET without losing + * its core semantics. + *

+ * + * @param keys The {@link Keys} to the sought-after {@link Model}. + * @param dimensions The {@link Dimensions} of the desired {@link Model}. + * @see Context#getModel(Keys, Dimensions) + * @see Dimensions#getSchemaUri() + * @see Model#getKeys() + * @see Model#getDimensions() + */ + Model get(final Keys keys, final Dimensions dimensions); + + /** + * Get the Context that loaded this {@link Service}. + * + * @return the Context that was passed into init. + */ + Context getContext(); + + /** + *

+ * Initializes the {@link Service} for the given context with the given configuration. + *

+ * + * @param context The {@link Context} for this {@link Service}. + * @param config The {@link Service}'s "custom" configuration. + */ + void init(final Context context, final ServiceConfiguration config); + + /** + *

+ * The {@link Context} invokes this method to delegate the saving/upserting (update or insert) of the specified + * {@link Model}. This method's semantics reflects WRML's interpretation of REST's PUT method. + *

+ *

+ * This method may be considered optional. + * Implementations that cannot support this operation may throw {@link UnsupportedOperationException} upon invocation. + *

+ *

+ * The framework calls this method for "inserts" in cases when the app code knows all of the {@link Model}'s + * {@link Keys} before the model has ever been saved. This method is not appropriate to insert + * {@link Model}s that have {@link Service}-generated key slot values (e.g. server/db populated IDs). This method + * is appropriate to update any/all {@link Model}s (once they have been appropriately + * "inserted"). + *

+ * + * @param model The {@link Model} state to be persisted. + * @throws UnsupportedOperationException Thrown if the save operation is not supported by this {@link Service}. + * @see Context#saveModel(Model) + */ + Model save(final Model model) throws UnsupportedOperationException; + + /** + *

+ * This method may be considered optional. + * Implementations that cannot support this operation may throw {@link UnsupportedOperationException} upon invocation. + *

+ * + * @param searchCriteria The {@link org.wrml.runtime.search.SearchCriteria}. + * @return The {@link Set} of {@link org.wrml.model.Model} representing the outcome of a search that was performed with a given {@link org.wrml.runtime.search.SearchCriteria} input. + * @throws UnsupportedOperationException Thrown if the search operation is not supported by this {@link Service}. + */ + Set search(final SearchCriteria searchCriteria) throws UnsupportedOperationException; + + /** + *

+ * Invokes the functional model with the (optional) parameter model. + *

+ *

+ * This method may be considered optional. + * Implementations that cannot support this operation may throw {@link UnsupportedOperationException} upon invocation. + *

+ *

+ * The type/schema of both the functional model and the parameter model may vary, so long as the {@link Service} understands their semantics. + *

+ * + * @param function The {@link Model} representing the function to be invoked. + * @param parameter The {@link Model} representing the function's parameter (may be null if the function invocation requires no parameters). + * @return The function's return value as a {@link Model} or null if the function conceptually returns {@link Void}. + * @throws UnsupportedOperationException Thrown if the invoke operation is not supported by this {@link Service}. + */ + Model invoke(final Model function, final Dimensions responseDimensions, final Model parameter) throws UnsupportedOperationException; + + +} diff --git a/core/src/main/java/org/wrml/runtime/service/ServiceConfiguration.java b/core/src/main/java/org/wrml/runtime/service/ServiceConfiguration.java new file mode 100644 index 0000000..55477f7 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/ServiceConfiguration.java @@ -0,0 +1,51 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service; + +import org.wrml.runtime.Configuration; + +/** + * The {@link Configuration} for a {@link Service}. + */ +public interface ServiceConfiguration extends Configuration +{ + + /** + * The fully qualified class name of the {@link Service} implementation. + * + * @return The fully qualified class name of the {@link Service} implementation. + * @see Class#getName() + */ + String getImplementation(); + + /** + * The configuration given name of the {@link Service}. + * + * @return The user friendly name given to the {@link Service}. + */ + String getName(); + +} diff --git a/core/src/main/java/org/wrml/runtime/service/ServiceException.java b/core/src/main/java/org/wrml/runtime/service/ServiceException.java new file mode 100644 index 0000000..dd439e3 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/ServiceException.java @@ -0,0 +1,106 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service; + +import org.wrml.runtime.rest.Status; + +/** + *

+ * The {@link Service}'s associated error type. + *

+ * + * @see Service + */ +public class ServiceException extends RuntimeException +{ + + private final Service _Service; + + private final Status _Status; + + private static final long serialVersionUID = 1L; + + /** + *

+ * Create a new exception to communicate a problem about the specified {@link Service}. + *

+ * + * @param message + * The message to explain what is going on. + * + * @param cause + * The root cause of the {@link ServiceException} (or null, if this is the root + * {@link Throwable}). + * + * @param service + * The impacted {@link Service}. + * + */ + public ServiceException(final String message, final Throwable cause, final Service service) + { + this(message, cause, service, null); + } + + /** + *

+ * Create a new exception to communicate a problem about the specified {@link Service}. + *

+ * + * @param message + * The message to explain what is going on. + * + * @param service + * The impacted {@link Service}. + * + * @param status + * The status to classify this exception as reflecting an HTTP + * rule enforcement. + * + */ + public ServiceException(final String message, final Throwable cause, final Service service, final Status status) + { + super(message, cause); + _Service = service; + _Status = status; + } + + public Service getService() + { + return _Service; + } + + /** + *

+ * The associated {@link Status} or null if this exception "type" has no REST status equivalent. + *

+ * + * @return The HTTP Status or null if there is no logical peer (in REST) for + * this kind of problem in the WRML runtime. + */ + public Status getStatus() + { + return _Status; + } +} diff --git a/core/src/main/java/org/wrml/runtime/service/ServiceLoader.java b/core/src/main/java/org/wrml/runtime/service/ServiceLoader.java new file mode 100644 index 0000000..4c6b2a4 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/ServiceLoader.java @@ -0,0 +1,101 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service; + +import org.wrml.runtime.Loader; + +import java.net.URI; +import java.util.Collection; +import java.util.Set; + +/** + * The WRML runtime's loader of {@link Service}s. + * + * @see org.wrml.runtime.Context + * @see Service + * @see org.wrml.model.schema.Schema + */ +public interface ServiceLoader extends Loader +{ + + /** + * The names of the currently loaded {@link Service}s. + * + * @return The names of the currently loaded {@link Service}s. + */ + public Set getServiceNames(); + + /** + * Get a loaded {@link Service} by its configured name. + * + * @param serviceName The configured name of the loaded {@link Service} to get. + * @return The {@link Service} with the specified name or null if there isn't a loaded {@link Service} with that name. + */ + Service getService(final String serviceName); + + /** + * Get the loaded {@link Service} that is configured to support interactions with {@link org.wrml.model.Model}s with the specified {@link org.wrml.model.schema.Schema}. + * + * @param schemaUri The {@link URI} of the {@link org.wrml.model.schema.Schema} of a {@link org.wrml.model.Model} instance that requires support from a loaded {@link Service}. + * @return The {@link Service} for the specified {@link org.wrml.model.schema.Schema} or null if there isn't a loaded {@link Service} mapped to support the {@link org.wrml.model.schema.Schema}. + */ + Service getServiceForSchema(final URI schemaUri); + + /** + * Get all of the loaded {@link Service}s. + * + * @return All of the loaded {@link Service}s. + */ + Collection getServices(); + + /** + * Load a new {@link Service} instance from the specified configuration. + * + * @param serviceConfiguration The configuration data used to create and initialize the {@link Service} to be loaded. + */ + void loadConfiguredService(final ServiceConfiguration serviceConfiguration); + + /** + * Load the specified {@link Service} instance and assigns it the specified name. + * + * @param service The {@link Service} instance to load. + * @param serviceName The configured name of the {@link Service} to load. + */ + void loadService(final Service service, final String serviceName); + + /** + *

+ * Maps a {@link org.wrml.model.schema.Schema} {@link URI} pattern to a loaded {@link Service}. The schemaUriPattern may be a + * fully qualified URI for a specific schema or a {@link URI} "prefix" that ends with a wildcard "*" to enable mapping a namespace + * of {@link org.wrml.model.schema.Schema}s + *

+ * + * @param schemaUriPattern The {@link org.wrml.model.schema.Schema} {@link URI} pattern to map. + * @param serviceName The name of the {@link Service} instance that should support support interactions + * with {@link org.wrml.model.Model}s with the specified {@link org.wrml.model.schema.Schema}. + */ + void mapSchemaPatternToService(final String schemaUriPattern, final String serviceName); + +} diff --git a/core/src/main/java/org/wrml/runtime/service/ServiceLoaderConfiguration.java b/core/src/main/java/org/wrml/runtime/service/ServiceLoaderConfiguration.java new file mode 100644 index 0000000..f88b0f1 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/ServiceLoaderConfiguration.java @@ -0,0 +1,71 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service; + +import org.wrml.runtime.DefaultFactoryConfiguration; + +import java.util.Map; + +/** + * Configuration for the {@link ServiceLoader} component. + */ +public final class ServiceLoaderConfiguration extends DefaultFactoryConfiguration +{ + + private DefaultServiceConfiguration[] _ServiceConfigurations; + + private Map _ServiceMapping; + + public ServiceLoaderConfiguration() + { + + } + + public Map getServiceMapping() + { + + return _ServiceMapping; + } + + public void setServiceMapping(final Map serviceMapping) + { + + _ServiceMapping = serviceMapping; + } + + public DefaultServiceConfiguration[] getServices() + { + + return _ServiceConfigurations; + } + + public void setServices(final DefaultServiceConfiguration[] serviceConfigurations) + { + + _ServiceConfigurations = serviceConfigurations; + } + + +} diff --git a/core/src/main/java/org/wrml/runtime/service/ServiceLoaderException.java b/core/src/main/java/org/wrml/runtime/service/ServiceLoaderException.java new file mode 100644 index 0000000..a6b5d1e --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/ServiceLoaderException.java @@ -0,0 +1,67 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service; + +/** + *

+ * The {@link ServiceLoader}'s associated error type. + *

+ * + * @see ServiceLoader + */ +public class ServiceLoaderException extends RuntimeException +{ + + private static final long serialVersionUID = 1L; + + private final ServiceLoader _ServiceLoader; + + /** + *

+ * Create a new exception to communicate a problem about the specified {@link ServiceLoader}. + *

+ * + * @param message + * The message to explain what is going on. + * + * @param cause + * The root cause of the {@link ServiceLoaderException} (or null, if this + * is the root {@link Throwable}). + * + * @param serviceLoader + * The impacted {@link ServiceLoader}. + * + */ + public ServiceLoaderException(final String message, final Throwable cause, final ServiceLoader serviceLoader) + { + super(message, cause); + _ServiceLoader = serviceLoader; + } + + public ServiceLoader getServiceLoader() + { + return _ServiceLoader; + } +} diff --git a/core/src/main/java/org/wrml/runtime/service/apiDesigner/ApiDesignerHome.java b/core/src/main/java/org/wrml/runtime/service/apiDesigner/ApiDesignerHome.java new file mode 100644 index 0000000..79feffb --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/apiDesigner/ApiDesignerHome.java @@ -0,0 +1,46 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service.apiDesigner; + +import org.wrml.model.Virtual; +import org.wrml.model.rest.Document; +import org.wrml.model.rest.Method; +import org.wrml.runtime.schema.LinkSlot; +import org.wrml.runtime.schema.WRML; + +/** + * // TODO: Move this schema to a resource file. + * The docroot for the REST API Designer (tool/app) REST API. + */ +@WRML(uniqueName = "org/wrml/runtime/service/apiDesigner/ApiDesignerHome") +public interface ApiDesignerHome extends Virtual, Document +{ + + // TODO: Move this link relation to a file and change the link relation URI to be based on the API designer REST API's root URI + @LinkSlot(linkRelationUri = "http://relation.api.wrml.org/org/wrml/relation/autoLink", method = Method.Get) + AutoLinkFunction getAutoLinkFunction(); + +} diff --git a/core/src/main/java/org/wrml/runtime/service/apiDesigner/ApiDesignerService.java b/core/src/main/java/org/wrml/runtime/service/apiDesigner/ApiDesignerService.java new file mode 100644 index 0000000..350d8c3 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/apiDesigner/ApiDesignerService.java @@ -0,0 +1,116 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service.apiDesigner; + +import org.wrml.model.Model; +import org.wrml.model.rest.Api; +import org.wrml.model.rest.LinkRelation; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.rest.ApiBuilder; +import org.wrml.runtime.rest.SystemLinkRelation; +import org.wrml.runtime.service.AbstractService; +import org.wrml.runtime.service.ServiceConfiguration; +import org.wrml.runtime.service.ServiceException; + +import java.net.URI; +import java.util.Map; + +/** + * A service supporting the REST API designer tool/app. + */ +public class ApiDesignerService extends AbstractService +{ + @Override + protected void initFromConfiguration(final ServiceConfiguration config) + { + + // TODO: Replace this with an API loaded via config + final Map settings = config.getSettings(); + final String apiUriString = settings.get("apiUri"); + final URI apiUri = URI.create(apiUriString); + + final Context context = getContext(); + ApiBuilder apiBuilder = new ApiBuilder(context); + apiBuilder.uri(apiUri); + apiBuilder.title("WRML Design REST API"); + apiBuilder.description("REST API supporting WRML design applications."); + + + apiBuilder.resource("/"); + apiBuilder.resource("/functions/autoLink"); + apiBuilder.resource("/relations/{uniqueName}"); + + apiBuilder.link("/", SystemLinkRelation.self.getUri(), "/", ApiDesignerHome.class); + apiBuilder.link("/functions/autoLink", SystemLinkRelation.self.getUri(), "/functions/autoLink", AutoLinkFunction.class); + apiBuilder.link("/relations/{uniqueName}", SystemLinkRelation.self.getUri(), "/relations/{uniqueName}", LinkRelation.class); + + // TODO: Once this API is file/resource based, change this link relation URI to be based on the apiUri + /relations/{uniqueName} URI + // TODO: Remove "autoLink" from the SystemLinkRelation enum + apiBuilder.link("/", SystemLinkRelation.autoLink.getUri(), "/functions/autoLink", AutoLinkFunction.class); + apiBuilder.link("/functions/autoLink", SystemLinkRelation.invoke.getUri(), "/functions/autoLink", Api.class, Api.class); + apiBuilder.link("/functions/autoLink", SystemLinkRelation.home.getUri(), "/", ApiDesignerHome.class); + apiBuilder.load(); + } + + @Override + public Model get(final Keys keys, final Dimensions dimensions) throws UnsupportedOperationException + { + + // TODO: Should this service extend the mongo or file service? + // TODO: Instead of having this Service dedicated to invoke, should it be replaced by a "controller" that can be plugged into some other service(s) that are dedicated to CRUD? + + throwUnsupportedOperationException("get"); + + // Never reached + return null; + } + + @Override + public Model invoke(final Model function, final Dimensions responseDimensions, final Model parameter) + { + + // TODO: Should this "invocation handler" be implemented via composition instead of having this Service dedicated to invoke and other service(s) dedicated to CRUD? + + if (function instanceof AutoLinkFunction) + { + if (!(parameter instanceof Api)) + { + throw new ServiceException("The function: " + function.getSchemaUri() + " expects a parameter of type: " + Api.class + ", instead of: " + parameter, null, this); + } + + final Api apiParameter = (Api) parameter; + final ApiBuilder apiBuilder = new ApiBuilder(apiParameter); + apiBuilder.autoLink(); + final Api apiResponse = apiBuilder.toApi(); + return apiResponse; + + } + + return null; + } +} diff --git a/core/src/main/java/org/wrml/runtime/service/apiDesigner/AutoLinkFunction.java b/core/src/main/java/org/wrml/runtime/service/apiDesigner/AutoLinkFunction.java new file mode 100644 index 0000000..bdc8b4d --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/apiDesigner/AutoLinkFunction.java @@ -0,0 +1,53 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service.apiDesigner; + +import org.wrml.model.Virtual; +import org.wrml.model.rest.Api; +import org.wrml.model.rest.Document; +import org.wrml.model.rest.Method; +import org.wrml.runtime.schema.LinkSlot; +import org.wrml.runtime.schema.WRML; + +/** + * // TODO: Move this schema to a resource file. + *

+ * A function (aka "Controller") dedicated to auto-linking a REST API ({@link org.wrml.model.rest.Api}) by creating the (default) + * {@link org.wrml.model.rest.LinkTemplate}s based on the resources and schemas present in the parameter API's design. + *

+ */ +@WRML(uniqueName = "org/wrml/runtime/service/apiDesigner/AutoLinkFunction") +public interface AutoLinkFunction extends Virtual, Document +{ + + @LinkSlot(linkRelationUri = "http://relation.api.wrml.org/org/wrml/relation/invoke", method = Method.Invoke) + Api autoLink(Api parameter); + + @LinkSlot(linkRelationUri = "http://relation.api.wrml.org/org/wrml/relation/home", method = Method.Get) + ApiDesignerHome getHome(); + + +} diff --git a/core/src/main/java/org/wrml/runtime/service/cache/ModelCache.java b/core/src/main/java/org/wrml/runtime/service/cache/ModelCache.java new file mode 100644 index 0000000..d3ed8c4 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/cache/ModelCache.java @@ -0,0 +1,41 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service.cache; + +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.service.Service; + +/** + * A cache for models. + */ +public interface ModelCache extends Service +{ + + void clear(); + + boolean contains(final Keys keys, final Dimensions requestedDimensions); + +} diff --git a/core/src/main/java/org/wrml/runtime/service/cache/ModelCacheConfiguration.java b/core/src/main/java/org/wrml/runtime/service/cache/ModelCacheConfiguration.java new file mode 100644 index 0000000..7b98c98 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/cache/ModelCacheConfiguration.java @@ -0,0 +1,39 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service.cache; + +import org.wrml.runtime.service.DefaultServiceConfiguration; + +/** + * {@link ModelCache}'s config. + */ +public class ModelCacheConfiguration extends DefaultServiceConfiguration +{ + + public ModelCacheConfiguration() + { + } + +} diff --git a/core/src/main/java/org/wrml/runtime/service/cache/ModelCacheException.java b/core/src/main/java/org/wrml/runtime/service/cache/ModelCacheException.java new file mode 100644 index 0000000..9fd2e63 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/cache/ModelCacheException.java @@ -0,0 +1,47 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service.cache; + +/** + * The {@link ModelCache}'s associated error type. + */ +public class ModelCacheException extends RuntimeException +{ + + private static final long serialVersionUID = 1L; + + private final ModelCache _Cache; + + ModelCacheException(final String message, final Throwable cause, final ModelCache cache) + { + super(message, cause); + _Cache = cache; + } + + public ModelCache getCache() + { + return _Cache; + } +} diff --git a/core/src/main/java/org/wrml/runtime/service/cache/ShardedModelCache.java b/core/src/main/java/org/wrml/runtime/service/cache/ShardedModelCache.java new file mode 100644 index 0000000..2860c22 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/cache/ShardedModelCache.java @@ -0,0 +1,204 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service.cache; + +import org.wrml.model.Model; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.service.AbstractService; +import org.wrml.runtime.service.ServiceConfiguration; + +import java.net.URI; +import java.util.Set; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; + +/** + *

+ * A {@link ModelCache} implementation that is sharded by {@link Schema}. Each shard represents a "domain" or keyspace + * identified using the Schema that declared the mapped key. + *

+ *

+ * DefaultConfiguration: + *

+ *

+ * + *

+ * "context" : + * { + *

+ * "modelCache" : + * { + * "name" : "Cache", + * "implementation" : "org.wrml.runtime.service.cache.ShardedModelCache" + * } + *

+ * } + * + *

+ */ +public class ShardedModelCache extends AbstractService implements ModelCache +{ + + /** + * Mapping of Model heap id to cached Models. + */ + private final ConcurrentHashMap _Models; + + /** + * Mapping of Schema URI to Shard (Mapping of Schema-declared Key value to Model heap id. + */ + private final ConcurrentHashMap> _Shards; + + public ShardedModelCache() + { + + _Models = new ConcurrentHashMap(); + _Shards = new ConcurrentHashMap>(); + } + + @Override + public void clear() + { + + _Shards.clear(); + _Models.clear(); + } + + @Override + public boolean contains(final Keys keys, final Dimensions requestedDimensions) + { + + final UUID heapId = getCachedHeapId(keys); + return heapId != null; + } + + @Override + public void delete(final Keys keys, final Dimensions dimensions) + { + + final UUID heapId = getCachedHeapId(keys); + if (heapId == null) + { + return; + } + + _Models.remove(heapId); + final Set keyedSchemaUris = keys.getKeyedSchemaUris(); + for (final URI keyedSchemaUri : keyedSchemaUris) + { + if (keyedSchemaUri != null && _Shards.containsKey(keyedSchemaUri)) + { + final ConcurrentHashMap shard = _Shards.get(keyedSchemaUri); + final Object key = keys.getValue(keyedSchemaUri); + if (key != null && shard.containsKey(key)) + { + shard.remove(key); + } + + if (shard.isEmpty()) + { + _Shards.remove(keyedSchemaUri); + } + } + } + + } + + @SuppressWarnings("unchecked") + @Override + public Model get(final Keys keys, final Dimensions dimensions) + { + + final UUID heapId = getCachedHeapId(keys); + if (heapId == null) + { + return null; + } + + return _Models.get(heapId); + } + + @Override + public Model save(final Model model) + { + + final Keys keys = model.getKeys(); + final UUID heapId = model.getHeapId(); + _Models.put(heapId, model); + + final Set keyedSchemaUris = keys.getKeyedSchemaUris(); + for (final URI keyedSchemaUri : keyedSchemaUris) + { + if (keyedSchemaUri == null) + { + continue; + } + + if (!_Shards.containsKey(keyedSchemaUri)) + { + _Shards.put(keyedSchemaUri, new ConcurrentHashMap()); + } + + final ConcurrentHashMap shard = _Shards.get(keyedSchemaUri); + + final Object key = keys.getValue(keyedSchemaUri); + if (key != null) + { + shard.put(key, heapId); + } + } + + return model; + } + + @Override + protected void initFromConfiguration(final ServiceConfiguration config) + { + + } + + private UUID getCachedHeapId(final Keys keys) + { + + final Set keyedSchemaUris = keys.getKeyedSchemaUris(); + for (final URI keyedSchemaUri : keyedSchemaUris) + { + if (keyedSchemaUri != null && _Shards.containsKey(keyedSchemaUri)) + { + final ConcurrentHashMap shard = _Shards.get(keyedSchemaUri); + final Object key = keys.getValue(keyedSchemaUri); + if (key != null && shard.containsKey(key)) + { + final UUID heapId = shard.get(key); + return heapId; + } + } + } + + return null; + } +} diff --git a/core/src/main/java/org/wrml/runtime/service/file/FileSystemService.java b/core/src/main/java/org/wrml/runtime/service/file/FileSystemService.java new file mode 100644 index 0000000..e7a09d2 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/file/FileSystemService.java @@ -0,0 +1,760 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service.file; + +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.Abstract; +import org.wrml.model.Filed; +import org.wrml.model.Model; +import org.wrml.model.format.Format; +import org.wrml.model.rest.Api; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.format.ModelFormattingException; +import org.wrml.runtime.format.ModelWriteOptions; +import org.wrml.runtime.format.ModelWriterException; +import org.wrml.runtime.format.SystemFormat; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.runtime.service.AbstractService; +import org.wrml.runtime.service.Service; +import org.wrml.runtime.service.ServiceConfiguration; +import org.wrml.runtime.service.ServiceException; +import org.wrml.util.UniqueName; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URI; +import java.nio.file.FileSystem; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.StandardOpenOption; +import java.util.*; + +/** + *

+ * The {@link FileSystem} as a WRML {@link Service}. + *

+ *

+ *

Overview

+ *

+ *

+ * This {@link Service} stores {@link Model} data in {@link File}s and, to support cross-{@link Schema} key + * lookups, a {@link Model}'s {@link Keys} are stored as Symbolic Link files (aka "Alias" files) using + * {@link Path}s created with the {@link Files#createSymbolicLink(Path, Path, java.nio.file.attribute.FileAttribute...)} + * method. As a result of this design, each {@link Model} instance has its state stored in one single "data" + * file, which is "linked to" from Symbolic Links (one per key in {@link Keys}) that are used as indices for + * {@link Model} data look-ups. + *

+ *

+ *

Organizational Structure

+ *

+ *

+ * The example directory structure below outlines the elements that are fundamental to the implementation of this + * {@link Service}. + *

+ *

+ *
+ *  / (rootDirectory)
+ *   |
+ *   | # NOTE: Schema-based directories follow for each distinct model type that is (or was) managed by this service.
+ *   |
+ *   +---- /com
+ *   |     |
+ *   |     |
+ *   |     +---- /example
+ *   |           |
+ *   |           |
+ *   |           +---- /shape
+ *   |                 |
+ *   |                 | # NOTE: Each subdirectory below represents the local name portion of a specific Schema's UniqueName.
+ *   |                 |
+ *   |                 |
+ *   |                 +---- /Circle
+ *   |                 |     |
+ *   |                 |     |
+ *   |                 |     +---- /data
+ *   |                 |           # NOTE: This directory contains the Circle model data files.
+ *   |                 |
+ *   |                 |
+ *   |                 +---- /Shape
+ *   |                 |     |
+ *   |                 |     |
+ *   |                 |     +---- /keys
+ *   |                 |           # NOTE: This directory contains the model key symbolic links for Circle, Square, and Triangle models.
+ *   |                 |
+ *   |                 |
+ *   |                 +---- /Square
+ *   |                 |     |
+ *   |                 |     |
+ *   |                 |     +---- /data
+ *   |                 |           # NOTE: This directory contains the Square model data files.
+ *   |                 |
+ *   |                 |
+ *   |                 +---- /Triangle
+ *   |                       |
+ *   |                       |
+ *   |                       +---- /data
+ *   |                             # NOTE: This directory contains the Triangle model data files.
+ *   |
+ *   ----- /edu
+ *   ----- /gov
+ *   ----- /org
+ *   ...
+ *
+ * 
+ *

+ * + *

+ *

+ *

Root Directory

+ *

+ *

+ * At the highest level of this {@link Service}'s file system structure is the "root" directory, which is specified by + * the {@link FileSystemService#ROOT_DIRECTORY_SETTING_NAME} configuration value. + *

+ *

+ *

Schema-based Directories

+ *

+ *

+ * Directly underneath the root directory, {@link Model}s are separated into directories based upon their {@link Schema} + * , or more specifically, based upon their {@link Schema}'s {@link UniqueName}, which is converted into a directory + * {@link Path}. + *

+ *

+ *

+ * For example, if the {@link Service} contains any {@link Api}s, then it will have a directory {@link Path} like this: + * (rootDirectory)/org/wrml/model/rest/Api to store them. + *

+ *

+ *

data Directory

+ *

+ *

+ * Within each (non-{@link Abstract}) {@link Schema}-based directory, a "data" subdirectory may be found. The data + * directory contains "model state" files, one per {@link Model} named with {@link UUID}s. The format of the stored + * model data files depends on the {@link Format} that has been configured. + *

+ *

+ *

+ * Continuing the previous example, an {@link Api} might be stored in: + *

+ *

+ *

+ * (rootDirectory)/org/wrml/model/rest/Api/data/9600a5d0-c75e-41bd-b361-d22e3b55b7b4.json + *

+ *

+ *

keys Directory

+ *

+ *

+ * Any {@link Schema} with a declared key slot may have a subdirectory, named "keys", within its associated + * directory. If present, the keys directory contains Symbolic Links that "reference" some associated data file + * (described above). + *

+ *

+ *

+ * If a {@link Schema} declares a key slot with a value that naturally lends itself to representation using a + * directory/file {@link Path}, then this Service will organize the Symbolic Links to reflect the nature of their key + * values. Examples of such key slot value types are {@link URI}s and {@link UniqueName}s, the inherent + * path-orientation of these types logically maps to a directory/file {@link Path} layout. + *

+ *

+ *

+ * This design accomplishes two goals. First it optimizes model look-ups by using the key alias {@link Path}s as indices + * into the data directories. Second it provides human readable/browse-able access to the stored model data by aliasing + * the UUID files with more "meaningful" key value-based alias names. + *

+ *

+ *

+ * Finishing the example, the {@link Api} stored in the {@link File}: + *

+ *

+ *

+ * (rootDirectory)/org/wrml/model/rest/Api/data/9600a5d0-c75e-41bd-b361-d22e3b55b7b4.json + *

+ *

+ *

+ * Is "keyed" from the Symbolic Link with the {@link Path}: + *

+ *

+ *

+ * (rootDirectory)/org/wrml/model/rest/Api/keys/com/example/ShapeApi.json + *

+ *

+ *

+ * This example demonstrates this service's representation of the alias associated with the {@link Api}'s key value, its + * {@link UniqueName} of "com/example/ShapeApi", as a directory/file {@link Path} com/example/ShapeApi.json + * . + *

+ * + * @see Filed + * @see Service + * @see Path + * @see File + * @see Files + * @see FileSystem + * @see Keys + */ +public final class FileSystemService extends AbstractService +{ + + public static final String ROOT_DIRECTORY_SETTING_NAME = "rootDirectory"; + + + private static final Logger LOG = LoggerFactory.getLogger(FileSystemService.class); + + private static final String STATIC_PATH_SEGMENT_DATA = "data"; + + private static final String STATIC_PATH_SEGMENT_KEYS = "keys"; + + + private Path _RootDirectoryPath; + + private String _FileExtension; + + private URI _FileFormatUri; + + public static void writeModelFile(final Model model, final Path modelFilePath, final URI fileFormatUri, + final ModelWriteOptions writeOptions) throws IOException, ModelWriterException + { + + final Context context = model.getContext(); + OutputStream out = null; + try + { + Files.createDirectories(modelFilePath.getParent()); + Files.deleteIfExists(modelFilePath); + Files.createFile(modelFilePath); + out = Files.newOutputStream(modelFilePath, StandardOpenOption.CREATE, StandardOpenOption.WRITE, + StandardOpenOption.TRUNCATE_EXISTING); + } + catch (final IOException e) + { + IOUtils.closeQuietly(out); + throw e; + } + + try + { + context.writeModel(out, model, writeOptions, fileFormatUri); + } + catch (final ModelWriterException e) + { + IOUtils.closeQuietly(out); + throw e; + } + + IOUtils.closeQuietly(out); + } + + @Override + public void delete(final Keys keys, final Dimensions dimensions) + { + + if (keys == null) + { + final ServiceException e = new ServiceException("The keys cannot be null.", null, this); + LOG.error(e.getMessage(), e); + throw e; + } + + + final File file = getDataFile(keys); + + if (file == null) + { + return; + } + + // TODO: Need to delete the key symlink files too? + + FileUtils.deleteQuietly(file); + } + + @Override + public Model get(final Keys keys, final Dimensions dimensions) + { + + if (keys == null) + { + final ServiceException e = new ServiceException("The keys cannot be null.", null, this); + LOG.error(e.getMessage(), e); + throw e; + } + + if (dimensions == null) + { + final ServiceException e = new ServiceException("The dimensions cannot be null.", null, this); + LOG.error(e.getMessage(), e); + throw e; + } + + final File file = getDataFile(keys); + + if (file == null) + { + return null; + } + + InputStream in; + try + { + in = FileUtils.openInputStream(file); + } + catch (final Exception e) + { + throw new ServiceException("Failed to open stream content.", e, this); + } + + final Context context = getContext(); + final Model model; + try + { + model = context.readModel(in, keys, dimensions, _FileFormatUri); + } + catch (final ModelFormattingException e) + { + throw new ServiceException("Failed to read model.", e, this); + } + finally + { + IOUtils.closeQuietly(in); + } + + if (model instanceof Filed) + { + ((Filed) model).setFile(file); + } + + return model; + + } + + public URI getFileFormatUri() + { + + return _FileFormatUri; + } + + @Override + public Model save(final Model model) + { + + if (model == null) + { + final ServiceException e = new ServiceException("The model to save cannot be null.", null, this); + LOG.error(e.getMessage(), e); + throw e; + } + + final Context context = model.getContext(); + final Keys keys = model.getKeys(); + + if (keys == null) + { + final ServiceException e = new ServiceException("The model must have keys in order to be saved.", null, + this); + LOG.error(e.getMessage(), e); + throw e; + } + + final Set keyedSchemaUris = keys.getKeyedSchemaUris(); + if (keyedSchemaUris == null || keyedSchemaUris.isEmpty()) + { + final ServiceException e = new ServiceException( + "The model must have one or more key values in order to be saved.", null, this); + LOG.error(e.getMessage(), e); + throw e; + } + + final int keyCount = keyedSchemaUris.size(); + final Set keyLinkPaths = new LinkedHashSet(keyCount); + + // TODO Perhaps this flag should be overridable via config? + //final URI documentSchemaUri = context.getSchemaLoader().getDocumentSchemaUri(); + + UUID managedDataFileHandle = null; + + final URI filedSchemaUri = getFiledSchemaUri(context); + + for (final URI keyedSchemaUri : keyedSchemaUris) + { + + if (keyedSchemaUri.equals(filedSchemaUri)) + { + continue; + } + + /* + if (keyedSchemaUri.equals(documentSchemaUri)) + { + final boolean alsoHasFiledSchemaUri = keyedSchemaUris.contains(filedSchemaUri); + + if (alsoHasFiledSchemaUri) + { + if (keyCount > 2) + { + continue; + } + + } + else if (keyCount > 1) + { + continue; + } + } + */ + + final Object keyValue = keys.getValue(keyedSchemaUri); + final Path keyLinkPath = getKeyLinkPath(keyedSchemaUri, keyValue); + if (keyLinkPath == null) + { + continue; + } + + if (managedDataFileHandle == null && Files.exists(keyLinkPath)) + { + // This model has been saved here (managed) before. + // Get the name of the file associated with the (existing) model's data (so we can overwrite it). + final String dataFileHandleString = keyLinkPath.getFileName().toString(); + try + { + managedDataFileHandle = UUID.fromString(dataFileHandleString); + } + catch (final Exception e) + { + managedDataFileHandle = null; + } + + } + + // Add the key link path + keyLinkPaths.add(keyLinkPath); + + } + + Path dataFilePath = null; + if (model instanceof Filed) + { + final Filed filed = (Filed) model; + final File file = filed.getFile(); + if (file != null) + { + dataFilePath = file.toPath(); + } + + } + + if (dataFilePath == null) + { + if (managedDataFileHandle == null) + { + managedDataFileHandle = UUID.randomUUID(); + } + + dataFilePath = getManagedDataFilePath(model.getSchemaUri(), managedDataFileHandle.toString()); + } + + // TODO: All of the writes should probably be synchronized somehow, yes?. + + // Write the model data to a "data" file + writeDataFile(model, dataFilePath); + + for (final Path keyLinkPath : keyLinkPaths) + { + // Write each key as a symlink "key" that references the model's data file + writeKeyLink(keyLinkPath, dataFilePath); + } + + return get(keys, model.getDimensions()); + } + + @Override + protected void initFromConfiguration(final ServiceConfiguration config) + { + + if (config == null) + { + final ServiceException e = new ServiceException("The config cannot be null.", null, this); + LOG.error(e.getMessage(), e); + throw e; + } + + final Map settings = config.getSettings(); + if (settings == null) + { + final ServiceException e = new ServiceException("The config settings cannot be null.", null, this); + LOG.error(e.getMessage(), e); + throw e; + } + + final String rootDirectoryPath = settings.get(ROOT_DIRECTORY_SETTING_NAME); + + if (rootDirectoryPath == null) + { + final ServiceException e = new ServiceException("The root directory config parameter is required.", null, + this); + LOG.error(e.getMessage(), e); + throw e; + } + + File givenPath = FileUtils.getFile(rootDirectoryPath); + if (!givenPath.exists()) + { + final File cwd = new File("."); + final String cwdPath = cwd.getAbsolutePath(); + final ServiceException e = new ServiceException("The root directory given does not exist. " + + rootDirectoryPath + ", current working directory is " + cwdPath, null, this); + LOG.error(e.getMessage(), e); + throw e; + } + // Make this reference absolute + givenPath = givenPath.getAbsoluteFile(); + _RootDirectoryPath = givenPath.toPath(); + + // TODO: Make this configurable + _FileFormatUri = SystemFormat.json.getFormatUri(); + _FileExtension = "." + SystemFormat.json.getFileExtension(); + + } + + private Path findExistingKeyLinkPath(final Keys keys) + { + + final Set keyedSchemaUris = keys.getKeyedSchemaUris(); + for (final URI keyedSchemaUri : keyedSchemaUris) + { + final Object keyValue = keys.getValue(keyedSchemaUri); + final Path keyLinkPath = getKeyLinkPath(keyedSchemaUri, keyValue); + + LOG.debug("Key link from schema {} with value {} is {}", new Object[]{keyedSchemaUri, keyValue, + keyLinkPath}); + + if (keyLinkPath != null) + { + if (Files.exists(keyLinkPath) && !Files.isDirectory(keyLinkPath)) + { + return keyLinkPath; + } + } + } + + return null; + } + + private File getDataFile(final Keys keys) + { + + final Context context = getContext(); + final Set keyedSchemaUris = keys.getKeyedSchemaUris(); + final URI filedSchemaUri = getFiledSchemaUri(context); + if (keyedSchemaUris.contains(filedSchemaUri)) + { + final File dataFile = keys.getValue(filedSchemaUri); + if (dataFile != null) + { + return dataFile; + } + } + + final Path keyLinkPath = findExistingKeyLinkPath(keys); + if (keyLinkPath == null) + { + LOG.debug("A key link was NOT found for keys:\n{}", keys); + return null; + } + + LOG.debug("A key link \"{}\" was found for keys:\n{}", keyLinkPath, keys); + + if (!Files.isSymbolicLink(keyLinkPath)) + { + final File keyLinkPathFile = keyLinkPath.toFile(); + return keyLinkPathFile; + } + + if (Files.isSymbolicLink(keyLinkPath)) + { + // Resolve the key symlink to the model's data file. + try + { + final Path dataFilePath = keyLinkPath.toRealPath(); + return dataFilePath.toFile(); + } + catch (final IOException e) + { + + LOG.error(e.getMessage(), e); + throw new ServiceException("Unable to dereference the key symlink (I/O problem: " + e.getMessage() + + ").", e, this); + + } + } + + return null; + + } + + private URI getFiledSchemaUri(final Context context) + { + + return context.getSchemaLoader().getTypeUri(Filed.class); + } + + private String getFileExtension() + { + + return _FileExtension; + } + + private Path getKeyLinkPath(final URI keyedSchemaUri, final Object keyValue) + { + + final Path rootDirectoryPath = getRootDirectoryPath(); + Path path = rootDirectoryPath.resolve(StringUtils.stripStart(keyedSchemaUri.getPath(), "/")); + path = path.resolve(STATIC_PATH_SEGMENT_KEYS); + + String keyValueString = null; + + if (keyValue instanceof URI) + { + final URI uri = (URI) keyValue; + final String host = uri.getHost(); + if (host == null || host.trim().isEmpty()) + { + return null; + } + + path = path.resolve(host); + final int port = (uri.getPort() == -1) ? 80 : uri.getPort(); + path = path.resolve(String.valueOf(port)); + keyValueString = StringUtils.stripStart(uri.getPath(), "/"); + } + else + { + final Context context = getContext(); + keyValueString = context.getSyntaxLoader().formatSyntaxValue(keyValue); + } + + if (keyValueString == null || keyValueString.equals("null")) + { + return null; + } + + if (keyValueString.trim().isEmpty() || keyValueString.endsWith("/")) + { + keyValueString = "index"; + } + + if (!keyValueString.endsWith(getFileExtension())) + { + keyValueString += getFileExtension(); + } + + path = path.resolve(keyValueString); + return path.normalize(); + } + + private Path getManagedDataFilePath(final URI schemaUri, final String dataFileHandle) + { + + final Path rootDirectoryPath = getRootDirectoryPath(); + Path dataFilePath = rootDirectoryPath.resolve(StringUtils.stripStart(schemaUri.getPath(), "/")); + dataFilePath = dataFilePath.resolve(STATIC_PATH_SEGMENT_DATA); + dataFilePath = dataFilePath.resolve(dataFileHandle + getFileExtension()); + return dataFilePath; + } + + private Path getRootDirectoryPath() + { + + return _RootDirectoryPath; + } + + private void writeDataFile(final Model model, final Path dataFilePath) + { + + final ModelWriteOptions writeOptions = new ModelWriteOptions(); + writeOptions.setPrettyPrint(true); + final Set excludedSchemaUris = new HashSet<>(1); + final SchemaLoader schemaLoader = model.getContext().getSchemaLoader(); + + final URI filedSchemaUri = schemaLoader.getTypeUri(Filed.class); + excludedSchemaUris.add(filedSchemaUri); + + // TODO: Verify that the model has other (non-Filed) keys before excluding the Document URI + // excludedSchemaUris.add(schemaLoader.getDocumentSchemaUri()); + + writeOptions.setExcludedSchemaUris(excludedSchemaUris); + + try + { + FileSystemService.writeModelFile(model, dataFilePath, _FileFormatUri, writeOptions); + } + catch (final Exception e) + { + LOG.error(e.getMessage(), e); + throw new ServiceException("Failed to write model data file - error: " + e.toString() + " - message: " + + e.getMessage(), e, this); + } + + } + + private void writeKeyLink(final Path keyLinkPath, final Path dataFilePath) + { + + if (!Files.exists(dataFilePath)) + { + throw new ServiceException("Attempting to make link to non-existent resource " + dataFilePath, null, this); + } + + try + { + // TODO: Should this block be synchronized? + /** + * Changing this to be a relative path since a lot of these files are checked in. + */ + // Get the parent or path treats the file as a node. + final Path relPath = keyLinkPath.getParent().relativize(dataFilePath); + Files.deleteIfExists(keyLinkPath); + Files.createDirectories(keyLinkPath.getParent()); + Files.createDirectories(dataFilePath.getParent()); + Files.createSymbolicLink(keyLinkPath, relPath); + } + catch (final IOException e) + { + LOG.error(e.getMessage(), e); + throw new ServiceException("Failed to write model key link file - error: " + e.toString() + " - message: " + + e.getMessage(), e, this); + + } + } + +} diff --git a/core/src/main/java/org/wrml/runtime/service/resource/JavaResource.java b/core/src/main/java/org/wrml/runtime/service/resource/JavaResource.java new file mode 100644 index 0000000..f558c6c --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/resource/JavaResource.java @@ -0,0 +1,46 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service.resource; + +import org.wrml.model.Abstract; +import org.wrml.runtime.schema.WRML; + +@WRML(keySlotNames = {"resourceOwnerClassName", "resourceName"}) +public interface JavaResource extends Abstract +{ + + public static final String RESOURCE_OWNER_CLASS_NAME_SLOT_NAME = "resourceOwnerClassName"; + public static final String RESOURCE_NAME_SLOT_NAME = "resourceName"; + + String getResourceOwnerClassName(); + + String setResourceOwnerClassName(final String resourceOwnerClassName); + + String getResourceName(); + + String setResourceName(final String resourceName); + +} diff --git a/core/src/main/java/org/wrml/runtime/service/resource/JavaResourceService.java b/core/src/main/java/org/wrml/runtime/service/resource/JavaResourceService.java new file mode 100644 index 0000000..662f725 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/resource/JavaResourceService.java @@ -0,0 +1,229 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service.resource; + +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.Model; +import org.wrml.model.rest.Document; +import org.wrml.runtime.*; +import org.wrml.runtime.format.SystemFormat; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.runtime.service.AbstractService; +import org.wrml.runtime.service.ServiceConfiguration; +import org.wrml.runtime.service.ServiceException; + +import java.io.InputStream; +import java.net.URI; +import java.util.Map; +import java.util.SortedMap; +import java.util.TreeMap; + +/** + * Java's resource loading capability as a WRML {@link org.wrml.runtime.service.Service}. + */ +public class JavaResourceService extends AbstractService +{ + + private static final Logger LOG = LoggerFactory.getLogger(JavaResourceService.class); + + private final String RESOURCE_OWNER_CLASS_NAME_SETTING_NAME = "resourceOwnerClassName"; + + private final String RESOURCE_ROOT_DIRECTORY_PATH_SETTING_NAME = "resourceRootDirectoryPath"; + + private Class _ResourceOwnerClass; + + private String _ResourceRootDirectoryPath; + + public static final Keys buildModelResourceKeys(final Context context, final Class resourceOwner, final String resourceName) + { + + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final URI schemaUri = schemaLoader.getTypeUri(JavaResource.class); + final SortedMap keySlots = new TreeMap<>(); + keySlots.put(JavaResource.RESOURCE_OWNER_CLASS_NAME_SLOT_NAME, resourceOwner.getName()); + keySlots.put(JavaResource.RESOURCE_NAME_SLOT_NAME, resourceName); + final CompositeKey compositeKey = new CompositeKey(keySlots); + final Keys keys = new KeysBuilder().addKey(schemaUri, compositeKey).toKeys(); + return keys; + } + + public static final InputStream getModelResourceInputStream(final Context context, final Keys keys) + { + + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final URI schemaUri = schemaLoader.getTypeUri(JavaResource.class); + + final CompositeKey compositeKey = keys.getValue(schemaUri); + + if (compositeKey == null) + { + return null; + } + + final Map keySlots = compositeKey.getKeySlots(); + final String resourceOwnerClassName = (String) keySlots.get(JavaResource.RESOURCE_OWNER_CLASS_NAME_SLOT_NAME); + final String resourceName = (String) keySlots.get(JavaResource.RESOURCE_NAME_SLOT_NAME); + + try + { + final Class resourceOwnerClass = Class.forName(resourceOwnerClassName); + return resourceOwnerClass.getResourceAsStream(resourceName); + } + catch (final Exception t) + { + return null; + } + + } + + @Override + protected void initFromConfiguration(final ServiceConfiguration config) + { + + final Map settings = config.getSettings(); + if (settings != null) + { + final String resourceOwnerClassName = settings.get(RESOURCE_OWNER_CLASS_NAME_SETTING_NAME); + if (resourceOwnerClassName != null && !resourceOwnerClassName.isEmpty()) + { + try + { + _ResourceOwnerClass = Class.forName(resourceOwnerClassName); + } + catch (ClassNotFoundException e) + { + throw new ServiceException(e.getMessage(), e, this); + } + } + + final String resourceRootDirectoryPath = settings.get(RESOURCE_ROOT_DIRECTORY_PATH_SETTING_NAME); + if (resourceRootDirectoryPath != null && !resourceRootDirectoryPath.isEmpty()) + { + _ResourceRootDirectoryPath = resourceRootDirectoryPath; + if (!_ResourceRootDirectoryPath.endsWith("/")) + { + _ResourceRootDirectoryPath += "/"; + } + } + } + } + + @Override + public Model get(final Keys keys, final Dimensions dimensions) + { + + final Context context = getContext(); + final URI uri = context.getKeyValue(keys, Document.class); + if (uri != null && _ResourceOwnerClass != null && _ResourceRootDirectoryPath != null) + { + + return getModelResource(uri, keys, dimensions); + } + else + { + + final InputStream in = getModelResourceInputStream(context, keys); + try + { + final Model model = context.readModel(in, keys, dimensions); + return model; + } + catch (Exception t) + { + throw new ServiceException(t.getMessage(), t, this); + } + } + + } + + private Model getModelResource(final URI uri, final Keys keys, final Dimensions dimensions) + { + + final Context context = getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + + final String uriString = uri.toString(); + String relativeResourcePath = StringUtils.substringAfter(uriString, "://"); + relativeResourcePath = StringUtils.substringBefore(relativeResourcePath, "?"); + relativeResourcePath = StringUtils.replaceChars(relativeResourcePath, ".:", "/"); + String fullResourcePath = _ResourceRootDirectoryPath + relativeResourcePath; + + if (schemaLoader.getApiSchemaUri().equals(dimensions.getSchemaUri())) + { + fullResourcePath = fullResourcePath + "/_wrml/api"; + } + + final String modelFileExtension = "." + SystemFormat.json.getFileExtension(); + fullResourcePath = fullResourcePath + modelFileExtension; + + LOG.debug("Attempting to open stream to resource {}", new Object[]{fullResourcePath}); + + final InputStream in = _ResourceOwnerClass.getResourceAsStream(fullResourcePath); + + try + { + final Model model = context.readModel(in, keys, dimensions, SystemFormat.json.getFormatUri()); + return model; + } + catch (Throwable t) + { + throw new ServiceException(t.getMessage(), t, this); + } + } + + // This seems pretty silly to bother... + /* + * @Override public Set search(final SearchCriteria searchCriteria) throws UnsupportedOperationException { + * + * final Model referrer = searchCriteria.getReferrer(); + * + * + * URI referrerUri = null; if (referrer instanceof Document) { referrerUri = ((Document) referrer).getUri(); } else if (referrer instanceof Embedded) { referrerUri = + * ((Embedded) referrer).getDocumentUri(); } else { return Collections.EMPTY_SET; } + * + * final Context context = getContext(); final String referrerCollectionSlotName = searchCriteria.getReferrerCollectionSlotName(); final Prototype referrerPrototype = + * referrer.getPrototype(); final CollectionPropertyProtoSlot collectionPropertyProtoSlot = referrerPrototype.getProtoSlot(referrerCollectionSlotName); final URI + * linkRelationUri = collectionPropertyProtoSlot.getLinkRelationUri(); + * + * final ApiLoader apiLoader = context.getApiLoader(); final ApiNavigator apiNavigator = apiLoader.getParentApiNavigator(referrerUri); final Resource endpointResource = + * apiNavigator.getEndpointResource(linkRelationUri, referrerUri); + * + * final UriTemplate uriTemplate = endpointResource.getUriTemplate(); final String[] parameterNames = uriTemplate.getParameterNames(); + * + * final LinkedHashSet resultSet = new LinkedHashSet<>(); + * + * + * for (final SearchCriterion searchCriterion : searchCriteria.getAnd()) { final ComparisonOperator comparisonOperator = searchCriterion.getComparisonOperator(); if + * (comparisonOperator == ComparisonOperator.equalToAny) { searchCriterion.getComparisonValue(); } + * + * + * } + * + * return resultSet; } + */ +} diff --git a/core/src/main/java/org/wrml/runtime/service/rest/RestService.java b/core/src/main/java/org/wrml/runtime/service/rest/RestService.java new file mode 100644 index 0000000..5ece8c1 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/service/rest/RestService.java @@ -0,0 +1,251 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.service.rest; + +import org.apache.http.Header; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.client.HttpClient; +import org.apache.http.client.methods.HttpDelete; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPut; +import org.apache.http.client.methods.HttpRequestBase; +import org.apache.http.conn.scheme.PlainSocketFactory; +import org.apache.http.conn.scheme.Scheme; +import org.apache.http.conn.scheme.SchemeRegistry; +import org.apache.http.entity.ContentProducer; +import org.apache.http.entity.EntityTemplate; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.impl.conn.PoolingClientConnectionManager; +import org.apache.http.util.EntityUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.Model; +import org.wrml.model.rest.Document; +import org.wrml.runtime.Context; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.format.ModelWriteOptions; +import org.wrml.runtime.format.ModelWriterException; +import org.wrml.runtime.rest.RestUtils; +import org.wrml.runtime.service.AbstractService; +import org.wrml.runtime.service.Service; +import org.wrml.runtime.service.ServiceConfiguration; +import org.wrml.runtime.service.ServiceException; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URI; +import java.util.Set; + +/** + * The Web's uniform interface as a WRML {@link Service}. + */ +public class RestService extends AbstractService +{ + + private static final Logger LOG = LoggerFactory.getLogger(RestService.class); + + private HttpClient _HttpClient; + + @Override + public void delete(final Keys keys, final Dimensions dimensions) + { + + final Context context = getContext(); + final URI uri = keys.getValue(context.getSchemaLoader().getDocumentSchemaUri()); + final HttpDelete httpDelete = new HttpDelete(uri); + executeRequest(httpDelete); + } + + @Override + public Model get(final Keys keys, final Dimensions dimensions) + { + + final Context context = getContext(); + final URI uri = keys.getValue(context.getSchemaLoader().getDocumentSchemaUri()); + + final Set
requestHeaders = RestUtils.extractRequestHeaders(context, dimensions); + + final HttpGet httpGet = new HttpGet(uri); + + final Header[] requestHeaderArray = new Header[requestHeaders.size()]; + httpGet.setHeaders(requestHeaders.toArray(requestHeaderArray)); + final HttpResponse response = executeRequest(httpGet); + + final Dimensions responseDimensions = RestUtils.extractResponseDimensions(context, response, + dimensions); + + return readResponseModel(response, context, keys, responseDimensions); + } + + @Override + public Model save(final Model model) + { + + final Document document = (Document) model; + final URI uri = document.getUri(); + + final HttpPut httpPut = new HttpPut(uri); + + final Context context = model.getContext(); + + final ModelContentProducer httpWriter = new ModelContentProducer(context, null, model); + httpPut.setEntity(new EntityTemplate(httpWriter)); + + final HttpResponse response = executeRequest(httpPut); + final Dimensions responseDimensions = RestUtils.extractResponseDimensions(context, response, + model.getDimensions()); + + return readResponseModel(response, model.getContext(), model.getKeys(), responseDimensions); + } + + @Override + protected void initFromConfiguration(final ServiceConfiguration config) + { + + final SchemeRegistry schemeRegistry = new SchemeRegistry(); + + // Tips on HttpClient performance: http://hc.apache.org/httpclient-3.x/performance.html + + schemeRegistry.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory())); + + // TODO: Make configurable + final PoolingClientConnectionManager _ConnectionManager = new PoolingClientConnectionManager(schemeRegistry); + _ConnectionManager.setMaxTotal(200); + _ConnectionManager.setDefaultMaxPerRoute(20); + + _HttpClient = new DefaultHttpClient(_ConnectionManager); + } + + private HttpResponse executeRequest(final HttpRequestBase request) + { + + LOG.debug("Making outgoing request {}", request); + + final HttpResponse response; + try + { + response = _HttpClient.execute(request); + } + catch (final IOException e) + { + LOG.error("Failed to execute HTTP request: " + request.getClass().toString() + " to " + request.getURI(), e); + throw new ServiceException("Failed to execute HTTP PUT request.", e, this); + } + + LOG.debug("Received status code: {} in response to update request.", + response.getStatusLine() != null ? response.getStatusLine().getStatusCode() : "NULL"); + + if (response.getStatusLine().getStatusCode() / 100 != 2) + { + // Anything in the 300, 400, or 500 ranges will go here + + final String errorMessage = "Error: (" + response.getStatusLine().getStatusCode() + ") - " + + request.getURI() + "\n" + response.getStatusLine().getReasonPhrase(); + LOG.error(errorMessage); + + throw new ServiceException(errorMessage, null, this); + } + + return response; + + } + + private M readResponseModel(final HttpResponse response, final Context context, final Keys keys, + final Dimensions dimensions) + { + + if (response == null) + { + return null; + } + + final HttpEntity entity = response.getEntity(); + if (entity == null) + { + return null; + } + + // TODO: Initialize this from the response content-type header? As is, null will default to the default format. + final URI formatUri = null; + + try + { + final InputStream in = entity.getContent(); + return context.readModel(in, keys, dimensions, formatUri); + } + catch (final IllegalStateException | IOException e) + { + throw new ServiceException("Failed to read HTTP response content.", e, this); + } + finally + { + EntityUtils.consumeQuietly(entity); + } + } + + class ModelContentProducer implements ContentProducer + { + + private final Context _Context; + + private final ModelWriteOptions _WriteOptions; + + private final Model _Model; + + /** + * Initialize this with the model writer and model that it will use + */ + public ModelContentProducer(final Context context, final ModelWriteOptions writeOptions, final Model model) + { + + _Context = context; + _Model = model; + _WriteOptions = writeOptions; + } + + @Override + public void writeTo(final OutputStream stream) throws IOException + { + + try + { + // TODO: How best to determine the best Format URI to pass here? + // Use API metadata? + // Remember/store the Format URI that was used when the Model was read from the origin? + _Context.writeModel(stream, _Model, _WriteOptions, null); + } + catch (final ModelWriterException e) + { + e.printStackTrace(); + throw new IOException("Error writing the given model out to the stream provided.", e); + } + } + + } + +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/BooleanSyntaxHandler.java b/core/src/main/java/org/wrml/runtime/syntax/BooleanSyntaxHandler.java new file mode 100644 index 0000000..7f6d396 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/BooleanSyntaxHandler.java @@ -0,0 +1,52 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +public class BooleanSyntaxHandler extends SyntaxHandler +{ + + @Override + public String formatSyntaxValue(final Boolean syntaxValue) throws SyntaxHandlerException + { + if (syntaxValue == null) + { + return ""; + } + + return syntaxValue.toString(); + } + + @Override + public Boolean parseSyntacticText(final String bValue) throws SyntaxHandlerException + { + if (bValue == null || bValue.isEmpty()) + { + return null; + } + + return Boolean.parseBoolean(bValue); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/DateSyntaxHandler.java b/core/src/main/java/org/wrml/runtime/syntax/DateSyntaxHandler.java new file mode 100644 index 0000000..b9b2785 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/DateSyntaxHandler.java @@ -0,0 +1,57 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +import java.util.Date; + +import org.apache.http.impl.cookie.DateParseException; +import org.apache.http.impl.cookie.DateUtils; + +/** + * TODO: Document the Date format and make it pluggable (config mapping of schema uri (w/ slot name) to date format?) + */ +public class DateSyntaxHandler extends SyntaxHandler +{ + + @Override + public String formatSyntaxValue(final Date date) + { + return DateUtils.formatDate(date); + } + + @Override + public Date parseSyntacticText(final String dateString) + { + try + { + return DateUtils.parseDate(dateString); + } + catch (final DateParseException e) + { + throw new SyntaxHandlerException("Failed to transform String value \"" + dateString + "\" to a Date", e, + this); + } + } +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/DefaultSyntaxLoader.java b/core/src/main/java/org/wrml/runtime/syntax/DefaultSyntaxLoader.java new file mode 100644 index 0000000..194409d --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/DefaultSyntaxLoader.java @@ -0,0 +1,382 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +import com.google.common.collect.BiMap; +import com.google.common.collect.HashBiMap; +import org.apache.commons.lang3.reflect.TypeUtils; +import org.wrml.model.schema.Syntax; +import org.wrml.runtime.Context; +import org.wrml.runtime.ContextConfiguration; +import org.wrml.runtime.Keys; + +import java.lang.reflect.Type; +import java.net.URI; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +public final class DefaultSyntaxLoader implements SyntaxLoader +{ + + private final Map _SystemSyntaxes; + + private final BiMap> _SyntaxUriToJavaClassBiMap; + + private final ConcurrentHashMap, SyntaxHandler> _SyntaxHandlers; + + private Context _Context; + + public DefaultSyntaxLoader() + { + + _SystemSyntaxes = new HashMap<>(); + _SyntaxHandlers = new ConcurrentHashMap<>(); + _SyntaxUriToJavaClassBiMap = HashBiMap.create(); + } + + @Override + @SuppressWarnings({"rawtypes", "unchecked"}) + public final String formatSyntaxValue(final Object syntaxValue) + { + + if (syntaxValue instanceof String) + { + return (String) syntaxValue; + } + + if (syntaxValue == null) + { + return null; + } + + final SyntaxHandler syntaxHandler = getSyntaxHandler(syntaxValue.getClass()); + + if (syntaxHandler != null) + { + return syntaxHandler.formatSyntaxValue(syntaxValue); + } + + return String.valueOf(syntaxValue); + } + + @Override + public Context getContext() + { + + return _Context; + } + + @Override + @SuppressWarnings("unchecked") + public final SyntaxHandler getSyntaxHandler(final Class syntaxJavaClass) + { + + return (SyntaxHandler) _SyntaxHandlers.get(syntaxJavaClass); + } + + @Override + public final Class getSyntaxJavaClass(final URI syntaxUri) + { + + if (!_SyntaxUriToJavaClassBiMap.containsKey(syntaxUri)) + { + return null; + } + + return _SyntaxUriToJavaClassBiMap.get(syntaxUri); + } + + @Override + public final URI getSyntaxUri(final Class syntaxClass) + { + + final BiMap, URI> javaClassToSyntaxUriMap = _SyntaxUriToJavaClassBiMap.inverse(); + if (!javaClassToSyntaxUriMap.containsKey(syntaxClass)) + { + return null; + } + + return javaClassToSyntaxUriMap.get(syntaxClass); + } + + @Override + public void loadInitialState() + { + + loadConfiguredSyntaxes(); + } + + @Override + @SuppressWarnings({"unchecked", "rawtypes"}) + public final T parseSyntacticText(final String text, final java.lang.reflect.Type targetType) + { + + if (text == null) + { + return null; + } + + if (targetType == null || targetType.equals(String.class)) + { + return (T) text; + } + + if (targetType.equals(Integer.TYPE) || targetType.equals(Integer.class)) + { + return (T) new Integer(text); + } + + if (targetType.equals(Boolean.TYPE) || targetType.equals(Boolean.class)) + { + return (T) (text.equals("true") ? Boolean.TRUE : Boolean.FALSE); + } + + if (targetType.equals(Long.TYPE) || targetType.equals(Long.class)) + { + return (T) new Long(text); + } + + if (targetType.equals(Double.TYPE) || targetType.equals(Double.class)) + { + return (T) new Double(text); + } + + if (TypeUtils.isAssignable(targetType, Enum.class)) + { + return (T) Enum.valueOf((Class) targetType, text); + } + + if (targetType instanceof Class) + { + + final SyntaxHandler syntaxHandler = getSyntaxHandler((Class) targetType); + + if (syntaxHandler != null) + { + return (T) syntaxHandler.parseSyntacticText(text); + } + } + + throw new SyntaxRegistryException("Failed to transform text: \"" + text + "\" value to target type: " + + targetType, null, this); + + } + + @Override + public void init(final Context context) + { + + _Context = context; + loadSystemSyntaxes(); + + } + + @Override + @SuppressWarnings("unchecked") + public final T[] parseSyntacticTextArray(final String[] textArray, final T[] destArray) + { + + final Type arrayComponentType = TypeUtils.getArrayComponentType(destArray.getClass()); + for (int i = 0; i < textArray.length; i++) + { + destArray[i] = (T) parseSyntacticText(textArray[i], arrayComponentType); + } + return destArray; + } + + @Override + public final void loadConfiguredSyntax(final SyntaxConfiguration syntaxConfiguration) + { + + if (syntaxConfiguration == null) + { + return; + } + + final URI syntaxUri = syntaxConfiguration.getSyntaxUri(); + if (syntaxUri == null) + { + throw new SyntaxRegistryException("The Syntax id (URI) cannot be null", null, this); + } + + final String syntaxHandlerClassName = syntaxConfiguration.getHandler(); + if (syntaxHandlerClassName == null) + { + throw new SyntaxRegistryException("The SyntaxHandler class name cannot be null", null, this); + } + + Class syntaxHandlerClass; + try + { + syntaxHandlerClass = Class.forName(syntaxHandlerClassName); + } + catch (final ClassNotFoundException e) + { + throw new SyntaxRegistryException("Failed to load SyntaxHandler class (" + syntaxHandlerClassName + ")", e, + this); + } + + SyntaxHandler syntaxHandler = null; + try + { + syntaxHandler = (SyntaxHandler) syntaxHandlerClass.newInstance(); + } + catch (final Exception e) + { + throw new SyntaxRegistryException("Failed to create new instance of SyntaxHandler class (" + + syntaxHandlerClass + ")", e, this); + } + + + loadSyntax(syntaxUri, syntaxHandler); + + } + + @Override + public final void loadSyntax(final URI syntaxUri, final SyntaxHandler syntaxHandler) + { + + if (_SyntaxUriToJavaClassBiMap.containsKey(syntaxUri)) + { + throw new SyntaxRegistryException("The syntax \"" + syntaxUri + "\" is already installed (using: " + + _SyntaxUriToJavaClassBiMap.get(syntaxUri) + ")", null, this); + + } + + final Class syntaxJavaClass = syntaxHandler.getSyntaxType(); + if (_SyntaxHandlers.containsKey(syntaxJavaClass)) + { + throw new SyntaxRegistryException("The syntax \"" + syntaxJavaClass.getCanonicalName() + + "\" is already installed (using: " + _SyntaxHandlers.get(syntaxJavaClass) + ")", null, this); + + } + + loadSyntaxInternal(syntaxUri, syntaxHandler); + + } + + @Override + public Syntax getLoadedSyntax(final Keys keys) + { + + final URI uri = keys.getValue(getContext().getSchemaLoader().getDocumentSchemaUri()); + if (uri == null) + { + return null; + } + + if (_SystemSyntaxes.containsKey(uri)) + { + return _SystemSyntaxes.get(uri); + } + + return null; + } + + private final void loadSyntaxInternal(final URI syntaxUri, final SyntaxHandler syntaxHandler) + { + + final Class syntaxJavaClass = syntaxHandler.getSyntaxType(); + _SyntaxUriToJavaClassBiMap.put(syntaxUri, syntaxJavaClass); + _SyntaxHandlers.put(syntaxJavaClass, syntaxHandler); + } + + private final void loadSystemSyntaxes() + { + + for (final SystemSyntax systemSyntax : SystemSyntax.values()) + { + final SyntaxHandler syntaxHandler = systemSyntax.getSyntaxHandler(); + + switch (systemSyntax) + { + + case Boolean: + _SyntaxHandlers.put(Boolean.TYPE, syntaxHandler); + break; + + case Double: + _SyntaxHandlers.put(Double.TYPE, syntaxHandler); + break; + + case Integer: + _SyntaxHandlers.put(Integer.TYPE, syntaxHandler); + break; + + case Long: + _SyntaxHandlers.put(Long.TYPE, syntaxHandler); + break; + + default: + break; + + } + + + final URI syntaxUri = systemSyntax.getSyntaxUri(); + loadSyntaxInternal(syntaxUri, syntaxHandler); + } + + final Context context = getContext(); + + // Loop again to build the system Syntax models now that the + for (final SystemSyntax systemSyntax : SystemSyntax.values()) + { + final Syntax syntax = context.newModel(Syntax.class); + + final URI syntaxUri = systemSyntax.getSyntaxUri(); + syntax.setUniqueName(systemSyntax.getUniqueName()); + syntax.setUri(syntaxUri); + + _SystemSyntaxes.put(syntaxUri, syntax); + } + + } + + protected void loadConfiguredSyntaxes() + { + + final Context context = getContext(); + final ContextConfiguration contextConfig = context.getConfig(); + final SyntaxLoaderConfiguration config = contextConfig.getSyntaxLoader(); + if (config == null) + { + return; + } + + final SyntaxConfiguration[] syntaxConfigs = config.getSyntaxes(); + if ((syntaxConfigs == null) || (syntaxConfigs.length == 0)) + { + return; + } + + for (final SyntaxConfiguration syntaxConfiguration : syntaxConfigs) + { + loadConfiguredSyntax(syntaxConfiguration); + } + + } +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/DefaultSyntaxLoaderFactory.java b/core/src/main/java/org/wrml/runtime/syntax/DefaultSyntaxLoaderFactory.java new file mode 100644 index 0000000..3a1a65f --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/DefaultSyntaxLoaderFactory.java @@ -0,0 +1,38 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +import org.wrml.runtime.Factory; + +public class DefaultSyntaxLoaderFactory implements Factory +{ + @Override + public SyntaxLoader create() + { + + return new DefaultSyntaxLoader(); + } +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/DoubleSyntaxHandler.java b/core/src/main/java/org/wrml/runtime/syntax/DoubleSyntaxHandler.java new file mode 100644 index 0000000..1c8bc90 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/DoubleSyntaxHandler.java @@ -0,0 +1,52 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +public class DoubleSyntaxHandler extends SyntaxHandler +{ + + @Override + public String formatSyntaxValue(final Double syntaxValue) throws SyntaxHandlerException + { + if (syntaxValue == null) + { + return ""; + } + + return syntaxValue.toString(); + } + + @Override + public Double parseSyntacticText(final String bValue) throws SyntaxHandlerException + { + if (bValue == null || bValue.isEmpty()) + { + return null; + } + + return Double.parseDouble(bValue); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/FileSyntaxHandler.java b/core/src/main/java/org/wrml/runtime/syntax/FileSyntaxHandler.java new file mode 100644 index 0000000..c946a9c --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/FileSyntaxHandler.java @@ -0,0 +1,73 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class FileSyntaxHandler extends SyntaxHandler +{ + + @Override + public String formatSyntaxValue(final File file) + { + if (file == null) + { + return null; + } + + return String.valueOf(file); + } + + @Override + public File parseSyntacticText(final String filePath) + { + if (filePath == null || filePath.isEmpty()) + { + return null; + } + + try + { + final Path path = Paths.get(filePath); + final File file = path.toFile(); + if (file.exists()) + { + return path.toRealPath().toFile(); + } + else + { + return file; + } + } + catch (final IOException e) + { + throw new SyntaxHandlerException(e.getLocalizedMessage(), e, this); + } + } + +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/IntegerSyntaxHandler.java b/core/src/main/java/org/wrml/runtime/syntax/IntegerSyntaxHandler.java new file mode 100644 index 0000000..9afa330 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/IntegerSyntaxHandler.java @@ -0,0 +1,52 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +public class IntegerSyntaxHandler extends SyntaxHandler +{ + + @Override + public String formatSyntaxValue(final Integer syntaxValue) throws SyntaxHandlerException + { + if (syntaxValue == null) + { + return ""; + } + + return syntaxValue.toString(); + } + + @Override + public Integer parseSyntacticText(final String bValue) throws SyntaxHandlerException + { + if (bValue == null || bValue.isEmpty()) + { + return null; + } + + return Integer.parseInt(bValue); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/LocaleSyntaxHandler.java b/core/src/main/java/org/wrml/runtime/syntax/LocaleSyntaxHandler.java new file mode 100644 index 0000000..013b895 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/LocaleSyntaxHandler.java @@ -0,0 +1,56 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +import java.util.Locale; + +public class LocaleSyntaxHandler extends SyntaxHandler +{ + + @Override + public String formatSyntaxValue(final Locale locale) + { + + if (locale == null) + { + return null; + } + + return locale.toLanguageTag(); + } + + @Override + public Locale parseSyntacticText(final String languageTag) + { + + if (languageTag == null) + { + return null; + } + + return Locale.forLanguageTag(languageTag); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/LongSyntaxHandler.java b/core/src/main/java/org/wrml/runtime/syntax/LongSyntaxHandler.java new file mode 100644 index 0000000..4499275 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/LongSyntaxHandler.java @@ -0,0 +1,52 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +public class LongSyntaxHandler extends SyntaxHandler +{ + + @Override + public String formatSyntaxValue(final Long syntaxValue) throws SyntaxHandlerException + { + if (syntaxValue == null) + { + return ""; + } + + return syntaxValue.toString(); + } + + @Override + public Long parseSyntacticText(final String bValue) throws SyntaxHandlerException + { + if (bValue == null || bValue.isEmpty()) + { + return null; + } + + return Long.parseLong(bValue); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/MediaTypeSyntaxHandler.java b/core/src/main/java/org/wrml/runtime/syntax/MediaTypeSyntaxHandler.java new file mode 100644 index 0000000..6b075f5 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/MediaTypeSyntaxHandler.java @@ -0,0 +1,76 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +import org.wrml.runtime.rest.MediaType; + +import org.apache.commons.lang3.StringUtils; + +/** + * + * TODO: Need to tie this into the code that was added for Media Type parsing. + * + * + * + */ +public class MediaTypeSyntaxHandler extends SyntaxHandler +{ + + @Override + public String formatSyntaxValue(final MediaType mediaType) + { + + if (mediaType == null) + { + return null; + } + + final String aValue = mediaType.toString(); + + return aValue; + + } + + @Override + public MediaType parseSyntacticText(final String mediaTypeString) + { + + if (mediaTypeString == null) + { + return null; + } + + // TODO: Parse with a regex or something that deals properly extracts the media type parameters + final String[] parts = StringUtils.split(mediaTypeString, '/'); + final String type = parts[0].trim(); + final String[] params = StringUtils.split(parts[1], ';'); + final String subType = params[0].trim(); + final MediaType mediaType = new MediaType(type, subType); + + return mediaType; + } + + +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/SyntaxConfiguration.java b/core/src/main/java/org/wrml/runtime/syntax/SyntaxConfiguration.java new file mode 100644 index 0000000..7029c99 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/SyntaxConfiguration.java @@ -0,0 +1,67 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +import java.net.URI; + +import org.wrml.runtime.DefaultConfiguration; + +public class SyntaxConfiguration extends DefaultConfiguration +{ + + private URI _SyntaxUri; + + private String _HandlerClassName; + + public SyntaxConfiguration() + { + } + + public SyntaxConfiguration(final String syntaxUriString, final String syntaxHandlerClassName) + { + setSyntaxUri(URI.create(syntaxUriString)); + setHandler(syntaxHandlerClassName); + } + + public String getHandler() + { + return _HandlerClassName; + } + + public URI getSyntaxUri() + { + return _SyntaxUri; + } + + public void setHandler(final String syntaxHandlerClassName) + { + _HandlerClassName = syntaxHandlerClassName; + } + + public void setSyntaxUri(final URI syntaxUri) + { + _SyntaxUri = syntaxUri; + } +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/SyntaxHandler.java b/core/src/main/java/org/wrml/runtime/syntax/SyntaxHandler.java new file mode 100644 index 0000000..fe57111 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/SyntaxHandler.java @@ -0,0 +1,78 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +import java.lang.reflect.Type; +import java.lang.reflect.TypeVariable; +import java.util.Map; + +import org.apache.commons.lang3.reflect.TypeUtils; + +public abstract class SyntaxHandler +{ + + public final static String TYPE_VARIABLE_NAME = "S"; + + public static Class getSyntaxType(final Class syntaxHandlerClass) + { + + final Map, Type> typeArguments = TypeUtils.getTypeArguments(syntaxHandlerClass, + SyntaxHandler.class); + + for (final TypeVariable typeVar : typeArguments.keySet()) + { + + final String typeVarName = typeVar.getName(); + if (SyntaxHandler.TYPE_VARIABLE_NAME.equals(typeVarName)) + { + return (Class) typeArguments.get(typeVar); + } + else + { + throw new RuntimeException("Unexpected type variable name \"" + typeVarName + + "\" in SyntaxHandler class (" + syntaxHandlerClass + ")"); + } + + } + + return null; + + } + + private Class _SyntaxType; + + public abstract String formatSyntaxValue(final S syntaxValue) throws SyntaxHandlerException; + + public Class getSyntaxType() + { + if (_SyntaxType == null) + { + _SyntaxType = SyntaxHandler.getSyntaxType(getClass()); + } + return _SyntaxType; + } + + public abstract S parseSyntacticText(final String syntacticText) throws SyntaxHandlerException; +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/SyntaxHandlerException.java b/core/src/main/java/org/wrml/runtime/syntax/SyntaxHandlerException.java new file mode 100644 index 0000000..925f2ae --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/SyntaxHandlerException.java @@ -0,0 +1,47 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +/** + * The {@link SyntaxHandler}'s associated error type. + */ +public class SyntaxHandlerException extends RuntimeException +{ + + private static final long serialVersionUID = 1L; + + private final SyntaxHandler _SyntaxHandler; + + SyntaxHandlerException(final String message, final Throwable cause, final SyntaxHandler syntaxHandler) + { + super(message, cause); + _SyntaxHandler = syntaxHandler; + } + + public SyntaxHandler getSyntaxHandler() + { + return _SyntaxHandler; + } +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/SyntaxLoader.java b/core/src/main/java/org/wrml/runtime/syntax/SyntaxLoader.java new file mode 100644 index 0000000..e94b925 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/SyntaxLoader.java @@ -0,0 +1,56 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +import java.net.URI; + +import org.wrml.model.schema.Syntax; +import org.wrml.runtime.Keys; +import org.wrml.runtime.Loader; + +/** + * The runtime's registry of {@link Syntax}s and associated {@link SyntaxHandler}s. + */ +public interface SyntaxLoader extends Loader +{ + + String formatSyntaxValue(final Object syntaxValue); + + SyntaxHandler getSyntaxHandler(final Class syntaxJavaClass); + + Class getSyntaxJavaClass(final URI syntaxUri); + + URI getSyntaxUri(final Class syntaxClass); + + S parseSyntacticText(final String text, final java.lang.reflect.Type targetSyntaxValueType); + + S[] parseSyntacticTextArray(final String[] textArray, final S[] destSyntaxValueArray); + + void loadConfiguredSyntax(final SyntaxConfiguration syntaxConfiguration); + + void loadSyntax(final URI syntaxUri, final SyntaxHandler syntaxHandler); + + Syntax getLoadedSyntax(final Keys keys); +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/SyntaxLoaderConfiguration.java b/core/src/main/java/org/wrml/runtime/syntax/SyntaxLoaderConfiguration.java new file mode 100644 index 0000000..3af7f75 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/SyntaxLoaderConfiguration.java @@ -0,0 +1,54 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +import org.wrml.runtime.DefaultFactoryConfiguration; + +/** + * Configuration for the {@link SyntaxLoader} component. + */ +public final class SyntaxLoaderConfiguration extends DefaultFactoryConfiguration +{ + + private SyntaxConfiguration[] _SyntaxConfigurations; + + public SyntaxLoaderConfiguration() + { + + } + + public final SyntaxConfiguration[] getSyntaxes() + { + + return _SyntaxConfigurations; + } + + public final void setSyntaxes(final SyntaxConfiguration[] syntaxHandlers) + { + + _SyntaxConfigurations = syntaxHandlers; + } + +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/SyntaxRegistryException.java b/core/src/main/java/org/wrml/runtime/syntax/SyntaxRegistryException.java new file mode 100644 index 0000000..03b141a --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/SyntaxRegistryException.java @@ -0,0 +1,47 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +/** + * The {@link SyntaxLoader}'s associated error type. + */ +public class SyntaxRegistryException extends RuntimeException +{ + + private static final long serialVersionUID = 1L; + + private final SyntaxLoader _syntaxLoader; + + SyntaxRegistryException(final String message, final Throwable cause, final SyntaxLoader syntaxLoader) + { + super(message, cause); + _syntaxLoader = syntaxLoader; + } + + public SyntaxLoader getSyntaxLoader() + { + return _syntaxLoader; + } +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/SystemSyntax.java b/core/src/main/java/org/wrml/runtime/syntax/SystemSyntax.java new file mode 100644 index 0000000..c12db9c --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/SystemSyntax.java @@ -0,0 +1,86 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +import org.wrml.runtime.rest.SystemApi; +import org.wrml.util.UniqueName; + +public enum SystemSyntax +{ + + Boolean(new BooleanSyntaxHandler()), + Date(new DateSyntaxHandler()), + Double(new DoubleSyntaxHandler()), + File(new FileSyntaxHandler()), + Integer(new IntegerSyntaxHandler()), + Locale(new LocaleSyntaxHandler()), + Long(new LongSyntaxHandler()), + MediaType(new MediaTypeSyntaxHandler()), + UniqueName(new UniqueNameSyntaxHandler()), + URI(new UriSyntaxHandler()), + URL(new UrlSyntaxHandler()), + UUID(new UuidSyntaxHandler()); + + private final SyntaxHandler _SyntaxHandler; + + private final UniqueName _UniqueName; + + private final java.net.URI _SyntaxUri; + + private SystemSyntax(final SyntaxHandler syntaxHandler) + { + _SyntaxHandler = syntaxHandler; + final String localName = toString(); + _UniqueName = new UniqueName(Constants.NAMESPACE, localName); + final java.net.URI relativeUri = java.net.URI.create("/" + _UniqueName.toString()); + _SyntaxUri = SystemApi.Syntax.getUri().resolve(relativeUri); + } + + public SyntaxHandler getSyntaxHandler() + { + return _SyntaxHandler; + } + + public java.net.URI getSyntaxUri() + { + return _SyntaxUri; + } + + public UniqueName getUniqueName() + { + return _UniqueName; + } + + /** + * It seems crazy ironic that java requires this kind of hackery to allow the Enum constrtor to access static + * constants... + */ + public static interface Constants + { + + public static final UniqueName NAMESPACE = new UniqueName("org/wrml/syntax"); + + } +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/UniqueNameSyntaxHandler.java b/core/src/main/java/org/wrml/runtime/syntax/UniqueNameSyntaxHandler.java new file mode 100644 index 0000000..d4eb50b --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/UniqueNameSyntaxHandler.java @@ -0,0 +1,57 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +import org.wrml.util.UniqueName; + +public class UniqueNameSyntaxHandler extends SyntaxHandler +{ + + @Override + public String formatSyntaxValue(final UniqueName uniqueName) + { + + if (uniqueName == null) + { + return null; + } + + return uniqueName.toString(); + } + + @Override + public UniqueName parseSyntacticText(final String uniqueNameString) + { + + if (uniqueNameString == null) + { + return null; + } + + return new UniqueName(uniqueNameString); + + } + +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/UriSyntaxHandler.java b/core/src/main/java/org/wrml/runtime/syntax/UriSyntaxHandler.java new file mode 100644 index 0000000..da59ae4 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/UriSyntaxHandler.java @@ -0,0 +1,54 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +import java.net.URI; + +public class UriSyntaxHandler extends SyntaxHandler +{ + + @Override + public String formatSyntaxValue(final URI uri) + { + if (uri == null) + { + return null; + } + + return String.valueOf(uri.normalize()); + } + + @Override + public URI parseSyntacticText(final String uriString) + { + if (uriString == null || uriString.isEmpty()) + { + return null; + } + + return URI.create(uriString).normalize(); + } + +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/UrlSyntaxHandler.java b/core/src/main/java/org/wrml/runtime/syntax/UrlSyntaxHandler.java new file mode 100644 index 0000000..3d9cdb9 --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/UrlSyntaxHandler.java @@ -0,0 +1,62 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +import java.net.MalformedURLException; +import java.net.URL; + +public class UrlSyntaxHandler extends SyntaxHandler +{ + + @Override + public String formatSyntaxValue(final URL url) + { + if (url == null) + { + return null; + } + + return String.valueOf(url); + } + + @Override + public URL parseSyntacticText(final String urlString) + { + if (urlString == null || urlString.isEmpty()) + { + return null; + } + + try + { + return new URL(urlString); + } + catch (final MalformedURLException e) + { + throw new SyntaxHandlerException(e.getMessage(), e, this); + } + } + +} diff --git a/core/src/main/java/org/wrml/runtime/syntax/UuidSyntaxHandler.java b/core/src/main/java/org/wrml/runtime/syntax/UuidSyntaxHandler.java new file mode 100644 index 0000000..b1c34bf --- /dev/null +++ b/core/src/main/java/org/wrml/runtime/syntax/UuidSyntaxHandler.java @@ -0,0 +1,62 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.syntax; + +import java.util.UUID; + +import org.apache.commons.lang3.StringUtils; + +public class UuidSyntaxHandler extends SyntaxHandler +{ + + @Override + public String formatSyntaxValue(final UUID uuid) + { + if (uuid == null) + { + return null; + } + return String.valueOf(uuid); + } + + @Override + public UUID parseSyntacticText(final String uuidString) + { + if (StringUtils.isEmpty(uuidString)) + { + return null; + } + + try + { + return UUID.fromString(uuidString); + } + catch (final Exception e) + { + throw new SyntaxHandlerException(e.getMessage(), e, this); + } + } + +} diff --git a/core/src/main/java/org/wrml/util/AsciiArt.java b/core/src/main/java/org/wrml/util/AsciiArt.java new file mode 100644 index 0000000..5717749 --- /dev/null +++ b/core/src/main/java/org/wrml/util/AsciiArt.java @@ -0,0 +1,504 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.util; + +import org.apache.commons.collections.MapUtils; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.Model; +import org.wrml.model.rest.Api; +import org.wrml.model.rest.LinkRelation; +import org.wrml.model.rest.LinkTemplate; +import org.wrml.model.rest.Method; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.Context; +import org.wrml.runtime.format.ModelWritingException; +import org.wrml.runtime.format.SystemFormat; +import org.wrml.runtime.rest.ApiLoader; +import org.wrml.runtime.rest.ApiNavigator; +import org.wrml.runtime.rest.Resource; +import org.wrml.runtime.schema.SchemaLoader; + +import java.io.ByteArrayOutputStream; +import java.net.URI; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; +import java.util.UUID; + +import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectWriter; + +/** + * Set of functions to produce string representations (primarily for debugging) of WRML's core data structures. + */ +public class AsciiArt +{ + + /** + *

+ * The WRML ASCII art "logo" + *

+ *

+ *

+ *

+ * + *

+     *             __     __   ______   __    __   __
+     *            /\ \  _ \ \ /\  == \ /\ "-./  \ /\ \
+     *            \ \ \/ ".\ \\ \  __< \ \ \-./\ \\ \ \____
+     *             \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\
+     *              \/_/   \/_/ \/_/ /_/ \/_/  \/_/ \/_____/
+     * 
+ *

+ *

+ */ + public final static String LOGO; + + private static final Logger LOG = LoggerFactory.getLogger(AsciiArt.class); + + private static final int ASCII_DEFAULT_VERTICAL_SPACING = 1; + + private static final int ASCII_DEFAULT_WIDTH = 2; + + private static final String ASCII_SPACES = " " + StringUtils.repeat(" ", ASCII_DEFAULT_WIDTH); + + private static final String ASCII_VERTICAL_SPACER = "|" + StringUtils.repeat(" ", ASCII_DEFAULT_WIDTH); + + private static final String ASCII_SUBLEVEL_INDENT = "+" + StringUtils.repeat("-", ASCII_DEFAULT_WIDTH); + + static + { + + final StringBuilder logo = new StringBuilder(); + + logo.append("\n __ __ ______ __ __ __ "); + logo.append('\n'); + logo.append(" /\\ \\ _ \\ \\ /\\ == \\ /\\ \"-./ \\ /\\ \\ "); + logo.append('\n'); + logo.append(" \\ \\ \\/ \".\\ \\ \\ \\ __< \\ \\ \\-./\\ \\ \\ \\ \\____ "); + logo.append('\n'); + logo.append(" \\ \\__/\".~\\_\\ \\ \\_\\ \\_\\ \\ \\_\\ \\ \\_\\ \\ \\_____\\ "); + logo.append('\n'); + logo.append(" \\/_/ \\/_/ \\/_/ /_/ \\/_/ \\/_/ \\/_____/ \n"); + LOGO = logo.toString(); + + } + + public static String express(final ApiNavigator apiNavigator) + { + + if (apiNavigator == null) + { + return ""; + } + + final StringBuilder stringBuilder = new StringBuilder(); + + final Api api = apiNavigator.getApi(); + + final URI apiUri = api.getUri(); + + stringBuilder.append("API URI: ").append(apiUri); + stringBuilder.append("\nAPI TITLE: ").append(api.getTitle()); + stringBuilder.append("\nAPI DESCRIPTION: ").append(api.getDescription()); + stringBuilder.append("\nAPI RESOURCES:\n"); + + final ApiNavigatorAsciiTree asciiTree = AsciiArt.createApiNavigatorAsciiTree(apiNavigator); + stringBuilder.append(AsciiArt.expressAsciiTree(asciiTree)); + + final List linkTemplates = api.getLinkTemplates(); + + stringBuilder.append("\nLINK TEMPLATE COUNT: ").append(linkTemplates.size()); + + if (linkTemplates.size() > 0) + { + stringBuilder.append("\nLINK TEMPLATES:\n\n"); + + final Context context = api.getContext(); + final ApiLoader apiLoader = context.getApiLoader(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final List linkTemplateStrings = new ArrayList<>(linkTemplates.size()); + + for (final LinkTemplate linkTemplate : linkTemplates) + { + final StringBuilder sb = new StringBuilder(); + final UUID referrerId = linkTemplate.getReferrerId(); + final Resource referrerResource = apiNavigator.getResource(referrerId); + final String referrerResourceRelativePath = referrerResource.getPathText(); + + final URI linkRelationUri = linkTemplate.getLinkRelationUri(); + final LinkRelation linkRelation = apiLoader.loadLinkRelation(linkRelationUri); + final Method method = linkRelation.getMethod(); + final String methodProtocolName = method.getProtocolGivenName(); + + final UUID endpointId = linkTemplate.getEndPointId(); + final Resource endpointResource = apiNavigator.getResource(endpointId); + final String endpointResourceRelativePath = endpointResource.getPathText(); + + final Set responseSchemaUris = endpointResource.getResponseSchemaUris(method); + final int responseSchemaCount; + final List responseSchemas; + if (responseSchemaUris != null) + { + responseSchemas = new ArrayList<>(responseSchemaUris.size()); + for (final URI responseSchemaUri : responseSchemaUris) + { + final Schema schema = schemaLoader.load(responseSchemaUri); + responseSchemas.add(schema); + } + + responseSchemaCount = responseSchemas.size(); + } + else + { + responseSchemaCount = 0; + responseSchemas = null; + } + + final Set requestSchemaUris = endpointResource.getRequestSchemaUris(method); + final int requestSchemaCount; + final List requestSchemas; + if (requestSchemaUris != null) + { + + requestSchemas = new ArrayList<>(requestSchemaUris.size()); + for (final URI requestSchemaUri : requestSchemaUris) + { + final Schema schema = schemaLoader.load(requestSchemaUri); + requestSchemas.add(schema); + } + + requestSchemaCount = requestSchemaUris.size(); + } + else + { + requestSchemaCount = 0; + requestSchemas = null; + } + + sb.append(referrerResourceRelativePath).append(" --[").append(methodProtocolName).append("]").append("--> ").append(endpointResourceRelativePath); + sb.append(" : "); + + if (responseSchemaCount == 0) + { + sb.append("void "); + } + else + { + for (int i = 0; i < responseSchemaCount; i++) + { + final Schema schema = responseSchemas.get(i); + final String returnType = schema.getUniqueName().getLocalName(); + sb.append(returnType).append(" "); + if (i < responseSchemaCount - 1) + { + sb.append("| "); + } + } + } + + sb.append(linkRelation.getTitle()); + + if (requestSchemaCount == 0) + { + sb.append("("); + } + else + { + sb.append("( "); + + for (int i = 0; i < requestSchemaCount; i++) + { + final Schema schema = requestSchemas.get(i); + final String paramType = schema.getUniqueName().getLocalName(); + sb.append(paramType).append(" "); + if (i < requestSchemaCount - 1) + { + sb.append("| "); + } + } + } + + sb.append(");\n"); + + linkTemplateStrings.add(sb.toString()); + + } + + Collections.sort(linkTemplateStrings); + for (final String linkTemplateString : linkTemplateStrings) + { + stringBuilder.append(linkTemplateString); + } + + } + + return stringBuilder.toString(); + } + + public static String express(final Model model) + { + + final Context context = model.getContext(); + final ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); + + try + { + context.writeModel(byteOut, model, SystemFormat.json.getFormatUri()); + } + catch (final ModelWritingException e) + { + LOG.error("Unable to express the model " + model.getHeapId() + ", returning null.", e); + return null; + } + + final byte[] modelBytes = byteOut.toByteArray(); + return new String(modelBytes); + + } + + public static String express(final Object object) + { + + final ObjectWriter objectWriter = new ObjectMapper().writer(new DefaultPrettyPrinter()); + try + { + return objectWriter.writeValueAsString(object); + } + catch (final Exception e) + { + LOG.warn(e.getMessage()); + } + + return null; + } + + private static ApiNavigatorAsciiTree createApiNavigatorAsciiTree(final ApiNavigator apiNavigator) + { + + return new ApiNavigatorAsciiTree(apiNavigator); + } + + public static > String expressAsciiTree(final N n) + { + + return expressAsciiTree(n, ASCII_DEFAULT_VERTICAL_SPACING, ASCII_DEFAULT_WIDTH, 0, null); + } + + private static > String expressAsciiTree(final N asciiTreeNode, final int verticalSpacing, final int width, int tabLevel, + Map levelChildren) + { + + StringBuilder builder = new StringBuilder(); + if (levelChildren == null) + { + levelChildren = new TreeMap(); + } + + // vertical spacer lines + for (int v = 0; v < verticalSpacing; v++) + { + for (int i = 0; i < tabLevel; i++) + { + String output = ASCII_VERTICAL_SPACER; + if (i < (tabLevel - 1) && MapUtils.getInteger(levelChildren, i) == null) + { + output = ASCII_SPACES; + } + builder.append(output); + } + builder.append('\n'); + } + + // content line + for (int i = 0; i < tabLevel; i++) + { + String output = ASCII_SUBLEVEL_INDENT; + if (i < tabLevel - 1) + { + output = ASCII_VERTICAL_SPACER; + if (MapUtils.getInteger(levelChildren, i) == null) + { + output = ASCII_SPACES; + } + + } + builder.append(output); + } + builder.append(asciiTreeNode.getText()).append('\n'); + int size = asciiTreeNode.getChildNodes().size(); + if (size > 1) + { + levelChildren.put(tabLevel, size); + } + for (int j = 0; j < size; j++) + { + N nextChild = asciiTreeNode.getChildNodes().get(j); + + builder.append(expressAsciiTree(nextChild, verticalSpacing, width, tabLevel + 1, levelChildren)); + if (j == (size - 1)) + { + levelChildren.remove(tabLevel); + } + } + + return builder.toString(); + } + + protected static > String expressAsciiTree(final AsciiTree asciiTree) + { + + return AsciiArt.expressAsciiTree(asciiTree.getRootNode(), ASCII_DEFAULT_VERTICAL_SPACING, ASCII_DEFAULT_WIDTH, 0, null); + } + + private static interface AsciiTree> + { + + int getBranchWidth(); + + N getRootNode(); + + int getVerticalSpacing(); + } + + protected static interface AsciiTreeNode> + { + + List getChildNodes(); + + String getText(); + + } + + private static final class ApiNavigatorAsciiTree implements AsciiTree + { + + private final ApiNavigator _ApiNavigator; + + ApiNavigatorAsciiTree(final ApiNavigator apiNavigator) + { + + _ApiNavigator = apiNavigator; + } + + public ApiNavigator getApiNavigator() + { + + return _ApiNavigator; + } + + @Override + public int getBranchWidth() + { + + return ASCII_DEFAULT_WIDTH; + } + + @Override + public ResourceAsciiTreeNode getRootNode() + { + + return new ResourceAsciiTreeNode(getApiNavigator().getDocroot()); + } + + @Override + public int getVerticalSpacing() + { + + return ASCII_DEFAULT_VERTICAL_SPACING; + } + + } + + public static class ResourceAsciiTreeNode implements AsciiTreeNode + { + + private final Resource _Resource; + + private List _ChildNodes; + + ResourceAsciiTreeNode(final Resource resource) + { + + _Resource = resource; + } + + @Override + public List getChildNodes() + { + + if (_ChildNodes == null) + { + _ChildNodes = new ArrayList(); + final Map literalPathResources = _Resource.getLiteralPathSubresources(); + if (MapUtils.isNotEmpty(literalPathResources)) + { + final Map sortedliteralPathResources = new TreeMap<>(literalPathResources); + for (final String literalPath : sortedliteralPathResources.keySet()) + { + final Resource literalPathResource = sortedliteralPathResources.get(literalPath); + _ChildNodes.add(new ResourceAsciiTreeNode(literalPathResource)); + } + } + + final Map variablePathResources = _Resource.getVariablePathSubresources(); + if (MapUtils.isNotEmpty(variablePathResources)) + { + + final Map sortedVariablePathResources = new TreeMap<>(variablePathResources); + + for (final String variablePath : sortedVariablePathResources.keySet()) + { + final Resource variablePathResource = sortedVariablePathResources.get(variablePath); + _ChildNodes.add(new ResourceAsciiTreeNode(variablePathResource)); + } + } + } + return _ChildNodes; + } + + public Resource getResource() + { + + return _Resource; + } + + @Override + public String getText() + { + + String pathSegment = getResource().getPathSegment(); + pathSegment = (pathSegment != null) ? pathSegment : ""; + return "/" + pathSegment; + } + + } +} diff --git a/core/src/main/java/org/wrml/util/JavaBean.java b/core/src/main/java/org/wrml/util/JavaBean.java new file mode 100644 index 0000000..2c26973 --- /dev/null +++ b/core/src/main/java/org/wrml/util/JavaBean.java @@ -0,0 +1,332 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.util; + +import org.apache.commons.lang3.ArrayUtils; + +import java.lang.annotation.Annotation; +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; +import java.util.SortedMap; +import java.util.SortedSet; +import java.util.TreeMap; +import java.util.TreeSet; + +import com.google.common.collect.ComparisonChain; + +/** + * A runtime-optimized compilation of Java Bean metadata related to a given interface/class. + */ +public class JavaBean +{ + + /** + * "is" is the standard *read* access method name prefix for Booleans. + */ + public static final String IS = "is"; + + /** + * "get" is the standard *read* access method name prefix non-Booleans. + */ + public static final String GET = "get"; + + /** + * "set" is the standard *write* access method name prefix for all property types. + */ + public static final String SET = "set"; + + private final Class _IntrospectedClass; + + private final Class _StopClass; + + private final SortedMap _Properties; + + private final SortedMap> _OtherMethods; + + @SuppressWarnings("unchecked") + public JavaBean(final Class forClass, final Class stopClass, final Class... otherMethodAnnotations) + { + + _IntrospectedClass = forClass; + _StopClass = (stopClass != null) ? stopClass : Object.class; + + _Properties = new TreeMap(); + _OtherMethods = new TreeMap>(); + + /* + * Initialize the methods, a mapping of method name to set of method metadata (one per differing signature of the same method name). + */ + + // Note that this array contains all public methods (including inherited ones). + final Method[] methods = _IntrospectedClass.getMethods(); + + if (ArrayUtils.isEmpty(methods)) + { + return; + } + + for (final Method method : methods) + { + + if (!Modifier.isPublic(method.getModifiers()) || method.getDeclaringClass().isAssignableFrom(_StopClass)) + { + continue; + } + + final String methodName = method.getName(); + + String propertyName = null; + boolean isRead = false; + + boolean isOtherMethod = false; + if (otherMethodAnnotations != null) + { + for (final Class annotationClass : otherMethodAnnotations) + { + isOtherMethod = (method.getAnnotation((Class) annotationClass) != null); + if (isOtherMethod) + { + break; + } + } + } + + if (!isOtherMethod) + { + + if (methodName.startsWith(JavaBean.GET) && (method.getParameterTypes().length == 0)) + { + propertyName = methodName.substring(JavaBean.GET.length()); + isRead = true; + } + else if (methodName.startsWith(JavaBean.IS) && (method.getParameterTypes().length == 0)) + { + propertyName = methodName.substring(JavaBean.IS.length()); + isRead = true; + } + else if (methodName.startsWith(JavaBean.SET) && (method.getParameterTypes().length == 1)) + { + propertyName = methodName.substring(JavaBean.SET.length()); + isRead = false; + } + } + + if (propertyName == null) + { + // The method is not part of a JavaBean property's definition + + // Add "other" list of JavaMethods + SortedSet namedMethods; + + if (!_OtherMethods.containsKey(methodName)) + { + namedMethods = new TreeSet(); + _OtherMethods.put(methodName, namedMethods); + } + + namedMethods = _OtherMethods.get(methodName); + namedMethods.add(new JavaMethod(method)); + + continue; + } + + // Apply the introspector's standardized adjustment to arrive at the + // camel-cased property name + propertyName = Character.toLowerCase(propertyName.charAt(0)) + propertyName.substring(1); + + Property property = null; + if (!_Properties.containsKey(propertyName)) + { + property = new Property(propertyName); + _Properties.put(propertyName, property); + } + + property = _Properties.get(propertyName); + + if (isRead) + { + final JavaMethod getter = new JavaMethod(method); + property.setGetter(getter); + } + else + { + final JavaMethod setter = new JavaMethod(method); + property.setSetter(setter); + } + } + } + + public Class getIntrospectedClass() + { + + return _IntrospectedClass; + } + + public SortedMap> getOtherMethods() + { + + return _OtherMethods; + } + + public SortedMap getProperties() + { + + return _Properties; + } + + public Class getStopClass() + { + + return _StopClass; + } + + private static final String FORMAT_TO_STRING = "%s [introspectedClass = %s]"; + + @Override + public String toString() + { + return String.format(FORMAT_TO_STRING, getClass().getName(), _IntrospectedClass); + } + + public class Property implements Comparable + { + + private final String _Name; + + private JavaMethod _Getter; + + private JavaMethod _Setter; + + Property(final String name) + { + + _Name = name; + } + + @Override + public int compareTo(final Property other) + { + return ComparisonChain.start()// + .compare(_Name, other._Name) // + .compare(getDeclaringClass().getCanonicalName(), other.getDeclaringClass().getCanonicalName()) // + .result(); + } + + @Override + public boolean equals(final Object obj) + { + if (obj instanceof Property) + { + final Property other = (Property) obj; + return java.util.Objects.equals(this, other) // + && java.util.Objects.equals(getClass(), other.getClass()) // + && java.util.Objects.equals(_Getter, other._Getter); + } + else + { + return java.util.Objects.equals(this, obj) // + && java.util.Objects.equals(getClass(), obj.getClass()); + } + } + + public Class getDeclaringClass() + { + + return getGetter().getMethod().getDeclaringClass(); + } + + public JavaMethod getGetter() + { + + return _Getter; + } + + public void setGetter(final JavaMethod getter) + { + + _Getter = getter; + } + + public String getName() + { + + return _Name; + } + + public JavaMethod getSetter() + { + + return _Setter; + } + + public void setSetter(final JavaMethod setter) + { + + _Setter = setter; + } + + public java.lang.reflect.Type getType() + { + if (_Getter != null && _Getter.getSignature() != null) + return _Getter.getSignature().getReturnType(); + return null; + } + + @Override + public int hashCode() + { + return com.google.common.base.Objects.hashCode(_Name, _Getter); + } + + public boolean isReadOnly() + { + + return (_Setter == null); + } + + public T getAnnotation(final Class annotationClass) + { + if (_Getter == null && _Setter == null) + { + throw new RuntimeException("getter or setter required"); + } + T annotation = null; + if (_Getter != null && _Getter.getMethod() != null) + { + annotation = _Getter.getMethod().getAnnotation(annotationClass); + } + if (annotation == null) + { + if (_Setter != null && _Setter.getMethod() != null) + { + annotation = _Setter.getMethod().getAnnotation(annotationClass); + } + } + return annotation; + } + + } + +} diff --git a/core/src/main/java/org/wrml/util/JavaMethod.java b/core/src/main/java/org/wrml/util/JavaMethod.java new file mode 100644 index 0000000..ca923e9 --- /dev/null +++ b/core/src/main/java/org/wrml/util/JavaMethod.java @@ -0,0 +1,200 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.util; + +import java.lang.reflect.Method; +import java.lang.reflect.Type; + +import com.google.common.collect.ComparisonChain; + +/** + * An runtime-optimized descriptor for a specific Java method. + */ +public class JavaMethod implements Comparable +{ + + private final Method _Method; + + private final Signature _Signature; + + public JavaMethod(final Method method) + { + _Method = method; + _Signature = new Signature(_Method); + } + + @Override + public int compareTo(final JavaMethod other) + { + return ComparisonChain.start()// + .compare(this.getSignature(), other.getSignature())// + .result(); + } + + @Override + public boolean equals(final Object obj) + { + if (this == obj) + { + return true; + } + if (obj == null) + { + return false; + } + if (getClass() != obj.getClass()) + { + return false; + } + final JavaMethod other = (JavaMethod) obj; + if (_Signature == null) + { + if (other._Signature != null) + { + return false; + } + } + else if (!_Signature.equals(other._Signature)) + { + return false; + } + return true; + } + + public Method getMethod() + { + return _Method; + } + + public int getParameterCount() + { + return getSignature().getParameterTypes().length; + } + + public Signature getSignature() + { + return _Signature; + } + + @Override + public int hashCode() + { + final int prime = 31; + int result = 1; + result = (prime * result) + ((_Signature == null) ? 0 : _Signature.hashCode()); + return result; + } + + @Override + public String toString() + { + return "JavaMethod [Method=" + _Method + ", Signature=" + _Signature + "]"; + } + + public static class Signature extends UniqueComposition implements Comparable + { + + private final String _Name; + + private final Type[] _ParameterTypes; + + private String _ToString; + + private final Type _ReturnType; + + public Signature(final Method method) + { + this(method.getName(), method.getGenericParameterTypes(), method.getGenericReturnType()); + } + + public Signature(final String name, final Type[] parameterTypes, final Type returnType) + { + + // A method's return type is not considered for uniqueness in a + // signature's composition + super(name, parameterTypes); + + _Name = name; + _ParameterTypes = parameterTypes; + _ReturnType = returnType; + + } + + @Override + public int compareTo(final Signature other) + { + return ComparisonChain.start().compare(this.toString(), String.valueOf(other)).result(); + } + + public String getName() + { + return _Name; + } + + public Type[] getParameterTypes() + { + return _ParameterTypes; + } + + public java.lang.reflect.Type getReturnType() + { + return _ReturnType; + } + + @Override + public String toString() + { + + if (_ToString == null) + { + final StringBuilder signature = new StringBuilder(); + final String name = getName(); + signature.append(name); + signature.append('('); + final Type[] parameterTypes = getParameterTypes(); + if (parameterTypes != null) + { + for (int i = 0; i < parameterTypes.length; i++) + { + final Type parameterType = parameterTypes[i]; + signature.append(parameterType); + if (i < (parameterTypes.length - 1)) + { + signature.append(", "); + } + } + } + + signature.append(')'); + + // That was kind of a lot of work. Let's not do that again. + _ToString = signature.toString(); + } + + return _ToString; + } + } + +} diff --git a/core/src/main/java/org/wrml/util/PrefixTree.java b/core/src/main/java/org/wrml/util/PrefixTree.java new file mode 100644 index 0000000..be01524 --- /dev/null +++ b/core/src/main/java/org/wrml/util/PrefixTree.java @@ -0,0 +1,38 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.util; + +import java.util.List; + +public interface PrefixTree +{ + public void setPath(String path, T value); + + public T matchPath(String path); + +// public String getPathSeparator(); +// +// public List segmentPath(String path); +} diff --git a/core/src/main/java/org/wrml/util/PrefixTreeBase.java b/core/src/main/java/org/wrml/util/PrefixTreeBase.java new file mode 100644 index 0000000..e109db0 --- /dev/null +++ b/core/src/main/java/org/wrml/util/PrefixTreeBase.java @@ -0,0 +1,57 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.util; + +import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; +import org.wrml.runtime.rest.ApiNavigator; + +public abstract class PrefixTreeBase implements PrefixTree +{ + public static final String PATH_SEPARATOR = ApiNavigator.PATH_SEPARATOR; + + public String getPathSeparator() + { + return PATH_SEPARATOR; + } + + List segmentPath(final String path) + { + String tPath = path.trim(); + if (path.endsWith(getPathSeparator())) + { + tPath = tPath.substring(0, path.length() - 1); + } + if (path.startsWith(getPathSeparator())) + { + tPath = tPath.substring(1); + } + + final List segments = new LinkedList( + Arrays.asList(tPath.split(getPathSeparator()))); + return segments; + } +} diff --git a/core/src/main/java/org/wrml/util/PrefixTreeNode.java b/core/src/main/java/org/wrml/util/PrefixTreeNode.java new file mode 100644 index 0000000..94d7092 --- /dev/null +++ b/core/src/main/java/org/wrml/util/PrefixTreeNode.java @@ -0,0 +1,139 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.util; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeSet; + +public class PrefixTreeNode +{ + protected final Map> _Links; + + private T _Value; + + public static final PrefixTreeNode EMPTY_NODE = new PrefixTreeNode(); + + public PrefixTreeNode() + { + _Links = new HashMap<>(); + _Value = null; + } + + public PrefixTreeNode(final T value) + { + _Links = new HashMap>(); + _Value = value; + } + + public PrefixTreeNode addLink(final String segment, final T value) + { + final PrefixTreeNode newNode = new PrefixTreeNode<>(value); + _Links.put(segment, newNode); + + return newNode; + } + + public Set deepPrint(final char separator) + { + final Set paths = new TreeSet(); + + if (_Value != null) + { + paths.add(_Value.toString()); + } + + for (final String s : _Links.keySet()) + { + for (final String subp : _Links.get(s).deepPrint(separator)) + { + if (subp.isEmpty()) + { + paths.add(s); + } + else + { + paths.add(s + separator + subp); + } + } + } + + return paths; + } + + public PrefixTreeNode getLink(final String segment) + { + if (hasLink(segment)) + { + return _Links.get(segment); + } + else + { + return EMPTY_NODE; + } + } + + public T getValue() + { + return _Value; + } + + public boolean hasLink(final String segment) + { + if (_Links.containsKey(segment)) + { + return true; + } + else + { + return false; + } + } + + public void setValue(final T value) + { + _Value = value; + } + + @Override + public String toString() + { + final StringBuilder sb = new StringBuilder("Value: ["); + if (_Value != null) + { + sb.append(_Value.toString()); + } + sb.append("]\nPaths: ["); + for (final String link : _Links.keySet()) + { + sb.append(link).append(", "); + } + sb.append("]"); + + return sb.toString(); + } +} diff --git a/core/src/main/java/org/wrml/util/PropertyUtil.java b/core/src/main/java/org/wrml/util/PropertyUtil.java new file mode 100644 index 0000000..a51dafe --- /dev/null +++ b/core/src/main/java/org/wrml/util/PropertyUtil.java @@ -0,0 +1,66 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.util; + +import org.apache.commons.lang3.StringUtils; + +/** + * Property Utilities for CommandLine, System, and default properties. + */ +public class PropertyUtil { + + /** + * @param systemPropertyName + * - the name specified using {@code -Dfoo=bar} style. + * @return the property value or null. + */ + public static final String getSystemProperty(final String systemPropertyName) { + + String result = null; + + if (StringUtils.isNotEmpty(systemPropertyName)) { + result = System.getProperty(systemPropertyName); + } + + return result; + } + + /** + * @param systemPropertyName + * - the name specified using {@code -Dfoo=bar} style. + * @param defaultIfEmpty + * - the value to default to if empty/null. + * @return the property value, defaulting to {@code defaultIfEmpty}. + */ + public static final String getSystemProperty(final String systemPropertyName, final String defaultIfEmpty) { + String result = getSystemProperty(systemPropertyName); + if (StringUtils.isEmpty(result)) { + result = defaultIfEmpty; + } + return result; + } + +} \ No newline at end of file diff --git a/core/src/main/java/org/wrml/util/SimplePrefixTree.java b/core/src/main/java/org/wrml/util/SimplePrefixTree.java new file mode 100644 index 0000000..6b5b639 --- /dev/null +++ b/core/src/main/java/org/wrml/util/SimplePrefixTree.java @@ -0,0 +1,99 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.util; + +import java.util.List; +import java.util.Set; + +public class SimplePrefixTree extends PrefixTreeBase +{ + private final PrefixTreeNode head; + + public SimplePrefixTree() + { + head = new PrefixTreeNode<>(); + } + + @Override + public void setPath(final String path, final T value) + { + PrefixTreeNode node = head; + final List segments = segmentPath(path); + + for (int i = 0; i < segments.size(); i++) + { + final String segment = segments.get(i); + + if (node.hasLink(segment)) + { + node = node.getLink(segment); + } + else + { + node = node.addLink(segment, null); + } + } + + node.setValue(value); + } + + public String deepPrint() + { + final Set paths = head.deepPrint('/'); + final StringBuilder sb = new StringBuilder(); + for (final String p : paths) + { + sb.append(p).append('\n'); + } + return sb.toString(); + } + + @Override + public T matchPath(final String path) + { + return matchPathIter(path); + } + + private T matchPathIter(final String path) + { + final List segments = segmentPath(path); + PrefixTreeNode node = head; + + for (int i = 0; i < segments.size(); i++) + { + final String segment = segments.get(i); + if (node.hasLink(segment)) + { + node = node.getLink(segment); + } + else + { + return null; + } + } + + return node.getValue(); + } +} diff --git a/core/src/main/java/org/wrml/util/UniqueComposition.java b/core/src/main/java/org/wrml/util/UniqueComposition.java new file mode 100644 index 0000000..074c8af --- /dev/null +++ b/core/src/main/java/org/wrml/util/UniqueComposition.java @@ -0,0 +1,108 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.util; + +import java.util.Arrays; + +/** + * A component-based unique. Hash code is computed *ONCE* upon first request as + * this is intended to be used only for immutable components. + */ +public class UniqueComposition +{ + private final Object[] _Components; + + private Integer _HashCode; + + /** + * Creates a new UniqueComposition with the specified components. + * + * @param components the components to compose. + */ + public UniqueComposition(final Object... components) + { + + _Components = components; + if ((_Components == null) || (_Components.length == 0)) + { + throw new NullPointerException(); + } + } + + @Override + public boolean equals(final Object obj) + { + + if (this == obj) + { + return true; + } + + if (obj == null) + { + return false; + } + + if (getClass() != obj.getClass()) + { + return false; + } + + final UniqueComposition other = (UniqueComposition) obj; + + if (!Arrays.deepEquals(_Components, other._Components)) + { + return false; + } + + return true; + } + + public Object[] getComponents() + { + + return _Components; + } + + @Override + public int hashCode() + { + + if (_HashCode == null) + { + _HashCode = 31 + Arrays.deepHashCode(_Components); + } + + return _HashCode; + } + + @Override + public String toString() + { + + return getClass().getCanonicalName() + " :: { \"components\" : [" + Arrays.toString(_Components) + "] }"; + } + +} diff --git a/core/src/main/java/org/wrml/util/UniqueName.java b/core/src/main/java/org/wrml/util/UniqueName.java new file mode 100644 index 0000000..1354a03 --- /dev/null +++ b/core/src/main/java/org/wrml/util/UniqueName.java @@ -0,0 +1,307 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.util; + +import com.google.common.base.Objects; +import com.google.common.collect.ComparisonChain; +import org.apache.commons.lang3.StringUtils; + +import java.io.Serializable; +import java.net.URI; +import java.util.Comparator; +import java.util.concurrent.atomic.AtomicInteger; + +/** + *

+ * Similar to a {@link URI}'s path component, a {@link UniqueName} is a forward slash delimited {@link String} consisting of a namespace part and a local name part. + *

+ *

+ * The namespace part of the {@link UniqueName} may contain any number of string "segments" separated by forward slashes. + *

+ *

+ * The local name part follows the final forward slash and may not contain any forward slashes. + *

+ *

+ * Examples: + *

+ *

+ *

    + *
  • org/wrml/model/rest/Document
  • + *
  • org/wrml/model/schema/Schema
  • + *
  • org/wrml/relation/self
  • + *
+ *

+ * + * @see java.net.URI#getPath() + * @see java.nio.file.Path + */ +public final class UniqueName implements Comparable, Serializable +{ + + public static final char NAME_SEPARATOR_CHAR = '/'; + + public static final String NAME_SEPARATOR = String.valueOf(UniqueName.NAME_SEPARATOR_CHAR); + + private static final long serialVersionUID = 1L; + + // private static final Logger LOGGER = LoggerFactory.getLogger(UniqueName.class); + + public static Comparator ALPHA_ORDER = new Comparator() + { + + @Override + public int compare(final UniqueName uniqueName1, final UniqueName uniqueName2) + { + + return ComparisonChain.start().compare(uniqueName1.getFullName(), uniqueName2.getFullName()).result(); + } + + }; + + private static AtomicInteger __TemporaryLocalNameCounter = new AtomicInteger(1); + + private final String _Namespace; + + private final String _LocalName; + + private String _FullName; + + private Integer _HashCode; + + public UniqueName(final String uniqueNameString) + { + + if (StringUtils.isEmpty(uniqueNameString) || uniqueNameString.equals(UniqueName.NAME_SEPARATOR)) + { + _Namespace = ""; + _LocalName = ""; + } + else if (uniqueNameString.endsWith(UniqueName.NAME_SEPARATOR)) + { + _Namespace = uniqueNameString.substring(0, uniqueNameString.length() - 1); + _LocalName = ""; + } + else + { + final int lastSeparator = uniqueNameString.lastIndexOf(UniqueName.NAME_SEPARATOR_CHAR); + + if (lastSeparator < 1) + { + _Namespace = uniqueNameString; + _LocalName = ""; + } + else + { + _Namespace = uniqueNameString.substring(0, lastSeparator); + _LocalName = uniqueNameString.substring(lastSeparator + 1); + } + } + } + + public UniqueName(final String namespace, final String localName) + { + + _Namespace = (namespace != null) ? namespace : ""; + _LocalName = (localName != null) ? localName : ""; + } + + public UniqueName(final String part1, final String part2, final String... otherParts) + { + + this(part1 + NAME_SEPARATOR + part2 + NAME_SEPARATOR + StringUtils.join(otherParts, NAME_SEPARATOR_CHAR)); + } + + public UniqueName(final UniqueName namespace, final String localName) + { + + this((namespace != null) ? namespace.toString() : null, localName); + } + + public UniqueName(final URI uri) + { + + this(StringUtils.stripStart(uri.getPath(), "/")); + } + + public static UniqueName createTemporaryUniqueName() + { + + return new UniqueName("temp" + UniqueName.NAME_SEPARATOR + "Temp" + __TemporaryLocalNameCounter.getAndIncrement()); + } + + @Override + public final int compareTo(final UniqueName other) + { + + return UniqueName.ALPHA_ORDER.compare(this, other); + } + + public boolean equalNamespaces(final UniqueName otherUniqueName) + { + + if (this == otherUniqueName) + { + return true; + } + if (otherUniqueName == null) + { + return false; + } + if (_Namespace == null) + { + if (otherUniqueName._Namespace != null) + { + return false; + } + } + else if (!_Namespace.equals(otherUniqueName._Namespace)) + { + return false; + } + return true; + } + + @Override + public boolean equals(final Object other) + { + + if (this == other) + { + return true; + } + if (other == null) + { + return false; + } + if (getClass() != other.getClass()) + { + return false; + } + final UniqueName otherUniqueName = (UniqueName) other; + if (_LocalName == null) + { + if (otherUniqueName._LocalName != null) + { + return false; + } + } + else if (!_LocalName.equals(otherUniqueName._LocalName)) + { + return false; + } + if (_Namespace == null) + { + if (otherUniqueName._Namespace != null) + { + return false; + } + } + else if (!_Namespace.equals(otherUniqueName._Namespace)) + { + return false; + } + return true; + } + + public String getLocalName() + { + + return _LocalName; + } + + /** + * Returns the forward-slash separated namespace (path), which along with the schema's (local) name, uniquely identifies the schema within the WRML runtime. + * + * @return the forward slash-separated (/) namespace (path) string without a leading or a trailing forward slash. + */ + public String getNamespace() + { + + return _Namespace; + } + + /** + *

+ * Returns the full name of this {@link UniqueName}, which is the namespace part prepended (separated with a forward slash) to the local name part. + *

+ * + * @return namespace + / + localName + */ + public String getFullName() + { + + if (_FullName == null) + { + final String namespace = getNamespace(); + final String localName = getLocalName(); + + if (namespace != null && localName != null) + { + String suffix = localName.trim(); + if (!suffix.isEmpty()) + { + suffix = UniqueName.NAME_SEPARATOR + suffix; + } + + _FullName = namespace + suffix; + } + else if (namespace == null && localName == null) + { + _FullName = ""; + } + else if (namespace == null && localName != null) + { + _FullName = localName; + } + else + { + _FullName = namespace; + } + + } + return _FullName; + + } + + @Override + public int hashCode() + { + + if (_HashCode == null) + { + _HashCode = Objects.hashCode(this._LocalName, this._Namespace, this._FullName); + } + + return _HashCode; + } + + @Override + public String toString() + { + + return getFullName(); + } + +} diff --git a/core/src/main/java/org/wrml/util/WildCardPrefixTree.java b/core/src/main/java/org/wrml/util/WildCardPrefixTree.java new file mode 100644 index 0000000..183838e --- /dev/null +++ b/core/src/main/java/org/wrml/util/WildCardPrefixTree.java @@ -0,0 +1,138 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.util; + +import java.util.LinkedList; +import java.util.List; +import java.util.Set; + +public class WildCardPrefixTree extends PrefixTreeBase +{ + public static final String WILDCARD = "*"; + + private final PrefixTreeNode head; + + private final boolean allowNonterminalWildcards; + + public WildCardPrefixTree(final boolean allowNonterminalWildcards) + { + head = new PrefixTreeNode<>(); + this.allowNonterminalWildcards = allowNonterminalWildcards; + } + + public void setPath(final String path, final T value) + { + PrefixTreeNode node = head; + final List segments = segmentPath(path); + + for (int i = 0; i < segments.size(); i++) + { + final String segment = segments.get(i); + + // is this the right place for this? + if (!allowNonterminalWildcards && segment.equals(WildCardPrefixTree.WILDCARD) + && (i + 1) < segments.size()) + { + throw new RuntimeException( + "Bad path provided to construct a mapping with only terminal wildcards.\n" + path); + } + + if (node.hasLink(segment)) + { + node = node.getLink(segment); + } + else + { + node = node.addLink(segment, null); + } + } + + node.setValue(value); + } + + public String deepPrint() + { + final Set paths = head.deepPrint('/'); + final StringBuilder sb = new StringBuilder(); + for (final String p : paths) + { + sb.append(p).append('\n'); + } + return sb.toString(); + } + + @Override + public T matchPath(final String path) + { + final List segments = segmentPath(path); + final List captures = new LinkedList(); + return matchPathExtraWilds(head, segments, captures); + } + + /** + * This method will allow a capture group to be used for more than one segment, + * but only at the end of the match, and only as a last resort. + * + * @param path + * the uri path, complete with /, to match + * @param captures + * a List of Strings in which to record wildcard matches + * @return the List of Services at the final node which matched the path + */ + private T matchPathExtraWilds(final PrefixTreeNode node, final List segments, + final List captures) + { + if (segments.isEmpty()) + { + return node.getValue(); + } + + T value = null; + final String segment = segments.remove(0); + + if (node.hasLink(segment)) + { + value = matchPathExtraWilds(node.getLink(segment), segments, captures); + } + + if (null == value) + { + if (node.hasLink(WildCardPrefixTree.WILDCARD)) + { + if (captures != null) + { + captures.add(segment); + captures.addAll(segments); + } + + value = node.getLink(WildCardPrefixTree.WILDCARD).getValue(); + } + } + + segments.add(0, segment); + + return value; + } +} diff --git a/core/src/main/java/org/wrml/util/package-info.java b/core/src/main/java/org/wrml/util/package-info.java new file mode 100644 index 0000000..cbb5c57 --- /dev/null +++ b/core/src/main/java/org/wrml/util/package-info.java @@ -0,0 +1,29 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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. + */ +/** + * WRML utilities. + */ +package org.wrml.util; + diff --git a/core/src/main/resources/headers/JavaFileHeader-latest.txt b/core/src/main/resources/headers/JavaFileHeader-latest.txt new file mode 100644 index 0000000..2212b4b --- /dev/null +++ b/core/src/main/resources/headers/JavaFileHeader-latest.txt @@ -0,0 +1,22 @@ +WRML - Web Resource Modeling Language + __ __ ______ __ __ __ +/\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ +\ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +http://www.wrml.org + +Copyright (C) ${year} Mark Masse (OSS project WRML.org) + +Licensed 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. diff --git a/core/src/main/resources/headers/JavaFileHeader-version-00.txt b/core/src/main/resources/headers/JavaFileHeader-version-00.txt new file mode 100644 index 0000000..f792205 --- /dev/null +++ b/core/src/main/resources/headers/JavaFileHeader-version-00.txt @@ -0,0 +1,22 @@ +WRML - Web Resource Modeling Language + __ __ ______ __ __ __ +/\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ +\ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +http://www.wrml.org + +Copyright 2012 Mark Masse (OSS project WRML.org) + +Licensed 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. diff --git a/core/src/main/resources/headers/JavaFileHeader-version-01.txt b/core/src/main/resources/headers/JavaFileHeader-version-01.txt new file mode 100644 index 0000000..2212b4b --- /dev/null +++ b/core/src/main/resources/headers/JavaFileHeader-version-01.txt @@ -0,0 +1,22 @@ +WRML - Web Resource Modeling Language + __ __ ______ __ __ __ +/\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ +\ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +http://www.wrml.org + +Copyright (C) ${year} Mark Masse (OSS project WRML.org) + +Licensed 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. diff --git a/core/src/main/resources/headers/JavaFileHeader-version-02.txt b/core/src/main/resources/headers/JavaFileHeader-version-02.txt new file mode 100644 index 0000000..2552fba --- /dev/null +++ b/core/src/main/resources/headers/JavaFileHeader-version-02.txt @@ -0,0 +1,22 @@ +WRML - Web Resource Modeling Language + __ __ ______ __ __ __ +/\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ +\ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +http://www.wrml.org + +Copyright (C) 2013 Mark Masse (OSS project WRML.org) + +Licensed 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. diff --git a/core/src/main/resources/org/wrml/runtime/format/text/html/index.html b/core/src/main/resources/org/wrml/runtime/format/text/html/index.html new file mode 100644 index 0000000..3461854 --- /dev/null +++ b/core/src/main/resources/org/wrml/runtime/format/text/html/index.html @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/src/main/resources/wrml.json b/core/src/main/resources/wrml.json new file mode 100644 index 0000000..71c002a --- /dev/null +++ b/core/src/main/resources/wrml.json @@ -0,0 +1,48 @@ +{ + + "context" : + { + "modelCache" : + { + "name":"Cache", + "implementation":"org.wrml.runtime.service.cache.ShardedModelCache" + }, + + "schemaLoader" : + { + + "factory" : "org.wrml.runtime.schema.DefaultSchemaLoaderFactory", + "schemaClassRootDirectory":"/etc/wrml/schemas" + }, + + "serviceLoader" : + { + "services" : + [ + { + "name" : "File", + "implementation" : "org.wrml.runtime.service.file.FileSystemService", + "settings" : + { + "rootDirectory" : "/etc/wrml/models" + } + }, + { + "name" : "ApiDesigner", + "implementation" : "org.wrml.runtime.service.apiDesigner.ApiDesignerService", + "settings" : + { + "apiUri" : "http://design.api.wrml.org" + } + } + + ], + + "serviceMapping" : + { + "http://schema.api.wrml.org/org/wrml/runtime/service/apiDesigner/*" : "ApiDesigner", + "*" : "File" + } + } + } +} \ No newline at end of file diff --git a/core/src/test/java/org/wrml/model/rest/ResourceOptionsTest.java b/core/src/test/java/org/wrml/model/rest/ResourceOptionsTest.java new file mode 100644 index 0000000..09d59cb --- /dev/null +++ b/core/src/test/java/org/wrml/model/rest/ResourceOptionsTest.java @@ -0,0 +1,134 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.rest; + +import org.apache.commons.lang3.EnumUtils; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.BlockJUnit4ClassRunner; +import org.mockito.Mockito; +import org.wrml.runtime.Context; +import org.wrml.runtime.Engine; +import org.wrml.runtime.EngineTest; +import org.wrml.runtime.rest.Status; +import org.wrml.runtime.rest.UriTemplate; + +import java.util.ArrayList; +import java.util.List; + +import junit.framework.TestCase; + +/** + * Test for {@link ResourceOptions} + *

+ * //TODO: mark as @IntegrationTest + */ +@RunWith(BlockJUnit4ClassRunner.class) +public class ResourceOptionsTest extends TestCase +{ + + /** class under test */ + private ResourceOptions resourceOptions; + + private static Context context; + + @BeforeClass + public static void beforeClass() throws Exception + { + final Engine engine = EngineTest.createTestEngine(); + context = engine.getContext(); + } + + @AfterClass + public static void afterClass() + { + context = null; + } + + @Before + public void setUp() throws Exception + { + resourceOptions = context.newModel(ResourceOptions.class); + } + + @After + public void tearDown() throws Exception + { + resourceOptions = null; + } + + @Test + public void testContextPrerequisite() + { + assertNotNull(context); + } + + @Test + public void testGetSetStatus() + { + Status mockStatus = Status.ACCEPTED; + resourceOptions.setStatus(mockStatus); + Status otherStatus = resourceOptions.getStatus(); + assertEquals(mockStatus, otherStatus); + assertSame(mockStatus, otherStatus); + } + + @Test + public void testGetSetAllow() + { + List mock = new ArrayList(); + mock.addAll(EnumUtils.getEnumList(Method.class)); + resourceOptions.setAllow(mock); + List other = resourceOptions.getAllow(); + assertEquals(mock.size(), other.size()); + assertEquals(mock, other); + } + + @Test + public void testGetSetContentType() + { + String mock = "abc"; + resourceOptions.setContentType(mock); + String other = resourceOptions.getContentType(); + assertTrue(mock.equals(other)); + assertSame(mock, other); + } + + @Test + public void testGetSetUriTemplate() + { + UriTemplate mock = Mockito.mock(UriTemplate.class); + resourceOptions.setUriTemplate(mock); + UriTemplate other = resourceOptions.getUriTemplate(); + assertTrue(mock.equals(other)); + assertSame(mock, other); + } + +} diff --git a/core/src/test/java/org/wrml/model/rest/ResourceTemplateTest.java b/core/src/test/java/org/wrml/model/rest/ResourceTemplateTest.java new file mode 100644 index 0000000..75982de --- /dev/null +++ b/core/src/test/java/org/wrml/model/rest/ResourceTemplateTest.java @@ -0,0 +1,66 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.model.rest; + +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +import org.wrml.runtime.rest.ApiNavigator; +import org.wrml.runtime.rest.Resource; +import org.wrml.runtime.rest.ResourceTest; + +/** + * Test for {@link ResourceTemplate}. + *

+ * Static method(s) are helpers for other test classes. + */ +public class ResourceTemplateTest +{ + + /** @return a {@link Mock} {@link ResourceTemplate} with a {@link List} of {@link Resource} children. */ + public static ResourceTemplate getMock() + { + final ResourceTemplate mockResourceTemplate = mock(ResourceTemplate.class); + final UUID mockUUID = UUID.randomUUID(); + final ApiNavigator mockApiNavigator = mock(ApiNavigator.class); + final Resource mockResource = ResourceTest.getMock(mockApiNavigator, mockResourceTemplate, null); + final List mockResourceTemplateChildren = new ArrayList(); + + mockResourceTemplateChildren.add(mock(ResourceTemplate.class)); + + when(mockApiNavigator.getResource(any(UUID.class))).thenReturn(mockResource); + when(mockResourceTemplate.getChildren()).thenReturn(mockResourceTemplateChildren); + when(mockResourceTemplate.getUniqueId()).thenReturn(mockUUID); + + return mockResourceTemplate; + } + +} diff --git a/core/src/test/java/org/wrml/runtime/ContextTest.java b/core/src/test/java/org/wrml/runtime/ContextTest.java new file mode 100644 index 0000000..d5f5a45 --- /dev/null +++ b/core/src/test/java/org/wrml/runtime/ContextTest.java @@ -0,0 +1,498 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import org.junit.After; +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.BlockJUnit4ClassRunner; +import org.wrml.model.Model; +import org.wrml.model.format.Format; +import org.wrml.model.rest.Api; +import org.wrml.model.rest.Document; +import org.wrml.model.rest.Link; +import org.wrml.model.rest.LinkRelation; +import org.wrml.model.rest.LinkTemplate; +import org.wrml.model.rest.ResourceTemplate; +import org.wrml.model.schema.BooleanValue; +import org.wrml.model.schema.Choices; +import org.wrml.model.schema.DateValue; +import org.wrml.model.schema.DoubleValue; +import org.wrml.model.schema.IntegerValue; +import org.wrml.model.schema.ListValue; +import org.wrml.model.schema.LongValue; +import org.wrml.model.schema.ModelValue; +import org.wrml.model.schema.Schema; +import org.wrml.model.schema.SingleSelectValue; +import org.wrml.model.schema.Slot; +import org.wrml.model.schema.Syntax; +import org.wrml.model.schema.TextValue; +import org.wrml.model.schema.Value; +import org.wrml.runtime.format.SystemFormat; +import org.wrml.runtime.rest.ApiLoader; +import org.wrml.runtime.rest.ApiNavigator; +import org.wrml.runtime.rest.Resource; +import org.wrml.runtime.rest.ResourceTest; +import org.wrml.runtime.rest.SystemApi; +import org.wrml.runtime.rest.SystemLinkRelation; +import org.wrml.runtime.schema.SchemaLoader; +import org.wrml.runtime.syntax.SystemSyntax; + +import java.io.IOException; +import java.net.URI; + +import junit.framework.TestCase; + +@RunWith(BlockJUnit4ClassRunner.class) +public class ContextTest extends TestCase +{ + + public static final String TEST_RESOURCE_PATH = "/org/wrml/test/"; + + public static final URI WRML_SCHEMA_SCREEN_URI = SystemApi.Schema.getUri().resolve(TEST_RESOURCE_PATH + "Screen"); + + public static final URI WRML_RELATION_A_URI = SystemApi.LinkRelation.getUri().resolve(TEST_RESOURCE_PATH + "a"); + + public static final URI WRML_RELATION_B_URI = SystemApi.LinkRelation.getUri().resolve(TEST_RESOURCE_PATH + "b"); + + public static final URI WRML_RELATION_C_URI = SystemApi.LinkRelation.getUri().resolve(TEST_RESOURCE_PATH + "c"); + + public static final URI WRML_API_SCREEN_EXAMPLE_URI = URI.create("http://screen.example.api.wrml.org"); + + public static final URI WRML_SCREEN_AGGREGATE_URI = WRML_API_SCREEN_EXAMPLE_URI.resolve("/screens/1/2/3"); + + public static final URI WRML_SCHEMA_A_URI = SystemApi.Schema.getUri().resolve(TEST_RESOURCE_PATH + "A"); + + public static final URI WRML_SCHEMA_B_URI = SystemApi.Schema.getUri().resolve(TEST_RESOURCE_PATH + "B"); + + public static final URI WRML_SCHEMA_C_URI = SystemApi.Schema.getUri().resolve(TEST_RESOURCE_PATH + "C"); + + public static final URI WRML_CHOICES_WRML_LETTERS_URI = SystemApi.Choices.getUri().resolve(TEST_RESOURCE_PATH + "WrmlLetters"); + + public static final URI WRML_CHOICES_ALPHABET_URI = SystemApi.Choices.getUri().resolve(TEST_RESOURCE_PATH + "Alphabet"); + + private Context _Context; + + public static M getModelResource(final Context context, final URI uri, final Dimensions dimensions) throws IOException + { + final ApiLoader apiLoader = context.getApiLoader(); + final Keys keys = apiLoader.buildDocumentKeys(uri, dimensions.getSchemaUri()); + return context.getModel(keys, dimensions); + } + + /** + * A factory method intended to provide a test {@link Context} to other {@code *Test} classes for integration tests. + * + * @return a {@link Context} (via {@link EngineTest#createTestEngine()}) for integration tests. + * @throws IOException + */ + public static Context createTestContext() throws IOException + { + return EngineTest.createTestEngine().getContext(); + } + + @Before + @Override + public void setUp() throws Exception + { + _Context = createTestContext(); + } + + @After + @Override + public void tearDown() throws Exception + { + _Context = null; + } + + @Test(expected = ContextException.class) + public void initParamConfigNullFailure() + { + + final Context context = new DefaultContext(); + context.init(null); + } + + @Test + public void contextNotNull() + { + + assertNotNull(_Context); + } + + @Test + public void configNotNull() + { + + assertNotNull(_Context.getConfig()); + } + + @Test + public void apiLoaderNotNull() + { + + assertNotNull(_Context.getApiLoader()); + } + + @Test + public void formatLoaderNotNull() + { + + assertNotNull(_Context.getFormatLoader()); + } + + @Test + public void modelBuilderNotNull() + { + + assertNotNull(_Context.getModelBuilder()); + } + + @Test + public void schemaLoaderNotNull() + { + + assertNotNull(_Context.getSchemaLoader()); + } + + @Test + public void serviceLoaderNotNull() + { + + assertNotNull(_Context.getServiceLoader()); + } + + @Test + public void syntaxLoaderNotNull() + { + + assertNotNull(_Context.getSyntaxLoader()); + } + + @Test + public void cacheIsNull() + { + + assertNull(_Context.getModelCache()); + } + + @Test + public void newModelSyntaxNotNull() + { + + assertNotNull(_Context.newModel(Syntax.class)); + } + + @Test + public void newModelSchemaNotNull() + { + + assertNotNull(_Context.newModel(Schema.class)); + } + + @Test + public void newModelSlotNotNull() + { + + assertNotNull(_Context.newModel(Slot.class)); + } + + @Test + public void newModelTextValueNotNull() + { + + assertNotNull(_Context.newModel(TextValue.class)); + } + + @Test + public void newModelBooleanValueNotNull() + { + + assertNotNull(_Context.newModel(BooleanValue.class)); + } + + @Test + public void newModelIntegerValueNotNull() + { + + assertNotNull(_Context.newModel(IntegerValue.class)); + } + + @Test + public void newModelModelValueNotNull() + { + + assertNotNull(_Context.newModel(ModelValue.class)); + } + + @Test + public void newModelListValueNotNull() + { + + assertNotNull(_Context.newModel(ListValue.class)); + } + + @Test + public void newModelDateValueNotNull() + { + + assertNotNull(_Context.newModel(DateValue.class)); + } + + @Test + public void newModelDoubleValueNotNull() + { + + assertNotNull(_Context.newModel(DoubleValue.class)); + } + + @Test + public void newModelLongValueNotNull() + { + + assertNotNull(_Context.newModel(LongValue.class)); + } + + @Test + public void newModelSingleSelectValueNotNull() + { + + assertNotNull(_Context.newModel(SingleSelectValue.class)); + } + + @Test + public void newModelChoicesNotNull() + { + + assertNotNull(_Context.newModel(Choices.class)); + } + + @Test(expected = ModelBuilderException.class) + public void newModelValueAbstractFailure() + { + // Value directly extends Abstract (marking it as an "abstract" interface), which means that it is illegal to create new instances. + _Context.newModel(Value.class); + } + + @Test + public void newModelApiNotNull() + { + + assertNotNull(_Context.newModel(Api.class)); + } + + @Test + public void newModelLinkRelationNotNull() + { + + assertNotNull(_Context.newModel(LinkRelation.class)); + } + + @Test + public void newModelLinkTemplateNotNull() + { + + assertNotNull(_Context.newModel(LinkTemplate.class)); + } + + @Test + public void newModelResourceTemplateNotNull() + { + + assertNotNull(_Context.newModel(ResourceTemplate.class)); + } + + @Test + public void newModelLinkNotNull() + { + + assertNotNull(_Context.newModel(Link.class)); + } + + @Test + public void newModelFormatNotNull() + { + + assertNotNull(_Context.newModel(Format.class)); + } + + @Test + public void getModelSystemSchemaSchema() + { + + final SchemaLoader schemaLoader = _Context.getSchemaLoader(); + final URI uri = schemaLoader.getSchemaSchemaUri(); + final Keys keys = new KeysBuilder().addKey(schemaLoader.getDocumentSchemaUri(), uri).toKeys(); + final Dimensions dimensions = schemaLoader.getSchemaDimensions(); + + assertNotNull(_Context.getModel(keys, dimensions)); + assertTrue(_Context.getModel(keys, dimensions) instanceof Schema); + assertEquals(_Context.getModel(keys, dimensions), _Context.getModel(keys, dimensions)); + assertTrue(_Context.getModel(keys, dimensions) == _Context.getModel(keys, dimensions)); + assertEquals(_Context.getModel(keys, dimensions).getSchemaUri(), dimensions.getSchemaUri()); + assertEquals(((Document) _Context.getModel(keys, dimensions)).getUri(), uri); + + assertNotNull(_Context.getModel(keys, dimensions).toString()); + assertNotNull(_Context.getModel(keys, dimensions).getKeys()); + } + + @Test + public void getModelSystemLinkRelationApi() + { + + final SchemaLoader schemaLoader = _Context.getSchemaLoader(); + final URI uri = SystemApi.LinkRelation.getUri(); + final Keys keys = new KeysBuilder().addKey(schemaLoader.getDocumentSchemaUri(), uri).toKeys(); + final Dimensions dimensions = schemaLoader.getApiDimensions(); + + assertNotNull(_Context.getModel(keys, dimensions)); + assertTrue(_Context.getModel(keys, dimensions) instanceof Api); + assertEquals(_Context.getModel(keys, dimensions), _Context.getModel(keys, dimensions)); + assertTrue(_Context.getModel(keys, dimensions) == _Context.getModel(keys, dimensions)); + assertEquals(_Context.getModel(keys, dimensions).getSchemaUri(), dimensions.getSchemaUri()); + assertEquals(((Document) _Context.getModel(keys, dimensions)).getUri(), uri); + + assertNotNull(_Context.getModel(keys, dimensions).toString()); + assertNotNull(_Context.getModel(keys, dimensions).getKeys()); + + } + + @Test + public void getModelSystemFormatJson() + { + + final SchemaLoader schemaLoader = _Context.getSchemaLoader(); + final URI uri = SystemFormat.json.getFormatUri(); + final Keys keys = new KeysBuilder().addKey(schemaLoader.getDocumentSchemaUri(), uri).toKeys(); + final Dimensions dimensions = schemaLoader.getFormatDimensions(); + + assertNotNull(_Context.getModel(keys, dimensions)); + assertTrue(_Context.getModel(keys, dimensions) instanceof Format); + assertEquals(_Context.getModel(keys, dimensions), _Context.getModel(keys, dimensions)); + assertTrue(_Context.getModel(keys, dimensions) == _Context.getModel(keys, dimensions)); + assertEquals(_Context.getModel(keys, dimensions).getSchemaUri(), dimensions.getSchemaUri()); + assertEquals(((Document) _Context.getModel(keys, dimensions)).getUri(), uri); + + assertNotNull(_Context.getModel(keys, dimensions).toString()); + assertNotNull(_Context.getModel(keys, dimensions).getKeys()); + + } + + // TODO: Make this work + @Test + public void getModelSystemSyntaxUuid() + { + + final SchemaLoader schemaLoader = _Context.getSchemaLoader(); + final URI uri = SystemSyntax.UUID.getSyntaxUri(); + final Keys keys = new KeysBuilder().addKey(schemaLoader.getDocumentSchemaUri(), uri).toKeys(); + final Dimensions dimensions = new DimensionsBuilder().setSchemaUri(schemaLoader.getTypeUri(Syntax.class)).toDimensions(); + + assertNotNull(_Context.getModel(keys, dimensions)); + assertTrue(_Context.getModel(keys, dimensions) instanceof Syntax); + assertEquals(_Context.getModel(keys, dimensions), _Context.getModel(keys, dimensions)); + assertTrue(_Context.getModel(keys, dimensions) == _Context.getModel(keys, dimensions)); + assertEquals(_Context.getModel(keys, dimensions).getSchemaUri(), dimensions.getSchemaUri()); + assertEquals(((Document) _Context.getModel(keys, dimensions)).getUri(), uri); + + assertNotNull(_Context.getModel(keys, dimensions).toString()); + assertNotNull(_Context.getModel(keys, dimensions).getKeys()); + + } + + @Test + public void getModelSystemLinkRelationSelf() + { + + final SchemaLoader schemaLoader = _Context.getSchemaLoader(); + final URI uri = SystemLinkRelation.self.getUri(); + final Keys keys = new KeysBuilder().addKey(schemaLoader.getDocumentSchemaUri(), uri).toKeys(); + final Dimensions dimensions = schemaLoader.getLinkRelationDimensions(); + + assertNotNull(_Context.getModel(keys, dimensions)); + assertTrue(_Context.getModel(keys, dimensions) instanceof LinkRelation); + assertEquals(_Context.getModel(keys, dimensions), _Context.getModel(keys, dimensions)); + assertTrue(_Context.getModel(keys, dimensions) == _Context.getModel(keys, dimensions)); + assertEquals(_Context.getModel(keys, dimensions).getSchemaUri(), dimensions.getSchemaUri()); + assertEquals(((Document) _Context.getModel(keys, dimensions)).getUri(), uri); + + assertNotNull(_Context.getModel(keys, dimensions).toString()); + assertNotNull(_Context.getModel(keys, dimensions).getKeys()); + + } + + @Test(expected = ContextException.class) + public void testOptionsModelNull() + { + _Context.optionsModel(null); + fail("expected ContextException"); + } + + /** + * Test for {@link Context#optionsModel(Model)}. + *

+ * Without the call to {@link #createTestContext()}, this could be a self-contained unit test. + */ + @Test + public void testOptionsModel() throws Exception + { + DefaultContext context = (DefaultContext) createTestContext(); + ApiLoader mockApiLoader = mock(ApiLoader.class); + ApiNavigator mockApiNavigator = mock(ApiNavigator.class); + Model mockModel = mock(Model.class); + Resource mockResource = ResourceTest.getMock(mockApiNavigator, null, null); + URI mockUri = URI.create("mock"); + + when(mockApiLoader.getParentApiNavigator(mockUri)).thenReturn(mockApiNavigator); + when(mockApiNavigator.getResource(mockUri)).thenReturn(mockResource); + when(mockModel.getSchemaUri()).thenReturn(mockUri); + + context._ApiLoader = mockApiLoader; + + Model result = context.optionsModel(mockModel); + assertNotNull(result); + } + + @Test + @Ignore + public void testOptionsNodeLevel() + { + fail("TODO: WRML-484"); // TODO: WRML-484 + } + + @Test + @Ignore + public void testOptionsRootLevel() + { + fail("TODO: WRML-483"); // TODO: WRML-483 + } + +} diff --git a/core/src/test/java/org/wrml/runtime/EngineTest.java b/core/src/test/java/org/wrml/runtime/EngineTest.java new file mode 100644 index 0000000..7e182da --- /dev/null +++ b/core/src/test/java/org/wrml/runtime/EngineTest.java @@ -0,0 +1,141 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import java.io.IOException; + +public class EngineTest +{ + + /** + * NOTE: This is a JVM-based (e.g jar-contained) resource path. + */ + public static final String WRML_CONFIG_RESOURCE = "resources/test/wrml.json"; + + public static final String WRML_CONFIG_API_RESOURCE = "resources/test/wrml-api.json"; + + + + public static final Engine createTestEngine() throws IOException + { + return createTestEngine(EngineTest.class, WRML_CONFIG_RESOURCE); + } + + public static final Engine createTestEngine(final Class forClass, final String wrmlConfigResource) throws IOException + { + + final Engine engine = new DefaultEngine(); + final EngineConfiguration config = EngineConfiguration.load(forClass, wrmlConfigResource); + engine.init(config); + return engine; + } + + public static final Engine createTestEngine(final EngineConfiguration config) + { + final Engine engine = new DefaultEngine(); + engine.init(config); + return engine; + } + + private Engine _Engine; + + @Before + public void setUp() throws Exception + { + _Engine = EngineTest.createTestEngine(); + } + + @After + public void tearDown() throws Exception + { + + _Engine = null; + } + + @Test(expected = EngineException.class) + public void initParamConfigNullFailure() + { + + final Engine engine = new DefaultEngine(); + engine.init(null); + } + + @Test + public void engineNotNull() + { + Assert.assertNotNull(_Engine); + } + + + @Test + public void contextNotNull() + { + + final Context context = _Engine.getContext(); + Assert.assertNotNull(context); + + } + + @Test + public void configNotNull() + { + + final EngineConfiguration config = _Engine.getConfig(); + Assert.assertNotNull(config); + } + + + + @Test + public void reloadContextResultNotNull() + { + + final Context reloadedContext = _Engine.reloadContext(); + Assert.assertNotNull(reloadedContext); + } + + @Test + public void reloadContextResultNotEqual() + { + + final Context originalContext = _Engine.getContext(); + final Context reloadedContext = _Engine.reloadContext(); + + Assert.assertNotEquals(originalContext, reloadedContext); + } + + @Test + public void testWithApi() throws IOException + { + _Engine = createTestEngine(EngineTest.class, WRML_CONFIG_API_RESOURCE); + Assert.assertNotNull(_Engine); + } +} diff --git a/core/src/test/java/org/wrml/runtime/format/FormatTestBase.java b/core/src/test/java/org/wrml/runtime/format/FormatTestBase.java new file mode 100644 index 0000000..561b924 --- /dev/null +++ b/core/src/test/java/org/wrml/runtime/format/FormatTestBase.java @@ -0,0 +1,258 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format; + +import junit.framework.TestCase; +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.BlockJUnit4ClassRunner; +import org.mockito.Mockito; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.Model; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.Context; +import org.wrml.runtime.DefaultContext; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Keys; +import org.wrml.runtime.schema.SchemaLoader; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.net.URI; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +/** + * Base {@link TestCase} for testing {@link Formatter} implementations using {@link Mockito} mocks. + * + * @author JJ Zabkar + */ +@RunWith(BlockJUnit4ClassRunner.class) +public abstract class FormatTestBase extends TestCase +{ + + protected final String _BadInputData = ">}]<[{this is badly formed data. fo reals."; + + private final Logger logger = LoggerFactory.getLogger(getClass()); + + protected Formatter _Formatter; + + protected Context _MockContext; + + protected SchemaLoader _MockSchemaLoader; + + protected URI _MockSchemaSchemaUri; + + protected Keys _MockKeys; + + protected Dimensions _MockDimensions; + + protected abstract Formatter getFormatter(); + + /** + * {@code @Override} to set your own {@link Model} + * + * @return a {@code Model} used for round-trip serialization/deserialization + */ + protected Model getMockSchema() + { + + Model model = Mockito.mock(Schema.class); + + when(model.getContext()).thenReturn(_MockContext); + return model; + } + + @Before + public void setUp() throws Exception + { + + super.setUp(); + _MockContext = mock(DefaultContext.class); + _MockSchemaLoader = mock(SchemaLoader.class); + _MockSchemaSchemaUri = URI.create("http://mock.schema.schema/uri"); + _MockKeys = mock(Keys.class); + _MockDimensions = mock(Dimensions.class); + + when(_MockSchemaLoader.getSchemaSchemaUri()).thenReturn(_MockSchemaSchemaUri); + when(_MockSchemaLoader.getApiSchemaUri()).thenReturn(_MockSchemaSchemaUri); + when(_MockDimensions.getSchemaUri()).thenReturn(_MockSchemaSchemaUri); + when(_MockContext.getSchemaLoader()).thenReturn(_MockSchemaLoader); + + _Formatter = getFormatter(); + assertNotNull("required: initialize _Formatter in getFormatter()", _Formatter); + + } + + @Test + public void testFormatterConstructor() + { + + assertNotNull(_Formatter); + } + + @Test + public void testGetContext() + { + + assertNotNull(_Formatter.getContext()); + assertEquals(_MockContext, _Formatter.getContext()); + } + + @Test + public void testGetFormatUri() + { + + assertNotNull(_Formatter.getFormatUri()); + } + + @Test + public void testIsApplicableTo() + { + // happy path + assertTrue(_Formatter.isApplicableTo(_MockSchemaSchemaUri)); + // null check + assertFalse("a null URI should evaluate to 'false'", _Formatter.isApplicableTo(null)); + // just invalid + assertFalse("an invalid URI should evaluate to 'false'", _Formatter.isApplicableTo(URI.create("http://a.b.c"))); + } + + @Ignore // The sub classes throw different errors + @Test(expected = UnsupportedOperationException.class) + public void testReadModelException() throws ModelReadingException + { + + _MockDimensions = mock(Dimensions.class); + when(_MockDimensions.getSchemaUri()).thenReturn(null); + _Formatter.readModel(null, _MockKeys, _MockDimensions); + fail("Should have thrown UnsupportedOperationException (see the Formatter API)"); + } + + /** + * This test should not actually invoke the underlying {@link Formatter}'s marshaller. Mock the Formatter to inject + * required contexts. + * + * @throws ModelReadingException - optional upon @Override + */ + @Test + public void testReadModel() throws ModelReadingException + { + + try + { + Model mockModel = getMockSchema(); + Model result = getFormatter().readModel(mock(InputStream.class), _MockKeys, _MockDimensions); + assertNotNull(result); + assertEquals(mockModel, result); + } + catch (Exception e) + { + fail("This test should not actually invoke the underlying Fomatter's marshaller. Might need to @Override this test with a mock impl that is a pure unit test. Error: " + + e.getMessage()); + } + } + + /** + * Test for {@code _BadInputData} and {@code readModel()}. + * + * @throws ModelReadingException - expected + */ + @Ignore // The sub classes throw different errors + @Test(expected = ModelReadingException.class) + public void testReadModelBadData() throws ModelReadingException + { + + InputStream in = new ByteArrayInputStream(_BadInputData.getBytes()); + _Formatter.readModel(in, _MockKeys, _MockDimensions); + fail("Should have thrown UnsupportedOperationException (see the Formatter API)"); + } + + @Test + public void testWriteModel() throws ModelWritingException + { + + ByteArrayOutputStream out = new ByteArrayOutputStream(); + Model obj = getMockSchema(); + _Formatter.writeModel(out, obj, null); + assertNotNull(out); + logger.debug("testWriteModel: {}", out.toString()); + assertTrue(out.toString().length() > 0); + } + + @Test(expected = ModelWritingException.class) + public void testWriteModelException() throws ModelWritingException + { + + Model obj = getMockSchema(); + _Formatter.writeModel(null, obj, null); + fail("Should have thrown ModelWritingException (see the Formatter API)"); + } + + @Ignore // The sub classes throw different errors + @Test(expected = UnsupportedOperationException.class) + public void testWriteModelNotSchemaException() throws ModelWritingException + { + + Model notSchema = mock(Model.class); + _Formatter.writeModel(null, notSchema, null); + } + + @Test + public void testRoundTrip() throws ModelWritingException, ModelReadingException + { + + ByteArrayOutputStream out = new ByteArrayOutputStream(); + ByteArrayOutputStream out2 = new ByteArrayOutputStream(); + InputStream in = null; + + // 1. create object + Model obj = getMockSchema(); + + // 2. marshal Model to xml using writeModel() + _Formatter.writeModel(out, obj, null); + assertNotNull(out); + String marshalledString1 = new String(out.toByteArray()); + in = new ByteArrayInputStream(out.toByteArray()); + + // 3. unmarshal xml to Model using readModel() + Model unmarshalled = _Formatter.readModel(in, _MockKeys, _MockDimensions); + assertNotNull(unmarshalled); + assertNotSame("should not be the same object", unmarshalled, obj); + + // 4. marshal model2 for String comparison + _Formatter.writeModel(out2, unmarshalled, null); + assertNotNull(out2); + String marshalledString2 = new String(out2.toByteArray()); + assertNotSame("should not be the same String", marshalledString1, marshalledString2); + + } + +} diff --git a/core/src/test/java/org/wrml/runtime/format/application/schema/json/JsonSchemaFormatterTest.java b/core/src/test/java/org/wrml/runtime/format/application/schema/json/JsonSchemaFormatterTest.java new file mode 100644 index 0000000..af94ff0 --- /dev/null +++ b/core/src/test/java/org/wrml/runtime/format/application/schema/json/JsonSchemaFormatterTest.java @@ -0,0 +1,121 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format.application.schema.json; + +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; +import org.mockito.Mockito; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.format.FormatTestBase; +import org.wrml.runtime.format.Formatter; +import org.wrml.runtime.format.FormatterConfiguration; +import org.wrml.runtime.format.SystemFormat; +import org.wrml.runtime.schema.Prototype; + +import java.net.URI; + +import com.fasterxml.jackson.databind.node.ObjectNode; + +/** + * Test for {@link JsonSchemaFormatter} using {@link Mockito} mocks. + * + * @see {@link FormatTestBase} for base {@link Test}s common to all {@link Formatter}s. + */ +public class JsonSchemaFormatterTest extends FormatTestBase +{ + + @Override + @Before + public void setUp() throws Exception + { + + super.setUp(); + JsonSchemaLoader mockJsonSchemaLoader = mock(JsonSchemaLoader.class); + JsonSchema mockJsonSchema = mock(JsonSchema.class); + ObjectNode mockObjectNode = new ObjectNode(null); + Prototype mockPrototype = mock(Prototype.class); + when(this._MockSchemaLoader.getJsonSchemaLoader()).thenReturn(mockJsonSchemaLoader); + when(this._MockSchemaLoader.getPrototype(any(URI.class))).thenReturn(mockPrototype); + when(mockJsonSchemaLoader.load(any(Schema.class))).thenReturn(mockJsonSchema); + when(mockJsonSchema.getRootNode()).thenReturn(mockObjectNode); + when(mockPrototype.isAssignableFrom(any(URI.class))).thenReturn(true); + } + + @Override + protected Formatter getFormatter() + { + + final JsonSchemaFormatter formatter = new JsonSchemaFormatter(); + final FormatterConfiguration formatterConfiguration = new FormatterConfiguration(); + formatterConfiguration.setFormatUri(SystemFormat.json_schema.getFormatUri()); + formatter.init(this._MockContext, formatterConfiguration); + return formatter; + } + + /** + * Overriding since Prototype gets mocked. + */ + @Override + @Test + public void testIsApplicableTo() + { + + Prototype mockPrototype1 = mock(Prototype.class); + Prototype mockPrototype2 = mock(Prototype.class); + when(mockPrototype1.isAssignableFrom(any(URI.class))).thenReturn(true); + when(mockPrototype2.isAssignableFrom(any(URI.class))).thenReturn(false); + + // happy path + when(this._MockSchemaLoader.getPrototype(any(URI.class))).thenReturn(mockPrototype1); + assertTrue(_Formatter.isApplicableTo(_MockSchemaSchemaUri)); + + // still happy (means our method is getting invoked) + when(this._MockSchemaLoader.getPrototype(any(URI.class))).thenReturn(mockPrototype2); + assertFalse(_Formatter.isApplicableTo(_MockSchemaSchemaUri)); + + } + + @Override + @Ignore + @Test + public void testReadModel() + { + // TODO: fix this test + } + + @Test + @Ignore + @Override + public void testRoundTrip() + { + // TODO: fix this test + } +} diff --git a/core/src/test/java/org/wrml/runtime/format/application/schema/json/JsonSchemaLoaderTest.java b/core/src/test/java/org/wrml/runtime/format/application/schema/json/JsonSchemaLoaderTest.java new file mode 100644 index 0000000..19c2d3e --- /dev/null +++ b/core/src/test/java/org/wrml/runtime/format/application/schema/json/JsonSchemaLoaderTest.java @@ -0,0 +1,400 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format.application.schema.json; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.Engine; +import org.wrml.runtime.EngineTest; +import org.wrml.runtime.rest.SystemApi; +import com.fasterxml.jackson.databind.node.ObjectNode; + +import java.io.IOException; +import java.io.InputStream; +import java.net.URI; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentMap; +import org.wrml.model.schema.Slot; +import org.wrml.model.schema.Value; +import org.wrml.runtime.format.application.schema.json.JsonSchema.Definitions.JsonType; +import org.wrml.runtime.format.application.schema.json.JsonSchema.Definitions.PropertyType; +import org.wrml.runtime.format.application.schema.json.JsonSchema.Property; + +//TODO: move to integration test module +public class JsonSchemaLoaderTest +{ + + public static final String TEST_RESOURCE_PACKAGE = "resources/test/"; + + public static final String TEST_RESOURCE_NAMESPACE = "org/wrml/test/"; + + public static final String JSON_SCHEMA_PERSON_UNIQUE_NAME = TEST_RESOURCE_NAMESPACE + "Person"; + + public static final String JSON_SCHEMA_PERSON_RESOURCE_NAME = TEST_RESOURCE_PACKAGE + JSON_SCHEMA_PERSON_UNIQUE_NAME; + + public static final URI JSON_SCHEMA_PERSON_URI = SystemApi.Schema.getUri().resolve("/" + JSON_SCHEMA_PERSON_UNIQUE_NAME); + + public static final String JSON_SCHEMA_IMPORTANT_PERSON_UNIQUE_NAME = TEST_RESOURCE_NAMESPACE + "ImportantPerson"; + + public static final String JSON_SCHEMA_IMPORTANT_PERSON_RESOURCE_NAME = TEST_RESOURCE_PACKAGE + JSON_SCHEMA_IMPORTANT_PERSON_UNIQUE_NAME; + + public static final URI JSON_SCHEMA_IMPORTANT_PERSON_URI = SystemApi.Schema.getUri().resolve("/" + JSON_SCHEMA_IMPORTANT_PERSON_UNIQUE_NAME); + + public static final String JSON_SCHEMA_ADDRESSABLE_PERSON_UNIQUE_NAME = TEST_RESOURCE_NAMESPACE + "AddressablePerson"; + + public static final String JSON_SCHEMA_ADDRESSABLE_PERSON_RESOURCE_NAME = TEST_RESOURCE_PACKAGE + JSON_SCHEMA_ADDRESSABLE_PERSON_UNIQUE_NAME; + + public static final URI JSON_SCHEMA_ADDRESSABLE_PERSON_URI = SystemApi.Schema.getUri().resolve("/" + JSON_SCHEMA_ADDRESSABLE_PERSON_UNIQUE_NAME); + + public static final String JSON_SCHEMA_ADDRESSABLE_PERSON_PROPERTY_NAME = "mailable"; + + public static final String JSON_SCHEMA_BUSINESS_ADDRESS_UNIQUE_NAME = TEST_RESOURCE_NAMESPACE + "BusinessAddress"; + + public static final String JSON_SCHEMA_BUSINESS_ADDRESS_RESOURCE_NAME = TEST_RESOURCE_PACKAGE + JSON_SCHEMA_BUSINESS_ADDRESS_UNIQUE_NAME; + + public static final URI JSON_SCHEMA_BUSINESS_ADDRESS_URI = SystemApi.Schema.getUri().resolve("/" + JSON_SCHEMA_BUSINESS_ADDRESS_UNIQUE_NAME); + + public static final String JSON_SCHEMA_BUSINESS_ADDRESS_PROPERTY_NAME = "businessName"; + + public static final String JSON_SCHEMA_POSTAL_ADDRESS_UNIQUE_NAME = TEST_RESOURCE_NAMESPACE + "PostalAddress"; + + public static final String JSON_SCHEMA_POSTAL_ADDRESS_RESOURCE_NAME = TEST_RESOURCE_PACKAGE + JSON_SCHEMA_POSTAL_ADDRESS_UNIQUE_NAME; + + public static final URI JSON_SCHEMA_POSTAL_ADDRESS_URI = SystemApi.Schema.getUri().resolve("/" + JSON_SCHEMA_POSTAL_ADDRESS_UNIQUE_NAME); + + public static final String JSON_SCHEMA_CONTACT_INFORMATION_UNIQUE_NAME = TEST_RESOURCE_NAMESPACE + "ContactInformation"; + + public static final String JSON_SCHEMA_CONTACT_INFORMATION_RESOURCE_NAME = TEST_RESOURCE_PACKAGE + JSON_SCHEMA_CONTACT_INFORMATION_UNIQUE_NAME; + + public static final URI JSON_SCHEMA_CONTACT_INFORMATION_URI = SystemApi.Schema.getUri().resolve("/" + JSON_SCHEMA_CONTACT_INFORMATION_UNIQUE_NAME); + + public static final String JSON_SCHEMA_MULTIPLE5_UNIQUE_NAME = TEST_RESOURCE_NAMESPACE + "MultipleOf5"; + + public static final String JSON_SCHEMA_MULTIPLE5_RESOURCE_NAME = TEST_RESOURCE_PACKAGE + JSON_SCHEMA_MULTIPLE5_UNIQUE_NAME; + + public static final URI JSON_SCHEMA_MULTIPLE5_URI = SystemApi.Schema.getUri().resolve("/" + JSON_SCHEMA_MULTIPLE5_UNIQUE_NAME); + + public static final Integer MULTIPLE5_VALUE = 5; + + public static final String JSON_SCHEMA_MULTIPLE4_UNIQUE_NAME = TEST_RESOURCE_NAMESPACE + "MultipleOf4"; + + public static final String JSON_SCHEMA_MULTIPLE4_RESOURCE_NAME = TEST_RESOURCE_PACKAGE + JSON_SCHEMA_MULTIPLE4_UNIQUE_NAME; + + public static final URI JSON_SCHEMA_MULTIPLE4_URI = SystemApi.Schema.getUri().resolve("/" + JSON_SCHEMA_MULTIPLE4_UNIQUE_NAME); + + public static final String JSON_SCHEMA_MULTIPLE_PROPERTY_NAME = "value"; + + public static final String JSON_SCHEMA_DEPENDENCY_UNIQUE_NAME = TEST_RESOURCE_NAMESPACE + "DependencyCheck"; + + public static final String JSON_SCHEMA_DEPENDENCY_RESOURCE_NAME = TEST_RESOURCE_PACKAGE + JSON_SCHEMA_DEPENDENCY_UNIQUE_NAME; + + public static final URI JSON_SCHEMA_DEPENDENCY_URI = SystemApi.Schema.getUri().resolve("/" + JSON_SCHEMA_DEPENDENCY_UNIQUE_NAME); + + public static final String DEPENDENT_1 = "a"; + + public static final String DEPENDENCY_1 = "b"; + + private JsonSchemaLoader _JsonSchemaLoader; + + @Before + public void setUp() throws Exception + { + + final Engine engine = EngineTest.createTestEngine(); + _JsonSchemaLoader = engine.getContext().getSchemaLoader().getJsonSchemaLoader(); + + } + + @After + public void tearDown() throws Exception + { + + _JsonSchemaLoader = null; + } + + @Test(expected = JsonSchemaLoaderException.class) + public void initParamNullFailure() + { + + final JsonSchemaLoader jsonSchemaLoader = new JsonSchemaLoader(); + jsonSchemaLoader.init(null); + } + + @Test + public void jsonSchemaLoaderNotNull() + { + + Assert.assertNotNull(_JsonSchemaLoader); + } + + @Test + public void loadJsonSchemaPerson() throws IOException + { + + final Class thisClass = getClass(); + + final InputStream in = thisClass.getResourceAsStream(JSON_SCHEMA_PERSON_RESOURCE_NAME); + final JsonSchema jsonSchema = _JsonSchemaLoader.load(in, JSON_SCHEMA_PERSON_URI); + Assert.assertNotNull(jsonSchema); + } + + @Test + public void convertJsonSchemaPerson() throws IOException + { + + final Class thisClass = getClass(); + + final InputStream in = thisClass.getResourceAsStream(JSON_SCHEMA_PERSON_RESOURCE_NAME); + final JsonSchema jsonSchema = _JsonSchemaLoader.load(in, JSON_SCHEMA_PERSON_URI); + final Schema schema = _JsonSchemaLoader.getContext().getSchemaLoader().load(jsonSchema); + Assert.assertNotNull(schema); + } + + // EXTENDS AND ALLOF TESTS + + @Test + public void loadJsonSchemaImportantPerson() throws Exception + { + + final Class thisClass = getClass(); + + final InputStream in = thisClass.getResourceAsStream(JSON_SCHEMA_IMPORTANT_PERSON_RESOURCE_NAME); + final JsonSchema jsonSchema = _JsonSchemaLoader.load(in, JSON_SCHEMA_IMPORTANT_PERSON_URI); + Assert.assertNotNull(jsonSchema); + + Assert.assertTrue(!jsonSchema.getExtendedSchemaUris().isEmpty()); + Set extensions = jsonSchema.getExtendedSchemaUris(); + Assert.assertTrue(extensions.contains(JSON_SCHEMA_PERSON_URI)); + } + + @Test + public void loadJsonSchemaAddressablePerson() throws Exception + { + + final Class thisClass = getClass(); + + final InputStream in = thisClass.getResourceAsStream(JSON_SCHEMA_ADDRESSABLE_PERSON_RESOURCE_NAME); + final JsonSchema jsonSchema = _JsonSchemaLoader.load(in, JSON_SCHEMA_ADDRESSABLE_PERSON_URI); + Assert.assertNotNull(jsonSchema); + + Assert.assertTrue(!jsonSchema.getProperties().isEmpty()); + ConcurrentMap props = jsonSchema.getProperties(); + Assert.assertTrue(props.containsKey(JSON_SCHEMA_ADDRESSABLE_PERSON_PROPERTY_NAME)); + Property prop = props.get(JSON_SCHEMA_ADDRESSABLE_PERSON_PROPERTY_NAME); + Assert.assertTrue(prop.getJsonType().equals(JsonType.Boolean)); + + // Make sure multiple values get picked up + Assert.assertTrue(!jsonSchema.getExtendedSchemaUris().isEmpty()); + Set extensions = jsonSchema.getExtendedSchemaUris(); + Assert.assertTrue(extensions.contains(JSON_SCHEMA_PERSON_URI)); + Assert.assertTrue(extensions.contains(JSON_SCHEMA_POSTAL_ADDRESS_URI)); + } + + @Test + public void loadJsonSchemaBusinessAddress() throws Exception + { + + final Class thisClass = getClass(); + + final InputStream in = thisClass.getResourceAsStream(JSON_SCHEMA_BUSINESS_ADDRESS_RESOURCE_NAME); + final JsonSchema jsonSchema = _JsonSchemaLoader.load(in, JSON_SCHEMA_BUSINESS_ADDRESS_URI); + Assert.assertNotNull(jsonSchema); + + Assert.assertTrue(!jsonSchema.getProperties().isEmpty()); + ConcurrentMap props = jsonSchema.getProperties(); + Assert.assertTrue(props.containsKey(JSON_SCHEMA_BUSINESS_ADDRESS_PROPERTY_NAME)); + Property prop = props.get(JSON_SCHEMA_BUSINESS_ADDRESS_PROPERTY_NAME); + Assert.assertTrue(prop.getJsonType().equals(JsonType.String)); + + Assert.assertTrue(!jsonSchema.getExtendedSchemaUris().isEmpty()); + Set extensions = jsonSchema.getExtendedSchemaUris(); + Assert.assertTrue(extensions.contains(JSON_SCHEMA_POSTAL_ADDRESS_URI)); + } + + // Multiple of Test + + @Test + public void loadJsonSchemaMultipleOf5() throws Exception + { + + final Class thisClass = getClass(); + + final InputStream in = thisClass.getResourceAsStream(JSON_SCHEMA_MULTIPLE5_RESOURCE_NAME); + final JsonSchema jsonSchema = _JsonSchemaLoader.load(in, JSON_SCHEMA_MULTIPLE5_URI); + Assert.assertNotNull(jsonSchema); + + Assert.assertTrue(!jsonSchema.getProperties().isEmpty()); + ConcurrentMap props = jsonSchema.getProperties(); + Assert.assertTrue(props.containsKey(JSON_SCHEMA_MULTIPLE_PROPERTY_NAME)); + Property prop = props.get(JSON_SCHEMA_MULTIPLE_PROPERTY_NAME); + Assert.assertTrue(prop.getJsonType().equals(JsonType.Integer)); + Object obj = prop.getValue(PropertyType.MultipleOf); + Assert.assertTrue(obj != null); + Assert.assertTrue(obj instanceof Integer); + Integer val = (Integer)obj; + Assert.assertTrue(val.equals(MULTIPLE5_VALUE)); + } + + @Test + public void convertJsonSchemaMultipleOf5() throws Exception + { + final Class thisClass = getClass(); + + final InputStream in = thisClass.getResourceAsStream(JSON_SCHEMA_MULTIPLE5_RESOURCE_NAME); + final JsonSchema jsonSchema = _JsonSchemaLoader.load(in, JSON_SCHEMA_MULTIPLE5_URI); + final Schema schema = _JsonSchemaLoader.getContext().getSchemaLoader().load(jsonSchema); + Assert.assertNotNull(schema); + List slots = schema.getSlots(); + Assert.assertTrue(slots != null); + Assert.assertTrue(slots.size() == 1); + Slot slot = slots.get(0); + Value val = slot.getValue(); + Object obj = val.getSlotValue(PropertyType.DivisibleBy.getName()); + Assert.assertTrue(obj != null); + Assert.assertTrue(obj.equals(MULTIPLE5_VALUE)); + } + + // Required Keyword Tests + + // This test ensures v3 schema support for Required keyword. + @Test + public void loadJsonSchemaMultipleOf4Required() throws Exception + { + + final Class thisClass = getClass(); + + final InputStream in = thisClass.getResourceAsStream(JSON_SCHEMA_MULTIPLE4_RESOURCE_NAME); + final JsonSchema jsonSchema = _JsonSchemaLoader.load(in, JSON_SCHEMA_MULTIPLE4_URI); + Assert.assertNotNull(jsonSchema); + + Assert.assertTrue(!jsonSchema.getProperties().isEmpty()); + ConcurrentMap props = jsonSchema.getProperties(); + List requiredFields = jsonSchema.getRequired(); + Assert.assertTrue(requiredFields != null); + Assert.assertTrue(requiredFields.size() == 1); + Property prop = requiredFields.get(0); + Assert.assertTrue(prop != null); + Object obj = prop.getValue(PropertyType.Required); + Assert.assertTrue((Boolean)obj); + Assert.assertTrue(prop.getName().equals(JSON_SCHEMA_MULTIPLE_PROPERTY_NAME)); + } + + // Verifying support for v4 required, and backward with v3 + @Test + public void loadJsonSchemaMultipleOf5Required() throws Exception + { + + final Class thisClass = getClass(); + + final InputStream in = thisClass.getResourceAsStream(JSON_SCHEMA_MULTIPLE5_RESOURCE_NAME); + final JsonSchema jsonSchema = _JsonSchemaLoader.load(in, JSON_SCHEMA_MULTIPLE5_URI); + Assert.assertNotNull(jsonSchema); + + Assert.assertTrue(!jsonSchema.getProperties().isEmpty()); + ConcurrentMap props = jsonSchema.getProperties(); + List requiredFields = jsonSchema.getRequired(); + Assert.assertTrue(requiredFields != null); + Assert.assertTrue(requiredFields.size() == 1); + Property prop = requiredFields.get(0); + Assert.assertTrue(prop != null); + Object obj = prop.getValue(PropertyType.Required); + Assert.assertTrue((Boolean)obj); + Assert.assertTrue(prop.getName().equals(JSON_SCHEMA_MULTIPLE_PROPERTY_NAME)); + } + + // DEPENDENCIES KEYWORD TESTS + + @Test + public void loadJsonSchemaDependencyCheck() throws Exception + { + final Class thisClass = getClass(); + + final InputStream in = thisClass.getResourceAsStream(JSON_SCHEMA_DEPENDENCY_RESOURCE_NAME); + final JsonSchema jsonSchema = _JsonSchemaLoader.load(in, JSON_SCHEMA_DEPENDENCY_URI); + Assert.assertNotNull(jsonSchema); + + Map> deps = jsonSchema.getDependencies(); + Assert.assertTrue(deps.size() == 1); + List props = deps.get(DEPENDENT_1); + Assert.assertTrue(props != null); + Assert.assertTrue(props.size() == 1); + Property prop = props.get(0); + Assert.assertTrue(prop.getName().equals(DEPENDENCY_1)); + } + + // CONTINUE NORMAL TESTS + + @Test + public void loadJsonSchemaPostalAddress() throws IOException + { + + final Class thisClass = getClass(); + + final InputStream in = thisClass.getResourceAsStream(JSON_SCHEMA_POSTAL_ADDRESS_RESOURCE_NAME); + final JsonSchema jsonSchema = _JsonSchemaLoader.load(in, JSON_SCHEMA_POSTAL_ADDRESS_URI); + Assert.assertNotNull(jsonSchema); + } + + @Test + public void convertJsonSchemaPostalAddress() throws IOException + { + + final Class thisClass = getClass(); + + final InputStream in = thisClass.getResourceAsStream(JSON_SCHEMA_POSTAL_ADDRESS_RESOURCE_NAME); + final JsonSchema jsonSchema = _JsonSchemaLoader.load(in, JSON_SCHEMA_POSTAL_ADDRESS_URI); + final Schema schema = _JsonSchemaLoader.getContext().getSchemaLoader().load(jsonSchema); + Assert.assertNotNull(schema); + } + + @Test + public void loadJsonSchemaContactInformation() throws IOException + { + + final Class thisClass = getClass(); + + final InputStream in = thisClass.getResourceAsStream(JSON_SCHEMA_CONTACT_INFORMATION_RESOURCE_NAME); + final JsonSchema jsonSchema = _JsonSchemaLoader.load(in, JSON_SCHEMA_CONTACT_INFORMATION_URI); + Assert.assertNotNull(jsonSchema); + } + + @Test + public void convertJsonSchemaContactInformation() throws IOException + { + + final Class thisClass = getClass(); + + final InputStream in = thisClass.getResourceAsStream(JSON_SCHEMA_CONTACT_INFORMATION_RESOURCE_NAME); + final JsonSchema jsonSchema = _JsonSchemaLoader.load(in, JSON_SCHEMA_CONTACT_INFORMATION_URI); + final Schema schema = _JsonSchemaLoader.getContext().getSchemaLoader().load(jsonSchema); + Assert.assertNotNull(schema); + } +} diff --git a/core/src/test/java/org/wrml/runtime/format/application/vnd/wrml/ascii/api/ApiAsciiFormatterTest.java b/core/src/test/java/org/wrml/runtime/format/application/vnd/wrml/ascii/api/ApiAsciiFormatterTest.java new file mode 100644 index 0000000..9a57e13 --- /dev/null +++ b/core/src/test/java/org/wrml/runtime/format/application/vnd/wrml/ascii/api/ApiAsciiFormatterTest.java @@ -0,0 +1,117 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format.application.vnd.wrml.ascii.api; + +import org.junit.Ignore; +import org.junit.Test; +import org.mockito.Mockito; +import org.wrml.model.Model; +import org.wrml.model.rest.Api; +import org.wrml.runtime.format.FormatterConfiguration; +import org.wrml.runtime.format.FormatTestBase; +import org.wrml.runtime.format.Formatter; +import org.wrml.runtime.format.SystemFormat; +import org.wrml.runtime.schema.Prototype; + +import java.net.URI; + +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +/** + * Test for {@link ApiAsciiFormatter} using {@link Mockito} mocks. + * + * @author JJ Zabkar + * @see {@link FormatTestBase} for base {@link Test}s common to all {@link Formatter}s. + */ +public class ApiAsciiFormatterTest extends FormatTestBase +{ + + @Override + protected Formatter getFormatter() + { + final ApiAsciiFormatter formatter = new ApiAsciiFormatter(); + final FormatterConfiguration formatterConfiguration = new FormatterConfiguration(); + formatterConfiguration.setFormatUri(SystemFormat.vnd_wrml_ascii_api.getFormatUri()); + formatter.init(this._MockContext, formatterConfiguration); + return formatter; + } + + @Override + protected Model getMockSchema() + { + + return mock(Api.class); + } + + /** + * Overriding since Prototype gets mocked. + */ + @Override + @Test + public void testIsApplicableTo() + { + + Prototype mockPrototype1 = mock(Prototype.class); + Prototype mockPrototype2 = mock(Prototype.class); + when(mockPrototype1.isAssignableFrom(any(URI.class))).thenReturn(true); + when(mockPrototype2.isAssignableFrom(any(URI.class))).thenReturn(false); + + // happy path + when(this._MockSchemaLoader.getPrototype(any(URI.class))).thenReturn(mockPrototype1); + assertTrue(_Formatter.isApplicableTo(_MockSchemaSchemaUri)); + + // still happy (means our method is getting invoked) + when(this._MockSchemaLoader.getPrototype(any(URI.class))).thenReturn(mockPrototype2); + assertFalse(_Formatter.isApplicableTo(_MockSchemaSchemaUri)); + + } + + @Override + @Ignore + @Test + public void testReadModel() + { + // TODO: fix this test + } + + @Test + @Ignore + @Override + public void testRoundTrip() + { + // TODO: fix this test + } + + @Override + @Ignore + @Test + public void testWriteModel() + { + // TODO: fix this test + } +} diff --git a/core/src/test/java/org/wrml/runtime/format/application/vnd/wrml/design/schema/SchemaDesignFormatterTest.java b/core/src/test/java/org/wrml/runtime/format/application/vnd/wrml/design/schema/SchemaDesignFormatterTest.java new file mode 100644 index 0000000..1baa8a9 --- /dev/null +++ b/core/src/test/java/org/wrml/runtime/format/application/vnd/wrml/design/schema/SchemaDesignFormatterTest.java @@ -0,0 +1,110 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format.application.vnd.wrml.design.schema; + +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import java.io.InputStream; +import java.net.URI; +import java.util.TreeMap; + +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; +import org.mockito.Mockito; +import org.wrml.runtime.format.*; +import org.wrml.runtime.schema.LinkProtoSlot; +import org.wrml.runtime.schema.Prototype; +import org.wrml.runtime.syntax.SyntaxLoader; + +/** + * Test for {@link SchemaDesignFormatter} using {@link Mockito} mocks. + * + * @see {@link FormatTestBase} for base {@link Test}s common to all {@link Formatter}s. + * @author JJ Zabkar + */ + +@Ignore +public class SchemaDesignFormatterTest extends FormatTestBase { + + @Before + @Override + public void setUp() throws Exception { + super.setUp(); + SyntaxLoader mockSyntaxLoader = mock(SyntaxLoader.class); + String mockUri = "mockUri"; + Prototype mockPrototype = mock(Prototype.class); + when(this._MockContext.getSyntaxLoader()).thenReturn(mockSyntaxLoader); + when(mockSyntaxLoader.formatSyntaxValue(any(URI.class))).thenReturn(mockUri); + when(this._MockSchemaLoader.getPrototype(any(URI.class))).thenReturn(mockPrototype); + when(mockPrototype.getLinkProtoSlots()).thenReturn(new TreeMap()); + } + + @Override + protected Formatter getFormatter() { + final SchemaDesignFormatter formatter = new SchemaDesignFormatter(); + final FormatterConfiguration formatterConfiguration = new FormatterConfiguration(); + formatterConfiguration.setFormatUri(SystemFormat.vnd_wrml_design_schema.getFormatUri()); + formatter.init(this._MockContext, formatterConfiguration); + return formatter; + } + + /** {@link Override} since this impl doesn't {@code readModel()}. (throws {@link ModelReadingException}. */ + @Override + @Test(expected = UnsupportedOperationException.class) + public void testReadModel() throws ModelReadingException { + this._Formatter.readModel(mock(InputStream.class), _MockKeys, _MockDimensions); + fail("Expected an UnsupportedOperationException"); + } + + /** {@link Override} since this impl doesn't {@code readModel()}. (throws {@link UnsupportedOperationException}. */ + @Override + @Test(expected = UnsupportedOperationException.class) + public void testReadModelException() throws ModelReadingException { + super.testReadModelException(); + fail("Expected an UnsupportedOperationException"); + } + + /** {@link Override} since this impl doesn't {@code readModel()}. (throws {@link UnsupportedOperationException}. */ + @Override + @Test(expected = UnsupportedOperationException.class) + public void testReadModelBadData() throws ModelReadingException { + super.testReadModelBadData(); + fail("Expected an UnsupportedOperationException"); + } + + + /** {@link Override} since this impl doesn't {@code readModel()}. (throws {@link UnsupportedOperationException}. */ + @Override + @Test(expected = UnsupportedOperationException.class) + public void testRoundTrip() throws ModelWritingException, ModelReadingException { + super.testRoundTrip(); + fail("Expected an UnsupportedOperationException"); + } + +} diff --git a/core/src/test/java/org/wrml/runtime/format/application/xml/XmlFormatterTest.java b/core/src/test/java/org/wrml/runtime/format/application/xml/XmlFormatterTest.java new file mode 100644 index 0000000..06ee12a --- /dev/null +++ b/core/src/test/java/org/wrml/runtime/format/application/xml/XmlFormatterTest.java @@ -0,0 +1,81 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.format.application.xml; + +import org.junit.Ignore; +import org.junit.Test; +import org.mockito.Mockito; +import org.wrml.runtime.format.FormatterConfiguration; +import org.wrml.runtime.format.FormatTestBase; +import org.wrml.runtime.format.Formatter; +import org.wrml.runtime.format.SystemFormat; + +import java.net.URI; + +/** + * Test for {@link XmlFormatter} using {@link Mockito} mocks. + * + * @author JJ Zabkar + * @see {@link FormatTestBase} for base {@link Test}s common to all {@link Formatter}s. + */ +public class XmlFormatterTest extends FormatTestBase +{ + + @Override + protected Formatter getFormatter() + { + + final XmlFormatter formatter = new XmlFormatter(); + final FormatterConfiguration formatterConfiguration = new FormatterConfiguration(); + formatterConfiguration.setFormatUri(SystemFormat.xml.getFormatUri()); + formatter.init(this._MockContext, formatterConfiguration); + return formatter; + } + + + + @Override + @Ignore + @Test + public void testReadModel() + { + // TODO: fix this test + } + + + @Test + @Override + public void testIsApplicableTo() + { + // happy path + assertTrue(_Formatter.isApplicableTo(_MockSchemaSchemaUri)); + // null check + assertTrue("a null URI should evaluate to 'false'", _Formatter.isApplicableTo(null)); + // just invalid + assertTrue("an invalid URI should evaluate to 'false'", _Formatter.isApplicableTo(URI.create("http://a.b.c"))); + + } +} diff --git a/core/src/test/java/org/wrml/runtime/rest/AcceptableMediaTypeListTest.java b/core/src/test/java/org/wrml/runtime/rest/AcceptableMediaTypeListTest.java new file mode 100644 index 0000000..a4f94f0 --- /dev/null +++ b/core/src/test/java/org/wrml/runtime/rest/AcceptableMediaTypeListTest.java @@ -0,0 +1,178 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +import static org.junit.Assert.assertTrue; + +import java.util.List; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class AcceptableMediaTypeListTest +{ + + private static final Logger LOGGER = LoggerFactory.getLogger(AcceptableMediaTypeListTest.class); + + @Before + public void init() + { + + } + + @After + public void destruct() + { + + } + + @Test + public void testSimpleAccepts1() + { + String accepts = "Accept: audio/*"; + List types = new AcceptableMediaTypeList(accepts); + + LOGGER.debug("Parsed media type is : " + types); + + assertTrue(types != null); + assertTrue(types.size() == 1); + MediaType type = types.get(0); + assertTrue(type.getType().equals("audio")); + assertTrue(type.getSubType().equals("*")); + assertTrue(type.getParameters().isEmpty()); + } + + @Test + public void testSimpleAccepts2() + { + String accepts = "Accept: audio/*;"; + List types = new AcceptableMediaTypeList(accepts); + + LOGGER.debug("Parsed media type is : " + types); + + assertTrue(types != null); + assertTrue(types.size() == 1); + MediaType type = types.get(0); + assertTrue(type.getType().equals("audio")); + assertTrue(type.getSubType().equals("*")); + assertTrue(type.getParameters().isEmpty()); + } + + @Test + public void testAccepts1() + { + String accepts = "Accept: audio/*; q=0.2; z=35, audio/basic, audio/ben;crazy"; + List types = new AcceptableMediaTypeList(accepts); + + LOGGER.debug("Parsed media type is : " + types); + + assertTrue(types != null); + assertTrue(types.size() == 3); + + MediaType type = types.get(0); + assertTrue("Expected audio but was " + type.getType(), type.getType().equals("audio")); + assertTrue("Expected basic but was " + type.getSubType(), type.getSubType().equals("basic")); + assertTrue(type.getParameters().isEmpty()); + + type = types.get(1); + assertTrue(type.getType().equals("audio")); + assertTrue(type.getSubType().equals("ben")); + assertTrue(type.getParameters().size() == 1); + assertTrue(type.getParameter("crazy").equals("")); + + type = types.get(2); + assertTrue(type.getType().equals("audio")); + assertTrue(type.getSubType().equals("*")); + assertTrue(type.getParameters().size() == 2); + assertTrue(type.getParameter("q").equals("0.2")); + assertTrue(type.getParameter("z").equals("35")); + } + + @Test + public void testLongAccepts1() + { + String accepts = "Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1,text/html;level=2;q=0.4, */*;q=0.5"; + List types = new AcceptableMediaTypeList(accepts); + + LOGGER.debug("Parsed media type is : " + types); + + assertTrue(types != null); + assertTrue(types.size() == 5); + + MediaType type; + + type = types.get(0); + assertTrue("Expected text but was " + type.getType(), type.getType().equals("text")); + assertTrue("Expected html but was " + type.getSubType(), type.getSubType().equals("html")); + assertTrue(type.getParameters().size() == 1); + assertTrue(null == type.getParameter("crazy")); + + type = types.get(1); + assertTrue(type.getType().equals("text")); + assertTrue(type.getSubType().equals("html")); + assertTrue(type.getParameters().size() == 1); + assertTrue(type.getParameter("q").equals("0.7")); + + type = types.get(2); + assertTrue(type.getType().equals("*")); + assertTrue(type.getSubType().equals("*")); + assertTrue(type.getParameters().size() == 1); + assertTrue(type.getParameter("q").equals("0.5")); + + type = types.get(3); + assertTrue(type.getType().equals("text")); + assertTrue(type.getSubType().equals("html")); + assertTrue(type.getParameters().size() == 2); + assertTrue(type.getParameter("level").equals("2")); + assertTrue(type.getParameter("q").equals("0.4")); + + type = types.get(4); + assertTrue(type.getType().equals("text")); + assertTrue(type.getSubType().equals("*")); + assertTrue(type.getParameters().size() == 1); + assertTrue(type.getParameter("q").equals("0.3")); + } + + @Test + public void wrmlAcceptTest1() + { + String accepts = "Accept: application/wrml; schema=http://schema.api.wrml.org/org/wrml/example/model/Caprica;format=\"http://format.api.wrml.org/org/wrml/format/application/json\""; + List types = new AcceptableMediaTypeList(accepts); + + LOGGER.debug("Parsed media type is : " + types); + + MediaType type; + + type = types.get(0); + assertTrue(type.getType().equals("application")); + assertTrue(type.getSubType().equals("wrml")); + assertTrue(type.getParameters().size() == 2); + assertTrue(type.getParameter("schema").equals("http://schema.api.wrml.org/org/wrml/example/model/Caprica")); + assertTrue(type.getParameter("format").equals("http://format.api.wrml.org/org/wrml/format/application/json")); + } +} diff --git a/core/src/test/java/org/wrml/runtime/rest/ApiLoaderTest.java b/core/src/test/java/org/wrml/runtime/rest/ApiLoaderTest.java new file mode 100644 index 0000000..de28100 --- /dev/null +++ b/core/src/test/java/org/wrml/runtime/rest/ApiLoaderTest.java @@ -0,0 +1,200 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +import java.io.IOException; +import java.net.URI; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.rest.AggregateDocument; +import org.wrml.model.rest.Api; +import org.wrml.model.rest.Document; +import org.wrml.model.rest.Link; +import org.wrml.model.rest.LinkRelation; +import org.wrml.model.rest.Method; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.Context; +import org.wrml.runtime.ContextTest; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.DimensionsBuilder; +import org.wrml.runtime.Engine; +import org.wrml.runtime.EngineTest; +import org.wrml.runtime.Keys; +import org.wrml.runtime.format.application.schema.json.JsonSchema; +import org.wrml.runtime.schema.SchemaLoader; + +public class ApiLoaderTest +{ + + private static final Logger LOGGER = LoggerFactory.getLogger(ApiLoaderTest.class); + + public static final String TEST_WIZARD_RESOURCE_PATH = "/org/wrml/test/wizard/"; + + public static final URI WRML_SCHEMA_WIZARD_URI = SystemApi.Schema.getUri().resolve(TEST_WIZARD_RESOURCE_PATH + "Wizard"); + + public static final URI WRML_API_WIZARD_EXAMPLE_URI = URI.create("http://wizard.example.api.wrml.org"); + + public static final URI WRML_MERLIN_URI = WRML_API_WIZARD_EXAMPLE_URI.resolve("/wizards/merlin?rg=42"); + + private ApiLoader _ApiLoader; + + @Before + public void setUp() throws Exception + { + + final Engine engine = EngineTest.createTestEngine(); + _ApiLoader = engine.getContext().getApiLoader(); + + } + + @After + public void tearDown() throws Exception + { + + _ApiLoader = null; + } + + @Test(expected = ApiLoaderException.class) + public void initParamContextNullFailure() + { + + final ApiLoader apiLoader = new DefaultApiLoader(); + apiLoader.init(null); + } + + @Test + public void apiLoaderNotNull() + { + + Assert.assertNotNull(_ApiLoader); + } + + @Test + public void contextNotNull() + { + + Assert.assertNotNull(_ApiLoader.getContext()); + } + + @Test + public void loadWrmlSchemaScreen() throws IOException + { + + final Context context = _ApiLoader.getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + final Schema schema = ContextTest.getModelResource(context, ContextTest.WRML_SCHEMA_SCREEN_URI, schemaLoader.getSchemaDimensions()); + Assert.assertNotNull(schema); + } + + @Test + public void loadScreenApiAndGetAggregate() throws IOException + { + + // TODO: Break this up into several tests + + final Context context = _ApiLoader.getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + + final Schema aSchema = ContextTest.getModelResource(context, ContextTest.WRML_SCHEMA_A_URI, schemaLoader.getSchemaDimensions()); + final Schema bSchema = ContextTest.getModelResource(context, ContextTest.WRML_SCHEMA_B_URI, schemaLoader.getSchemaDimensions()); + final Schema cSchema = ContextTest.getModelResource(context, ContextTest.WRML_SCHEMA_C_URI, schemaLoader.getSchemaDimensions()); + + final LinkRelation a = ContextTest.getModelResource(context, ContextTest.WRML_RELATION_A_URI, schemaLoader.getLinkRelationDimensions()); + Assert.assertNotNull(a); + final LinkRelation b = ContextTest.getModelResource(context, ContextTest.WRML_RELATION_B_URI, schemaLoader.getLinkRelationDimensions()); + Assert.assertNotNull(b); + final LinkRelation c = ContextTest.getModelResource(context, ContextTest.WRML_RELATION_C_URI, schemaLoader.getLinkRelationDimensions()); + Assert.assertNotNull(c); + + final Schema aggregateSchema = ContextTest.getModelResource(context, ContextTest.WRML_SCHEMA_SCREEN_URI, schemaLoader.getSchemaDimensions()); + Assert.assertNotNull(aggregateSchema); + final JsonSchema jsonSchema = schemaLoader.getJsonSchemaLoader().load(aggregateSchema); + Assert.assertNotNull(jsonSchema); + + final Api api = ContextTest.getModelResource(context, ContextTest.WRML_API_SCREEN_EXAMPLE_URI, schemaLoader.getApiDimensions()); + final ApiNavigator apiNavigator = _ApiLoader.loadApi(api); + Assert.assertNotNull(apiNavigator); + Assert.assertNotNull(apiNavigator.toString()); + + Assert.assertEquals(api, _ApiLoader.loadApi(ContextTest.WRML_API_SCREEN_EXAMPLE_URI).getApi()); + + final Keys aggregateKeys = _ApiLoader.buildDocumentKeys(ContextTest.WRML_SCREEN_AGGREGATE_URI, aggregateSchema.getUri()); + final Dimensions aggregateDimensions = new DimensionsBuilder().setSchemaUri(aggregateSchema.getUri()).toDimensions(); + final AggregateDocument aggregate = context.getModel(aggregateKeys, aggregateDimensions); + + final Link aLink = (Link) aggregate.getSlotValue("a"); + Assert.assertNotNull(aLink.getDoc()); + + final Link bLink = (Link) aggregate.getSlotValue("b"); + Assert.assertNotNull(bLink.getDoc()); + + final Link cLink = (Link) aggregate.getSlotValue("c"); + Assert.assertNotNull(cLink.getDoc()); + + Assert.assertNotNull(aggregate.reference("a")); + Assert.assertNotNull(aggregate.reference("b")); + Assert.assertNotNull(aggregate.reference("c")); + } + + @Test + public void loadWizardApiAndGetMerlin() throws IOException + { + + final Context context = _ApiLoader.getContext(); + final SchemaLoader schemaLoader = context.getSchemaLoader(); + + final Api api = ContextTest.getModelResource(context, WRML_API_WIZARD_EXAMPLE_URI, schemaLoader.getApiDimensions()); + final ApiNavigator apiNavigator = _ApiLoader.loadApi(api); + Assert.assertNotNull(apiNavigator); + + final Keys merlinKeys = _ApiLoader.buildDocumentKeys(WRML_MERLIN_URI, WRML_SCHEMA_WIZARD_URI); + final Dimensions wizardDimensions = _ApiLoader.buildDocumentDimensions(Method.Get, WRML_MERLIN_URI, new DimensionsBuilder().setSchemaUri(WRML_SCHEMA_WIZARD_URI)); + final Document merlin = context.getModel(merlinKeys, wizardDimensions); + + LOGGER.debug("Merlin, the Wizard: {}", merlin); + + final Document primarySpell = merlin.reference("primarySpell"); + final Document secondarySpell = merlin.reference("secondarySpell"); + + Assert.assertNotNull(primarySpell); + Assert.assertNotNull(secondarySpell); + + LOGGER.debug("Merlin's primary Spell: {}", primarySpell); + LOGGER.debug("Merlin's secondary Spell: {}", secondarySpell); + + final Document guild = merlin.reference("guild"); + LOGGER.debug("Merlin's Guild: {}", guild); + + } + + // TODO: Add more tests + +} diff --git a/core/src/test/java/org/wrml/runtime/rest/MediaTypeTest.java b/core/src/test/java/org/wrml/runtime/rest/MediaTypeTest.java new file mode 100644 index 0000000..ec404d2 --- /dev/null +++ b/core/src/test/java/org/wrml/runtime/rest/MediaTypeTest.java @@ -0,0 +1,172 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +import static org.junit.Assert.assertTrue; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.runtime.rest.MediaType.MediaTypeException; + +public class MediaTypeTest +{ + + private static final Logger LOGGER = LoggerFactory.getLogger(MediaTypeTest.class); + + @Before + public void init() + { + + } + + @After + public void destruct() + { + + } + + @Test + public void testSimpleContentType1() throws MediaTypeException + { + String contentType = "Content-Type: text/plain"; + MediaType type = new MediaType(contentType); + + LOGGER.debug("Parsed media type is : " + type); + + assertTrue(type.getType().equals("text")); + assertTrue(type.getSubType().equals("plain")); + assertTrue(type.getParameters().isEmpty()); + } + + @Test + public void testSimpleContentType2() throws MediaTypeException + { + String contentType = "text/plain"; + MediaType type = new MediaType(contentType); + + LOGGER.debug("Parsed media type is : " + type); + + assertTrue(type.getType().equals("text")); + assertTrue(type.getSubType().equals("plain")); + assertTrue(type.getParameters().isEmpty()); + } + + @Test + public void testSimpleContentType3() throws MediaTypeException + { + String contentType = "Content-Type: text/plain;"; + MediaType type = new MediaType(contentType); + + LOGGER.debug("Parsed media type is : " + type); + + assertTrue(type.getType().equals("text")); + assertTrue(type.getSubType().equals("plain")); + assertTrue(type.getParameters().isEmpty()); + } + + @Test + public void testSimpleContentType4() throws MediaTypeException + { + String contentType = "Content-Type: text/plain; charset=us-ascii"; + MediaType type = new MediaType(contentType); + + LOGGER.debug("Parsed media type is : " + type); + + assertTrue(type.getType().equals("text")); + assertTrue(type.getSubType().equals("plain")); + assertTrue(!type.getParameters().isEmpty()); + assertTrue(type.getParameters().size() == 1); + assertTrue(type.getParameter("charset").equals("us-ascii")); + } + + @Test + public void testContentType1() throws MediaTypeException + { + String contentType = "Content-Type: text/plain; charset=us-ascii;ben=test; space=\"aliens\""; + MediaType type = new MediaType(contentType); + + LOGGER.debug("Parsed media type is : " + type); + + assertTrue(type.getType().equals("text")); + assertTrue(type.getSubType().equals("plain")); + assertTrue(!type.getParameters().isEmpty()); + assertTrue("Expected size of 3 but got " + type.getParameters().size(), type.getParameters().size() == 3); + assertTrue(type.getParameter("charset").equals("us-ascii")); + assertTrue(type.getParameter("ben").equals("test")); + assertTrue("Expected a value of aliens but got " + type.getParameter("space"), type.getParameter("space").equals("aliens")); + } + + @Test + public void testContentType2() throws MediaTypeException + { + String contentType = "text/plain; charset=us-ascii;ben=test; space=\"aliens\""; + MediaType type = new MediaType(contentType); + + LOGGER.debug("Parsed media type is : " + type); + + assertTrue(type.getType().equals("text")); + assertTrue(type.getSubType().equals("plain")); + assertTrue(!type.getParameters().isEmpty()); + assertTrue("Expected size of 3 but got " + type.getParameters().size(), type.getParameters().size() == 3); + assertTrue(type.getParameter("charset").equals("us-ascii")); + assertTrue(type.getParameter("ben").equals("test")); + assertTrue("Expected a value of aliens but got " + type.getParameter("space"), type.getParameter("space").equals("aliens")); + } + + @Test + public void testContentType3() throws MediaTypeException + { + String contentType = "Content-Type: text/plain; charset=us-ascii;ben=test; space=\"ali;ens\""; + MediaType type = new MediaType(contentType); + + LOGGER.debug("Parsed media type is : " + type); + + assertTrue(type.getType().equals("text")); + assertTrue(type.getSubType().equals("plain")); + assertTrue(!type.getParameters().isEmpty()); + assertTrue("Expected size of 3 but got " + type.getParameters().size(), type.getParameters().size() == 3); + assertTrue(type.getParameter("charset").equals("us-ascii")); + assertTrue(type.getParameter("ben").equals("test")); + assertTrue("Expected a value of aliens but got " + type.getParameter("space"), type.getParameter("space").equals("ali;ens")); + } + + @Test + public void wrmlContentTypeTest1() throws MediaTypeException + { + String contentType = "Content-Type: application/wrml; schema=http://schema.api.wrml.org/org/wrml/example/model/Caprica;format=\"http://format.api.wrml.org/org/wrml/format/application/json\""; + MediaType type = new MediaType(contentType); + + LOGGER.debug("Parsed media type is : " + type); + + assertTrue(type.getType().equals("application")); + assertTrue(type.getSubType().equals("wrml")); + assertTrue(type.getParameters().size() == 2); + assertTrue(type.getParameter("schema").equals("http://schema.api.wrml.org/org/wrml/example/model/Caprica")); + assertTrue(type.getParameter("format").equals("http://format.api.wrml.org/org/wrml/format/application/json")); + } +} diff --git a/core/src/test/java/org/wrml/runtime/rest/ResourceTest.java b/core/src/test/java/org/wrml/runtime/rest/ResourceTest.java new file mode 100644 index 0000000..75b6f98 --- /dev/null +++ b/core/src/test/java/org/wrml/runtime/rest/ResourceTest.java @@ -0,0 +1,341 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +import static org.junit.Assert.assertNotEquals; +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import org.apache.commons.lang3.ObjectUtils; +import org.junit.After; +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.BlockJUnit4ClassRunner; +import org.mockito.Mockito; +import org.wrml.model.rest.Api; +import org.wrml.model.rest.Method; +import org.wrml.model.rest.ResourceTemplate; +import org.wrml.model.rest.ResourceTemplateTest; +import org.wrml.runtime.Context; +import org.wrml.runtime.DefaultContext; + +import java.net.URI; +import java.util.List; +import java.util.UUID; + +import junit.framework.TestCase; + +/** + * Test for {@link Resource}. + *

+ * Static method(s) are helpers for other test classes. + */ +@RunWith(BlockJUnit4ClassRunner.class) +public class ResourceTest extends TestCase +{ + + // private static final Logger LOGGER = LoggerFactory.getLogger(ResourceTest.class); + + /** class under test */ + Resource _Resource; + + // mocks + protected ApiNavigator mockApiNavigator; + protected ResourceTemplate mockResourceTemplate; + + @Before + public void setUp() throws Exception + { + this.mockApiNavigator = mock(ApiNavigator.class); + this.mockResourceTemplate = ResourceTemplateTest.getMock(); + this._Resource = ResourceTest.getMock(this.mockApiNavigator, this.mockResourceTemplate, null); + } + + @After + public void tearDown() throws Exception + { + this._Resource = null; + this.mockApiNavigator = null; + this.mockResourceTemplate = null; + } + + /** + * Factory method to get a test mock {@link Resource} with mocked dependencies for unit tests. + * + * @see {@link #getMock(ApiNavigator, ResourceTemplate, Resource)} + * @return a {@link Resource} for unit tests. + */ + public static Resource getMock() + { + return getMock(null, null, null); + } + + /** + * Factory method to get a test mock {@link Resource} with mocked dependencies for unit tests. + * + * @param apiNavigator + * [optional] the {@link ApiNavigator} to use. Defaults to a {@link Mockito#mock}. + * @param resourceTemplate + * [optional] the {@link ResourceTemplate} to use. Defaults to a {@link Mockito#mock}. + * @param parentResource + * @return a {@link Resource} for unit tests. + */ + public static Resource getMock(ApiNavigator apiNavigator, ResourceTemplate resourceTemplate, Resource parentResource) + { + ApiNavigator mockApiNavigator = ObjectUtils.defaultIfNull(apiNavigator, mock(ApiNavigator.class)); + ResourceTemplate mockResourceTemplate = ObjectUtils.defaultIfNull(resourceTemplate, mock(ResourceTemplate.class)); + Context mockContext = mock(DefaultContext.class); + Api mockApi = mock(Api.class); + URI mockApiUri = URI.create("http://mock.api.api/uri"); + + when(mockApiNavigator.getApi()).thenReturn(mockApi); + when(mockApi.getContext()).thenReturn(mockContext); + when(mockApi.getUri()).thenReturn(mockApiUri); + + return new Resource(mockApiNavigator, mockResourceTemplate, parentResource); + } + + @Test + public void testResource() + { + assertNotNull(this._Resource); + } + + @Test(expected = ResourceException.class) + public void testConstructorNullApiNavigator() + { + this._Resource = new Resource(null, this.mockResourceTemplate, null); + fail("expeced ResourceException"); + } + + @Test(expected = ResourceException.class) + public void testConstructorNullResourceTemplate() + { + this._Resource = new Resource(this.mockApiNavigator, null, null); + fail("expeced ResourceException"); + } + + @Test + public void testGetAllChildResourcesEmpty() + { + List children = this._Resource.getAllChildResources(); + assertNotNull(children); + assertEquals(0, children.size()); + } + + @Test + public void testGetAllChildResources() + { + Resource parentResource = getMock(mockApiNavigator, mockResourceTemplate, null); + Resource resource = getMock(mockApiNavigator, mockResourceTemplate, parentResource); + // return non-null on call 1 and null on (recursive) call 2 + when(mockApiNavigator.getResource(any(UUID.class))).thenReturn(resource).thenReturn(null); + + List children = parentResource.getAllChildResources(); + + assertTrue("Expected at least one child; see ResourceTemplateTest.", children.size() > 0); + } + + @Test + public void testGetApiNavigator() + { + assertNotNull(this._Resource.getApiNavigator()); + assertSame(this.mockApiNavigator, this._Resource.getApiNavigator()); + } + + @Test + @Ignore + // Test coverage provided by integration tests + public void testGetRequestSchemaUris() + { + fail("Not yet implemented"); + } + + @Test + @Ignore + // Test coverage provided by integration tests + public void testGetDefaultSchemaUri() + { + fail("Not yet implemented"); + } + + @Test + @Ignore + // Test coverage provided by integration tests + public void testGetLinkTemplates() + { + fail("Not yet implemented"); + } + + @Test + @Ignore + // Test coverage provided by integration tests + public void testGetLiteralPathSubresources() + { + fail("Not yet implemented"); + } + + @Test + @Ignore + // Test coverage provided by integration tests + public void testGetParentResource() + { + fail("Not yet implemented"); + } + + @Test + public void testGetPath() + { + Resource parentResource = getMock(mockApiNavigator, mockResourceTemplate, null); + Resource resource = getMock(mockApiNavigator, mockResourceTemplate, parentResource); + + assertNotNull(resource.getPath(false)); + assertNotNull(resource.getPath(true)); + assertNotNull(parentResource.getPath(false)); + assertNotNull(parentResource.getPath(true)); + + } + + @Test + @Ignore + // Test coverage provided by integration tests + public void testGetPathSegment() + { + fail("Not yet implemented"); + } + + @Test + @Ignore + // Test coverage provided by integration tests + public void testGetPathText() + { + fail("Not yet implemented"); + } + + @Test + public void testGetReferenceLinkRelationUris() + { + assertNull(this._Resource.getReferenceLinkRelationUris(Method.Get)); + } + + @Test + public void testGetReferenceTemplates() + { + assertNotNull(this._Resource.getReferenceTemplates()); + } + + @Test + @Ignore + // Test coverage provided by integration tests + public void testGetResourceTemplate() + { + fail("Not yet implemented"); + } + + @Test + @Ignore + // Test coverage provided by integration tests + public void testGetResourceTemplateId() + { + fail("Not yet implemented"); + } + + @Test + @Ignore + // Test coverage provided by integration tests + public void testGetResponseSchemaUris() + { + fail("Not yet implemented"); + } + + @Test + public void testGetUri() + { + assertNull(this._Resource.getUri(null, null)); + } + + @Test + @Ignore + // Test coverage provided by integration tests + public void testGetUriTemplate() + { + fail("Not yet implemented"); + } + + @Test + @Ignore + // Test coverage provided by integration tests + public void testGetVariablePathSubresources() + { + fail("Not yet implemented"); + } + + @Test + public void testIsDocroot() + { + final Resource parentResource = getMock(mockApiNavigator, mockResourceTemplate, null); + final Resource resource = getMock(mockApiNavigator, mockResourceTemplate, parentResource); + assertTrue(parentResource.isDocroot()); + assertFalse(resource.isDocroot()); + } + + @Test + @Ignore + // Test coverage provided by integration tests + public void testAddSubresource() + { + fail("Not yet implemented"); + } + + @Test + public void testToString() + { + assertNotNull(this._Resource.toString()); + } + + @Test + public void testCompareTo() + { + final ResourceTemplate mockResourceTemplate1 = mock(ResourceTemplate.class); + final ResourceTemplate mockResourceTemplate2 = mock(ResourceTemplate.class); + when(mockResourceTemplate1.getPathSegment()).thenReturn("abc"); + when(mockResourceTemplate2.getPathSegment()).thenReturn("def"); + final Resource parentResource = getMock(mockApiNavigator, mockResourceTemplate1, null); + final Resource resource = getMock(mockApiNavigator, mockResourceTemplate2, parentResource); + + final int result1 = resource.compareTo(parentResource); + final int result2 = parentResource.compareTo(resource); + + assertNotEquals(0, result1); + assertTrue(result1 != result2); + assertEquals(0, resource.compareTo(resource)); + assertEquals(0, parentResource.compareTo(parentResource)); + } + +} diff --git a/core/src/test/java/org/wrml/runtime/rest/RestUtilsTest.java b/core/src/test/java/org/wrml/runtime/rest/RestUtilsTest.java new file mode 100644 index 0000000..06b49f0 --- /dev/null +++ b/core/src/test/java/org/wrml/runtime/rest/RestUtilsTest.java @@ -0,0 +1,273 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +import static org.junit.Assert.assertTrue; + +import java.util.List; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class RestUtilsTest +{ + + private static final Logger LOGGER = LoggerFactory.getLogger(RestUtilsTest.class); + + @Before + public void init() + { + + } + + @After + public void destruct() + { + + } + + // No params + // @Test + public void testSimpleContentType1() + { + String contentType = "Content-Type: text/plain"; + MediaType type = RestUtils.extractMediaTypeFromContentTypeHeaderValue(contentType); + + LOGGER.debug("Parsed media type is : " + type); + + assertTrue(type.getType().equals("text")); + assertTrue(type.getSubType().equals("plain")); + assertTrue(type.getParameters().isEmpty()); + } + + // No params + // @Test + public void testSimpleContentType2() + { + String contentType = "Content-Type: text/plain;"; + MediaType type = RestUtils.extractMediaTypeFromContentTypeHeaderValue(contentType); + + LOGGER.debug("Parsed media type is : " + type); + + assertTrue(type.getType().equals("text")); + assertTrue(type.getSubType().equals("plain")); + assertTrue(type.getParameters().isEmpty()); + } + + // One parameter + // @Test + public void testSimpleContentType3() + { + String contentType = "Content-Type: text/plain; charset=us-ascii"; + MediaType type = RestUtils.extractMediaTypeFromContentTypeHeaderValue(contentType); + + LOGGER.debug("Parsed media type is : " + type); + + assertTrue(type.getType().equals("text")); + assertTrue(type.getSubType().equals("plain")); + assertTrue(!type.getParameters().isEmpty()); + assertTrue(type.getParameters().size() == 1); + assertTrue(type.getParameter("charset").equals("us-ascii")); + } + + // Three (n) parameters + // @Test + public void testContentType1() + { + String contentType = "Content-Type: text/plain; charset=us-ascii;ben=test; space=\"aliens\""; + MediaType type = RestUtils.extractMediaTypeFromContentTypeHeaderValue(contentType); + + LOGGER.debug("Parsed media type is : " + type); + + assertTrue(type.getType().equals("text")); + assertTrue(type.getSubType().equals("plain")); + assertTrue(!type.getParameters().isEmpty()); + assertTrue("Expected size of 3 but got " + type.getParameters().size(), type.getParameters().size() == 3); + assertTrue(type.getParameter("charset").equals("us-ascii")); + assertTrue(type.getParameter("ben").equals("test")); + assertTrue("Expected a value of aliens but got " + type.getParameter("space"), type.getParameter("space").equals("aliens")); + } + + // Three (n) parameters + // @Test + public void testContentType2() + { + String contentType = "Content-Type: text/plain; charset=us-ascii;ben=test; space=\"ali;ens\""; + MediaType type = RestUtils.extractMediaTypeFromContentTypeHeaderValue(contentType); + + LOGGER.debug("Parsed media type is : " + type); + + assertTrue(type.getType().equals("text")); + assertTrue(type.getSubType().equals("plain")); + assertTrue(!type.getParameters().isEmpty()); + assertTrue("Expected size of 3 but got " + type.getParameters().size(), type.getParameters().size() == 3); + assertTrue(type.getParameter("charset").equals("us-ascii")); + assertTrue(type.getParameter("ben").equals("test")); + assertTrue("Expected a value of aliens but got " + type.getParameter("space"), type.getParameter("space").equals("ali;ens")); + } + + // @Test + public void testSimpleAccepts1() + { + String accepts = "Accept: audio/*"; + List types = RestUtils.extractMediaTypesFromAcceptHeaderValue(accepts); + + LOGGER.debug("Parsed media type is : " + types); + + assertTrue(types != null); + assertTrue(types.size() == 1); + MediaType type = types.get(0); + assertTrue(type.getType().equals("audio")); + assertTrue(type.getSubType().equals("*")); + assertTrue(type.getParameters().isEmpty()); + } + + // @Test + public void testSimpleAccepts2() + { + String accepts = "Accept: audio/*;"; + List types = RestUtils.extractMediaTypesFromAcceptHeaderValue(accepts); + + LOGGER.debug("Parsed media type is : " + types); + + assertTrue(types != null); + assertTrue(types.size() == 1); + MediaType type = types.get(0); + assertTrue(type.getType().equals("audio")); + assertTrue(type.getSubType().equals("*")); + assertTrue(type.getParameters().isEmpty()); + } + + @Test + public void testAccepts1() + { + String accepts = "Accept: audio/*; q=0.2; z=35, audio/basic, audio/ben;crazy"; + List types = RestUtils.extractMediaTypesFromAcceptHeaderValue(accepts); + + LOGGER.debug("Parsed media type is : " + types); + + assertTrue(types != null); + assertTrue(types.size() == 3); + + MediaType type = types.get(0); + assertTrue(type.getType().equals("audio")); + assertTrue(type.getSubType().equals("basic")); + assertTrue(type.getParameters().isEmpty()); + + type = types.get(1); + assertTrue(type.getType().equals("audio")); + assertTrue(type.getSubType().equals("ben")); + assertTrue(type.getParameters().size() == 1); + assertTrue(type.getParameter("crazy").equals("")); + + type = types.get(2); + assertTrue(type.getType().equals("audio")); + assertTrue(type.getSubType().equals("*")); + assertTrue(type.getParameters().size() == 2); + assertTrue(type.getParameter("q").equals("0.2")); + assertTrue(type.getParameter("z").equals("35")); + } + + @Test + public void testLongAccepts1() + { + String accepts = "Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1,text/html;level=2;q=0.4, */*;q=0.5"; + List types = RestUtils.extractMediaTypesFromAcceptHeaderValue(accepts); + + LOGGER.debug("Parsed media type is : " + types); + + assertTrue(types != null); + assertTrue(types.size() == 5); + + MediaType type; + + type = types.get(0); + assertTrue(type.getType().equals("text")); + assertTrue(type.getSubType().equals("html")); + assertTrue(type.getParameters().size() == 1); + assertTrue(null == type.getParameter("crazy")); + + type = types.get(1); + assertTrue(type.getType().equals("text")); + assertTrue(type.getSubType().equals("html")); + assertTrue(type.getParameters().size() == 1); + assertTrue(type.getParameter("q").equals("0.7")); + + type = types.get(2); + assertTrue(type.getType().equals("*")); + assertTrue(type.getSubType().equals("*")); + assertTrue(type.getParameters().size() == 1); + assertTrue(type.getParameter("q").equals("0.5")); + + type = types.get(3); + assertTrue(type.getType().equals("text")); + assertTrue(type.getSubType().equals("html")); + assertTrue(type.getParameters().size() == 2); + assertTrue(type.getParameter("level").equals("2")); + assertTrue(type.getParameter("q").equals("0.4")); + + type = types.get(4); + assertTrue(type.getType().equals("text")); + assertTrue(type.getSubType().equals("*")); + assertTrue(type.getParameters().size() == 1); + assertTrue(type.getParameter("q").equals("0.3")); + } + + // @Test + public void wrmlContentTypeTest1() + { + String contentType = "Content-Type: application/wrml; schema=http://schema.api.wrml.org/org/wrml/example/model/Caprica;format=\"http://format.api.wrml.org/org/wrml/format/application/json\""; + MediaType type = RestUtils.extractMediaTypeFromContentTypeHeaderValue(contentType); + + LOGGER.debug("Parsed media type is : " + type); + + assertTrue(type.getType().equals("application")); + assertTrue(type.getSubType().equals("wrml")); + assertTrue(type.getParameters().size() == 2); + assertTrue(type.getParameter("schema").equals("http://schema.api.wrml.org/org/wrml/example/model/Caprica")); + assertTrue(type.getParameter("format").equals("http://format.api.wrml.org/org/wrml/format/application/json")); + } + + @Test + public void wrmlAcceptTest1() + { + String accepts = "Accept: application/wrml; schema=http://schema.api.wrml.org/org/wrml/example/model/Caprica;format=\"http://format.api.wrml.org/org/wrml/format/application/json\""; + List types = RestUtils.extractMediaTypesFromAcceptHeaderValue(accepts); + + LOGGER.debug("Parsed media type is : " + types); + + MediaType type; + + type = types.get(0); + assertTrue(type.getType().equals("application")); + assertTrue(type.getSubType().equals("wrml")); + assertTrue(type.getParameters().size() == 2); + assertTrue(type.getParameter("schema").equals("http://schema.api.wrml.org/org/wrml/example/model/Caprica")); + assertTrue(type.getParameter("format").equals("http://format.api.wrml.org/org/wrml/format/application/json")); + } +} diff --git a/core/src/test/java/org/wrml/runtime/rest/UriTemplateTest.java b/core/src/test/java/org/wrml/runtime/rest/UriTemplateTest.java new file mode 100644 index 0000000..b0a1627 --- /dev/null +++ b/core/src/test/java/org/wrml/runtime/rest/UriTemplateTest.java @@ -0,0 +1,148 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.rest; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import java.net.URI; +import java.net.URISyntaxException; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.SortedSet; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.runtime.syntax.SyntaxLoader; +import org.wrml.runtime.syntax.UriSyntaxHandler; + +public class UriTemplateTest +{ + + private static final Logger LOGGER = LoggerFactory.getLogger(UriTemplateTest.class); + + private SyntaxLoader _SyntaxLoader; + + final Map _ParameterMap = new HashMap() + { + private static final long serialVersionUID = 1L; + + { + put("moose", "crazy"); + put("squirrel", "nuts"); + } + }; + + @Before + public void init() + { + _SyntaxLoader = mock(SyntaxLoader.class); + when(_SyntaxLoader.formatSyntaxValue("crazy")).thenReturn("crazy"); + when(_SyntaxLoader.formatSyntaxValue("nuts")).thenReturn("nuts"); + when(_SyntaxLoader.getSyntaxHandler(String.class)).thenReturn(null); + UriSyntaxHandler optimus = new UriSyntaxHandler(); + when(_SyntaxLoader.getSyntaxHandler(URI.class)).thenReturn(optimus); + } + + @Test + public void evaluate() throws URISyntaxException + { + final String inputPattern = "/{moose}/{squirrel}"; + + LOGGER.debug("Input pattern is " + inputPattern); + + final UriTemplate t = new UriTemplate(_SyntaxLoader, inputPattern); + + final URI result = t.evaluate(_ParameterMap); + final URI expected = new URI("/crazy/nuts"); + + Assert.assertTrue("Expected " + expected + ", but got " + result, result.equals(expected)); + } + + @Test + public void pullParameters() throws URISyntaxException + { + final String inputPattern = "/{moose}/{squirrel}"; + + final UriTemplate t = new UriTemplate(_SyntaxLoader, inputPattern); + + final URI uri = new URI("/crazy/nuts"); + + final SortedSet params = t.getParameters(uri); + + Assert.assertTrue("Params should not be null...", params != null); + + final Iterator iter = params.iterator(); + Parameter p = iter.next(); + // LOGGER.debug(p); + Assert.assertTrue(p.getName().equals("moose")); + Assert.assertTrue(p.getValue().equals("crazy")); + p = iter.next(); + // LOGGER.debug(p); + Assert.assertTrue(p.getName().equals("squirrel")); + Assert.assertTrue(p.getValue().equals("nuts")); + } + + @Test + public void testCreate() + { + @SuppressWarnings("unused") + final UriTemplate t = new UriTemplate(_SyntaxLoader, "/{moose}/{squirrel}"); + } + + @Test + public void testParams() + { + final UriTemplate t = new UriTemplate(_SyntaxLoader, "/{moose}/{squirrel}"); + + final String[] expected = new String[] { "moose", "squirrel" }; + final List expectedList = Arrays.asList(expected); + + final String[] names = t.getParameterNames(); + final List realList = Arrays.asList(names); + + Assert.assertTrue("The expected param names " + expectedList.toString() + " do not match the actual " + realList.toString(), realList.equals(expectedList)); + } + + @Test + public void testLongParams() + { + final UriTemplate t = new UriTemplate(_SyntaxLoader, "/cylons/galaxy/{galaxy}/{quadrant}/aliens/{alienId}"); + + final String[] names = t.getParameterNames(); + final List realList = Arrays.asList(names); + + final String[] expected = new String[] { "galaxy", "quadrant", "alienId" }; + final List expectedList = Arrays.asList(expected); + + Assert.assertTrue("The expected param names " + expectedList.toString() + " do not match the actual " + realList.toString(), realList.equals(expectedList)); + } +} diff --git a/core/src/test/java/org/wrml/runtime/schema/SchemaBuilderTest.java b/core/src/test/java/org/wrml/runtime/schema/SchemaBuilderTest.java new file mode 100644 index 0000000..531a937 --- /dev/null +++ b/core/src/test/java/org/wrml/runtime/schema/SchemaBuilderTest.java @@ -0,0 +1,101 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.wrml.model.UniquelyNamed; +import org.wrml.model.rest.Document; +import org.wrml.runtime.Context; +import org.wrml.runtime.Engine; +import org.wrml.runtime.EngineTest; +import org.wrml.runtime.rest.SystemApi; +import org.wrml.util.UniqueName; + +import java.net.URI; +import java.util.Date; + +public class SchemaBuilderTest +{ + private Context _Context; + + @Before + public void setUp() throws Exception + { + + final Engine engine = EngineTest.createTestEngine(); + _Context = engine.getContext(); + + } + + @After + public void tearDown() throws Exception + { + + _Context = null; + } + + @Test(expected = IllegalArgumentException.class) + public void constructorParamContextNullFailure() + { + + new SchemaBuilder(null); + } + + @Test + public void contextNotNull() + { + + final SchemaBuilder schemaBuilder = new SchemaBuilder(_Context); + Assert.assertNotNull(schemaBuilder.getContext()); + } + + @Test + public void schemaNotNull() + { + + final SchemaBuilder schemaBuilder = new SchemaBuilder(_Context); + Assert.assertNotNull(schemaBuilder.toSchema()); + + } + + @Test + public void loadSchema001() throws ClassNotFoundException + { + + final UniqueName uniqueName = UniqueName.createTemporaryUniqueName(); + final URI uri = SystemApi.Schema.getUri().resolve("/" + uniqueName.toString()); + + final SchemaBuilder schemaBuilder = new SchemaBuilder(_Context, UniquelyNamed.SLOT_NAME_UNIQUE_NAME, uniqueName, Document.SLOT_NAME_URI, uri, "testInt1", 7, "testFlag", + true, "testTime", new Date(), "testText", "Hello World", "testLong", 8L); + + Assert.assertNotNull(schemaBuilder.load()); + + } + +} diff --git a/core/src/test/java/org/wrml/runtime/schema/SchemaLoaderTest.java b/core/src/test/java/org/wrml/runtime/schema/SchemaLoaderTest.java new file mode 100644 index 0000000..4633227 --- /dev/null +++ b/core/src/test/java/org/wrml/runtime/schema/SchemaLoaderTest.java @@ -0,0 +1,391 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.runtime.schema; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.format.Format; +import org.wrml.model.rest.Api; +import org.wrml.model.rest.Document; +import org.wrml.model.rest.LinkRelation; +import org.wrml.model.schema.Choices; +import org.wrml.model.schema.Schema; +import org.wrml.runtime.Context; +import org.wrml.runtime.ContextTest; +import org.wrml.runtime.DimensionsBuilder; +import org.wrml.runtime.format.application.schema.json.JsonSchema; +import org.wrml.util.UniqueName; + +import java.io.IOException; +import java.net.URI; +import java.util.SortedSet; + +public class SchemaLoaderTest +{ + + private static final Logger logger = LoggerFactory.getLogger(SchemaLoaderTest.class); + + private SchemaLoader _SchemaLoader; + + @Before + public void setUp() throws Exception + { + _SchemaLoader = ContextTest.createTestContext().getSchemaLoader(); + } + + @After + public void tearDown() throws Exception + { + + _SchemaLoader = null; + } + + @Test(expected = SchemaLoaderException.class) + public void initParamContextNullFailure() + { + + final SchemaLoader schemaLoader = new DefaultSchemaLoader(); + schemaLoader.init(null); + } + + @Test + public void schemaLoaderNotNull() + { + + Assert.assertNotNull(_SchemaLoader); + } + + @Test + public void contextNotNull() + { + + Assert.assertNotNull(_SchemaLoader.getContext()); + } + + @Test + public void jsonSchemaLoaderNotNull() + { + + Assert.assertNotNull(_SchemaLoader.getJsonSchemaLoader()); + } + + @Test + public void getLoadedSchemaUrisNotNull() + { + + Assert.assertNotNull(_SchemaLoader.getLoadedSchemaUris()); + } + + @Test + public void getLoadedSchemaUrisIsEmpty() + { + + Assert.assertTrue(_SchemaLoader.getLoadedSchemaUris().isEmpty()); + } + + @Test + public void getPrototypedSchemaUrisNotNull() + { + + Assert.assertNotNull(_SchemaLoader.getPrototypedSchemaUris()); + } + + @Test + public void getPrototypedSchemaUrisNotEmpty() + { + + Assert.assertTrue(!_SchemaLoader.getPrototypedSchemaUris().isEmpty()); + } + + @Test + public void getPrototypedSchemaUrisNotLying() + { + + final SortedSet prototypedSchemaUris = _SchemaLoader.getPrototypedSchemaUris(); + for (final URI schemaUri : prototypedSchemaUris) + { + final Prototype prototype = _SchemaLoader.getPrototype(schemaUri); + Assert.assertNotNull(prototype); + } + } + + @Test + public void loadPrototypedSchemas() + { + + final SortedSet prototypedSchemaUris = _SchemaLoader.getPrototypedSchemaUris(); + for (final URI schemaUri : prototypedSchemaUris) + { + final Schema schema = _SchemaLoader.load(schemaUri); + Assert.assertNotNull(schema); + } + + Assert.assertEquals(prototypedSchemaUris, _SchemaLoader.getLoadedSchemaUris()); + } + + @Test + public void getDocumentSchemaUri() + { + + Assert.assertEquals(_SchemaLoader.getDocumentSchemaUri(), _SchemaLoader.getTypeUri(Document.class)); + Assert.assertTrue(_SchemaLoader.getDocumentSchemaUri() == _SchemaLoader.getDocumentSchemaUri()); + } + + @Test + public void getSchemaSchemaUri() + { + + Assert.assertEquals(_SchemaLoader.getSchemaSchemaUri(), _SchemaLoader.getTypeUri(Schema.class)); + Assert.assertTrue(_SchemaLoader.getSchemaSchemaUri() == _SchemaLoader.getSchemaSchemaUri()); + } + + @Test + public void getSchemaDimensions() + { + + Assert.assertEquals(_SchemaLoader.getSchemaDimensions(), new DimensionsBuilder(_SchemaLoader.getTypeUri(Schema.class)).toDimensions()); + Assert.assertTrue(_SchemaLoader.getSchemaDimensions().getSchemaUri() == _SchemaLoader.getSchemaSchemaUri()); + Assert.assertTrue(_SchemaLoader.getSchemaDimensions() == _SchemaLoader.getSchemaDimensions()); + } + + @Test + public void getLinkRelationSchemaUri() + { + + Assert.assertEquals(_SchemaLoader.getLinkRelationSchemaUri(), _SchemaLoader.getTypeUri(LinkRelation.class)); + Assert.assertTrue(_SchemaLoader.getLinkRelationSchemaUri() == _SchemaLoader.getLinkRelationSchemaUri()); + } + + @Test + public void getLinkRelationDimensions() + { + Assert.assertEquals(_SchemaLoader.getLinkRelationDimensions(), new DimensionsBuilder(_SchemaLoader.getTypeUri(LinkRelation.class)).toDimensions()); + Assert.assertTrue(_SchemaLoader.getLinkRelationDimensions().getSchemaUri() == _SchemaLoader.getLinkRelationSchemaUri()); + Assert.assertTrue(_SchemaLoader.getLinkRelationDimensions() == _SchemaLoader.getLinkRelationDimensions()); + } + + @Test + public void getApiSchemaUri() + { + + Assert.assertEquals(_SchemaLoader.getApiSchemaUri(), _SchemaLoader.getTypeUri(Api.class)); + Assert.assertTrue(_SchemaLoader.getApiSchemaUri() == _SchemaLoader.getApiSchemaUri()); + } + + @Test + public void getApiDimensions() + { + + Assert.assertEquals(_SchemaLoader.getApiDimensions(), new DimensionsBuilder(_SchemaLoader.getTypeUri(Api.class)).toDimensions()); + Assert.assertTrue(_SchemaLoader.getApiDimensions().getSchemaUri() == _SchemaLoader.getApiSchemaUri()); + Assert.assertTrue(_SchemaLoader.getApiDimensions() == _SchemaLoader.getApiDimensions()); + } + + @Test + public void getFormatSchemaUri() + { + + Assert.assertEquals(_SchemaLoader.getFormatSchemaUri(), _SchemaLoader.getTypeUri(Format.class)); + Assert.assertTrue(_SchemaLoader.getFormatSchemaUri() == _SchemaLoader.getFormatSchemaUri()); + } + + @Test + public void getFormatDimensions() + { + + Assert.assertEquals(_SchemaLoader.getFormatDimensions(), new DimensionsBuilder(_SchemaLoader.getTypeUri(Format.class)).toDimensions()); + Assert.assertTrue(_SchemaLoader.getFormatDimensions().getSchemaUri() == _SchemaLoader.getFormatSchemaUri()); + Assert.assertTrue(_SchemaLoader.getFormatDimensions() == _SchemaLoader.getFormatDimensions()); + } + + @Test + public void loadWrmlSchemaA() throws IOException + { + + final Schema schema = ContextTest.getModelResource(_SchemaLoader.getContext(), ContextTest.WRML_SCHEMA_A_URI, _SchemaLoader.getSchemaDimensions()); + Assert.assertNotNull(schema); + } + + @Test + public void convertWrmlSchemaToJsonSchemaA() throws IOException + { + + final Schema schema = ContextTest.getModelResource(_SchemaLoader.getContext(), ContextTest.WRML_SCHEMA_A_URI, _SchemaLoader.getSchemaDimensions()); + final JsonSchema jsonSchema = _SchemaLoader.getJsonSchemaLoader().load(schema); + Assert.assertNotNull(jsonSchema); + + } + + @Test + public void loadWrmlSchemaB() throws IOException + { + + final Schema schema = ContextTest.getModelResource(_SchemaLoader.getContext(), ContextTest.WRML_SCHEMA_B_URI, _SchemaLoader.getSchemaDimensions()); + Assert.assertNotNull(schema); + } + + @Test + public void convertWrmlSchemaToJsonSchemaB() throws IOException + { + + final Schema schema = ContextTest.getModelResource(_SchemaLoader.getContext(), ContextTest.WRML_SCHEMA_B_URI, _SchemaLoader.getSchemaDimensions()); + final JsonSchema jsonSchema = _SchemaLoader.getJsonSchemaLoader().load(schema); + Assert.assertNotNull(jsonSchema); + + } + + @Test + public void loadWrmlSchemaC() throws IOException + { + + final Schema schema = ContextTest.getModelResource(_SchemaLoader.getContext(), ContextTest.WRML_SCHEMA_C_URI, _SchemaLoader.getSchemaDimensions()); + Assert.assertNotNull(schema); + } + + @Test + public void convertWrmlSchemaToJsonSchemaC() throws IOException + { + + final Schema schema = ContextTest.getModelResource(_SchemaLoader.getContext(), ContextTest.WRML_SCHEMA_C_URI, _SchemaLoader.getSchemaDimensions()); + final JsonSchema jsonSchema = _SchemaLoader.getJsonSchemaLoader().load(schema); + Assert.assertNotNull(jsonSchema); + + } + + @Test + public void loadWrmlChoicesWrmlLetters() throws IOException + { + + final Choices choices = ContextTest.getModelResource(_SchemaLoader.getContext(), ContextTest.WRML_CHOICES_WRML_LETTERS_URI, _SchemaLoader.getChoicesDimensions()); + Assert.assertNotNull(choices); + } + + @Test + public void loadWrmlChoicesAlphabet() throws IOException + { + + final Choices choices = ContextTest.getModelResource(_SchemaLoader.getContext(), ContextTest.WRML_CHOICES_ALPHABET_URI, _SchemaLoader.getChoicesDimensions()); + Assert.assertNotNull(choices); + } + + @Ignore + @Test + public void getSchemaSubsystemSchemaNames() throws IOException + { + + final String packageName = Schema.class.getPackage().getName(); + final UniqueName namespace = new UniqueName(packageName.replace('.', UniqueName.NAME_SEPARATOR_CHAR)); + logger.debug("Listing schema names within: {}", namespace); + final SortedSet schemaNames = _SchemaLoader.getSchemaNames(namespace); + + Assert.assertTrue(!schemaNames.isEmpty()); + + for (final UniqueName schemaName : schemaNames) + { + logger.debug("Schema subsystem model: {}", schemaName); + } + } + + @Ignore + @Test + public void getRestSubsystemSchemaNames() throws IOException + { + + final String packageName = Api.class.getPackage().getName(); + final UniqueName namespace = new UniqueName(packageName.replace('.', UniqueName.NAME_SEPARATOR_CHAR)); + logger.debug("Listing schema names within: {}", namespace); + final SortedSet schemaNames = _SchemaLoader.getSchemaNames(namespace); + + // TODO: Need to re-enable listing schemas from memory + + // Assert.assertTrue(!schemaNames.isEmpty()); + + for (final UniqueName schemaName : schemaNames) + { + logger.debug("REST subsystem model: " + schemaName); + } + } + + @Ignore + @Test + public void getNoSchemaNames() throws IOException + { + + final UniqueName namespace = new UniqueName("org/wrml/noschemas"); + logger.debug("Listing schema names within: {}", namespace); + final SortedSet schemaNames = _SchemaLoader.getSchemaNames(namespace); + + Assert.assertTrue(schemaNames.isEmpty()); + } + + @Ignore + @Test + public void getTestNamespaceSchemaNames() throws IOException, ClassNotFoundException + { + + final Context context = _SchemaLoader.getContext(); + final Schema schema = ContextTest.getModelResource(context, ContextTest.WRML_SCHEMA_SCREEN_URI, _SchemaLoader.getSchemaDimensions()); + context.newModel(schema.getUri()); + final UniqueName namespace = new UniqueName(schema.getUniqueName().getNamespace()); + logger.debug("Listing schema names within: {}", namespace); + final SortedSet schemaNames = _SchemaLoader.getSchemaNames(namespace); + + // TODO: Need to re-enable listing schemas from memory + + // Assert.assertTrue(!schemaNames.isEmpty()); + + for (final UniqueName schemaName : schemaNames) + { + logger.debug("Test models: {}", schemaName); + } + } + + @Ignore + @Test + public void getWrmlNamespaceSchemaSubnamespaces() throws IOException, ClassNotFoundException + { + + final Context context = _SchemaLoader.getContext(); + context.newModel(ContextTest.WRML_SCHEMA_SCREEN_URI); + + final UniqueName namespace = new UniqueName("org/wrml"); + logger.debug("Listing schema subnamespaces within: {}", namespace); + final SortedSet subnamespaces = _SchemaLoader.getSchemaSubnamespaces(namespace); + + Assert.assertTrue(!subnamespaces.isEmpty()); + + for (final UniqueName subnamespace : subnamespaces) + { + logger.debug("org/wrml subnamespace: {}", subnamespace); + } + } + +} diff --git a/core/src/test/java/org/wrml/util/AsciiArtTest.java b/core/src/test/java/org/wrml/util/AsciiArtTest.java new file mode 100644 index 0000000..a841fc1 --- /dev/null +++ b/core/src/test/java/org/wrml/util/AsciiArtTest.java @@ -0,0 +1,210 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.util; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.powermock.api.mockito.PowerMockito.mock; +import static org.powermock.api.mockito.PowerMockito.when; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; +import org.wrml.model.Model; +import org.wrml.model.rest.Api; +import org.wrml.model.rest.LinkTemplate; +import org.wrml.model.rest.ResourceTemplate; +import org.wrml.runtime.Context; +import org.wrml.runtime.DefaultContext; +import org.wrml.runtime.Dimensions; +import org.wrml.runtime.Engine; +import org.wrml.runtime.EngineTest; +import org.wrml.runtime.rest.ApiNavigator; +import org.wrml.runtime.rest.Resource; +import org.wrml.runtime.schema.DefaultSchemaLoader; + +import java.util.List; +import java.util.concurrent.ConcurrentHashMap; + +@RunWith(PowerMockRunner.class) +@PrepareForTest({Resource.class}) +public class AsciiArtTest +{ + + Api _Api; + + ApiNavigator _ApiNavigator; + + Resource docRoot; + + ResourceTemplate _ResourceTemplate; + + List linkTemplates; + + @SuppressWarnings("unchecked") + @Before + public void setUp() throws Exception + { + _Api = mock(Api.class); + _ApiNavigator = mock(ApiNavigator.class); + docRoot = mock(Resource.class); + _ResourceTemplate = mock(ResourceTemplate.class); + linkTemplates = mock(List.class); + + when(docRoot.getPathSegment()).thenReturn("root"); + when(_ApiNavigator.getApi()).thenReturn(_Api); + when(_ApiNavigator.getDocroot()).thenReturn(docRoot); + when(_Api.getLinkTemplates()).thenReturn(linkTemplates); + + } + + @After + public void tearDown() throws Exception + { + } + + @Test + public void testExpressApiNavigator() + { + String result = AsciiArt.express(_ApiNavigator); + assertNotNull(result); + } + + /** + *

    + *
  • A + *
      + *
    • B + *
        + *
      • D + *
      + *
    • C + *
    + *
+ */ + @Test + public void testPrintAsciiTree() throws Exception + { + ConcurrentHashMap docRootPathResources = new ConcurrentHashMap(); + ConcurrentHashMap nodeAPathResources = new ConcurrentHashMap(); + ConcurrentHashMap nodeBPathResources = new ConcurrentHashMap(); + final Resource a = mock(Resource.class); + final Resource b = mock(Resource.class); + final Resource c = mock(Resource.class); + final Resource d = mock(Resource.class); + when(a.getPathSegment()).thenReturn("node-a"); + when(b.getPathSegment()).thenReturn("node-b"); + when(c.getPathSegment()).thenReturn("node-c"); + when(d.getPathSegment()).thenReturn("node-d"); + + docRootPathResources.put("A", a); + nodeAPathResources.put("B", b); + nodeAPathResources.put("C", c); + nodeBPathResources.put("D", d); + + when(docRoot.getLiteralPathSubresources()).thenReturn(docRootPathResources); + when(a.getLiteralPathSubresources()).thenReturn(nodeAPathResources); + when(b.getLiteralPathSubresources()).thenReturn(nodeBPathResources); + + String result = AsciiArt.expressAsciiTree(new AsciiArt.ResourceAsciiTreeNode(docRoot)); + + assertNotNull(result); + + assertTrue(result.contains("\n+--/node-a")); + assertTrue(result.contains("\n +--/node-b")); + assertTrue(result.contains("\n | +--/node-d")); + assertTrue(result.contains("\n +--/node-c")); + + } + + @Test + public void testExpressModel() throws Exception + { + final Model model = mock(Model.class); + final Dimensions dimensions = mock(Dimensions.class); + final Engine engine = EngineTest.createTestEngine(); + final Context _Context = engine.getContext(); + when(model.getContext()).thenReturn(_Context); + when(model.getDimensions()).thenReturn(dimensions); + + String result = AsciiArt.express(model); + assertNotNull(result); + } + + @Test + public void testExpressObject() + { + String result = AsciiArt.express((Object) "abc"); + assertNotNull(result); + } + + /** + * @see {@link DefaultContext#toString()} (overrides {@link Object#toString() toString()}) + * @see {@link DefaultSchemaLoader#toString()} (does NOT override {@link Object#toString() toString()}) + */ + @Test + public void testExpressRecursiveObject() + { + assertNotNull(AsciiArt.express(new DefaultContext())); + assertNull(AsciiArt.express(new DefaultSchemaLoader())); + } + + @Test + public void testExpressObjectNull() + { + assertNull(null); + } + + /** + * Test to resolve issue WRML-213. + * + * @see https://wrmlorg.jira.com/browse/WRML-213 + */ + @Test + public void testNoAsciiPrintDeadEnds() throws Exception + { + ConcurrentHashMap docRootPathResources = new ConcurrentHashMap(); + ConcurrentHashMap nodeAPathResources = new ConcurrentHashMap(); + final Resource a = mock(Resource.class); + final Resource b = mock(Resource.class); + when(a.getPathSegment()).thenReturn("{uniqueName}"); + when(b.getPathSegment()).thenReturn("foo"); + docRootPathResources.put("A", a); + nodeAPathResources.put("B", b); + when(docRoot.getLiteralPathSubresources()).thenReturn(docRootPathResources); + when(a.getLiteralPathSubresources()).thenReturn(nodeAPathResources); + + String result = AsciiArt.expressAsciiTree(new AsciiArt.ResourceAsciiTreeNode(docRoot)); + + assertNotNull(result); + assertTrue(result.contains("\n+--/{uniqueName}\n | \n +--/foo")); + } + +} \ No newline at end of file diff --git a/core/src/test/java/org/wrml/util/PrefixTreeBaseTest.java b/core/src/test/java/org/wrml/util/PrefixTreeBaseTest.java new file mode 100644 index 0000000..42b1db1 --- /dev/null +++ b/core/src/test/java/org/wrml/util/PrefixTreeBaseTest.java @@ -0,0 +1,30 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.util; + +public class PrefixTreeBaseTest +{ + +} diff --git a/core/src/test/java/org/wrml/util/PrefixTreeNodeTest.java b/core/src/test/java/org/wrml/util/PrefixTreeNodeTest.java new file mode 100644 index 0000000..0c9662f --- /dev/null +++ b/core/src/test/java/org/wrml/util/PrefixTreeNodeTest.java @@ -0,0 +1,117 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.util; + +import java.util.Set; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.wrml.runtime.rest.ApiNavigator; + +public class PrefixTreeNodeTest +{ + private static final String VALUE_1 = "borris"; + + private static final String VALUE_2 = "natasha"; + + private static final String SEGMENT_1 = "address"; + + private PrefixTreeNode _Node; + + @Before + public void init() + { + _Node = new PrefixTreeNode<>(); + } + + @Test + public void emptyNodeToStringTest() + { + String emptyNode = _Node.toString(); + Assert.assertEquals("Value: []\nPaths: []", emptyNode); + } + + @Test + public void setValue() + { + _Node.setValue(VALUE_1); + + String node = _Node.toString(); + Assert.assertEquals("Value: [" + VALUE_1 + "]\nPaths: []", node); + } + + @Test + public void getSetValue() + { + String node = _Node.getValue(); + Assert.assertNull(node); + + _Node.setValue(VALUE_1); + node = _Node.getValue(); + + Assert.assertEquals(VALUE_1, node); + } + + @Test + public void getEmptyLink() + { + PrefixTreeNode node = _Node.getLink(SEGMENT_1); + Assert.assertNotNull(node); + Assert.assertEquals(node, PrefixTreeNode.EMPTY_NODE); + } + + @Test + public void getSetLink() + { + PrefixTreeNode node = _Node.addLink(SEGMENT_1, VALUE_1); + Assert.assertNotNull(node); + Assert.assertNotEquals(node, PrefixTreeNode.EMPTY_NODE); + + PrefixTreeNode node2 = _Node.getLink(SEGMENT_1); + Assert.assertNotNull(node2); + Assert.assertEquals(node2, node); + } + + @Test + public void fullToString() + { + _Node.setValue(VALUE_1); + _Node.addLink(SEGMENT_1, VALUE_2); + + String rep = _Node.toString(); + Assert.assertEquals("Value: [borris]\nPaths: [address, ]", rep); + } + + @Test + public void deepPrintTest() + { + + _Node.setValue(VALUE_1); + _Node.addLink(SEGMENT_1, VALUE_2); + + Set paths = _Node.deepPrint(ApiNavigator.PATH_SEPARATOR_CHAR); + Assert.assertEquals(paths.toString(), "[address/natasha, borris]"); + } +} diff --git a/core/src/test/java/org/wrml/util/SimplePrefixTreeTest.java b/core/src/test/java/org/wrml/util/SimplePrefixTreeTest.java new file mode 100644 index 0000000..ffecda0 --- /dev/null +++ b/core/src/test/java/org/wrml/util/SimplePrefixTreeTest.java @@ -0,0 +1,151 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.util; + +import java.util.List; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.*; +import org.wrml.runtime.rest.ApiNavigator; + +public class SimplePrefixTreeTest +{ + private SimplePrefixTree _Tree; + + private String PATH_1 = "moose/squirrel"; + + private String PATH_1_PRE = PrefixTreeBase.PATH_SEPARATOR + PATH_1; + + private String PATH_1_POST = PATH_1 + PrefixTreeBase.PATH_SEPARATOR; + + private String PATH_1_PREPOST = PrefixTreeBase.PATH_SEPARATOR + PATH_1 + PrefixTreeBase.PATH_SEPARATOR; + + private String PATH_1_VAL = "natasha"; + + private String PATH_2 = "*/russian"; + + private String PATH_2_VAL = "borris"; + + @Before + public void setUp() + { + _Tree = new SimplePrefixTree<>(); + } + + @After + public void tearDown() + { + + _Tree = null; + } + + @Test + public void blankDeepPrint() + { + String rep = _Tree.deepPrint(); + System.out.println("Current represenation is : \n" + rep); + assertTrue(rep.equals("")); + } + + @Test + public void simpleDeepPrint() + { + _Tree.setPath(PATH_1, PATH_1_VAL); + String rep = _Tree.deepPrint(); + System.out.println("Current represenation is : \n" + rep); + assertTrue(rep.equals(PATH_1 + ApiNavigator.PATH_SEPARATOR + PATH_1_VAL + "\n")); + } + + @Test + public void setPath() + { + _Tree.setPath(PATH_1, PATH_1_VAL); + } + + @Test + public void setPathTwice() + { + _Tree.setPath(PATH_1, PATH_1_VAL); + _Tree.setPath(PATH_1, PATH_2_VAL); + + String val =_Tree.matchPath(PATH_1); + assertEquals(val, PATH_2_VAL); + } + + /* + * SimplePrefixTree just interprets this as a segment. + */ + public void setPathNonTerminalWild() + { + _Tree.setPath(PATH_2, PATH_2_VAL); + } + + @Test + public void addAndMatch() + { + + setPath(); + + String match = _Tree.matchPath(PATH_1); + + assertTrue(match != null); + assertTrue(match.equals(PATH_1_VAL)); + } + + @Test + public void addAndMatchCapturesNull() + { + + setPath(); + + String match = _Tree.matchPath(PATH_1); + + assertTrue(match != null); + assertTrue(match.equals(PATH_1_VAL)); + } + + @Test + public void segmentPathEquality() + { + List basic = _Tree.segmentPath(PATH_1); + List pre = _Tree.segmentPath(PATH_1_PRE); + List post = _Tree.segmentPath(PATH_1_POST); + List prepost = _Tree.segmentPath(PATH_1_PREPOST); + + assertEquals(basic.size(), pre.size()); + assertEquals(basic.size(), post.size()); + assertEquals(basic.size(), prepost.size()); + + for(int i = 0; i < basic.size(); i++) + { + String segment = basic.get(i); + assertTrue(segment.equals(pre.get(i))); + assertTrue(segment.equals(post.get(i))); + assertTrue(segment.equals(prepost.get(i))); + } + } +} diff --git a/core/src/test/java/org/wrml/util/WildCardPrefixTreeTest.java b/core/src/test/java/org/wrml/util/WildCardPrefixTreeTest.java new file mode 100644 index 0000000..1400215 --- /dev/null +++ b/core/src/test/java/org/wrml/util/WildCardPrefixTreeTest.java @@ -0,0 +1,154 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright 2012 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.util; + +import java.util.List; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.*; +import org.wrml.runtime.rest.ApiNavigator; + +public class WildCardPrefixTreeTest +{ + private WildCardPrefixTree _Tree; + + private String PATH_1 = "moose/squirrel"; + + private String PATH_1_PRE = ApiNavigator.PATH_SEPARATOR + PATH_1; + + private String PATH_1_POST = PATH_1 + ApiNavigator.PATH_SEPARATOR; + + private String PATH_1_PREPOST = ApiNavigator.PATH_SEPARATOR + PATH_1 + ApiNavigator.PATH_SEPARATOR; + + private String PATH_1_VAL = "natasha"; + + private String PATH_2 = "*/russian"; + + private String PATH_2_VAL = "borris"; + + @Before + public void setUp() + { + + _Tree = new WildCardPrefixTree<>(false); + } + + @After + public void tearDown() + { + + _Tree = null; + } + + @Test + public void blankDeepPrint() + { + String rep = _Tree.deepPrint(); + System.out.println("Current represenation is : \n" + rep); + assertTrue(rep.equals("")); + } + + @Test + public void simpleDeepPrint() + { + _Tree.setPath(PATH_1, PATH_1_VAL); + String rep = _Tree.deepPrint(); + System.out.println("Current represenation is : \n" + rep); + assertTrue(rep.equals(PATH_1 + ApiNavigator.PATH_SEPARATOR + PATH_1_VAL + "\n")); + } + + @Test + public void setPath() + { + _Tree.setPath(PATH_1, PATH_1_VAL); + } + + @Test + public void setPathTwice() + { + _Tree.setPath(PATH_1, PATH_1_VAL); + _Tree.setPath(PATH_1, PATH_2_VAL); + + String val =_Tree.matchPath(PATH_1); + assertEquals(val, PATH_2_VAL); + } + + /** + * The instance is initialized not to allow non-terminal wilds. + * Make sure we find this exceptional. + */ + @Test(expected=RuntimeException.class) + public void setPathNonTerminalWild() + { + _Tree.setPath(PATH_2, PATH_2_VAL); + } + + @Test + public void addAndMatch() + { + + setPath(); + + String match = _Tree.matchPath(PATH_1); + + assertTrue(match != null); + assertTrue(match.equals(PATH_1_VAL)); + } + + @Test + public void addAndMatchCapturesNull() + { + + setPath(); + + String match = _Tree.matchPath(PATH_1); + + assertTrue(match != null); + assertTrue(match.equals(PATH_1_VAL)); + } + + @Test + public void segmentPathEquality() + { + List basic = _Tree.segmentPath(PATH_1); + List pre = _Tree.segmentPath(PATH_1_PRE); + List post = _Tree.segmentPath(PATH_1_POST); + List prepost = _Tree.segmentPath(PATH_1_PREPOST); + + assertEquals(basic.size(), pre.size()); + assertEquals(basic.size(), post.size()); + assertEquals(basic.size(), prepost.size()); + + for(int i = 0; i < basic.size(); i++) + { + String segment = basic.get(i); + assertTrue(segment.equals(pre.get(i))); + assertTrue(segment.equals(post.get(i))); + assertTrue(segment.equals(prepost.get(i))); + } + } +} diff --git a/core/src/test/resources/logback-test.xml b/core/src/test/resources/logback-test.xml new file mode 100644 index 0000000..5e415a8 --- /dev/null +++ b/core/src/test/resources/logback-test.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/AddressablePerson b/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/AddressablePerson new file mode 100644 index 0000000..bb7d4dd --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/AddressablePerson @@ -0,0 +1,15 @@ +{ + "title": "AddressablePerson", + "description" : "Example Person with address JSON Schema", + "type": "object", + "allOf" : [ + { "$ref" : "http://schema.api.wrml.org/org/wrml/test/Person" }, + { "$ref" : "http://schema.api.wrml.org/org/wrml/test/PostalAddress" } + ], + "properties": { + "mailable" : { + "type" : "boolean" + } + }, + "required": ["mailable"] +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/BusinessAddress b/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/BusinessAddress new file mode 100644 index 0000000..8e1bc54 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/BusinessAddress @@ -0,0 +1,11 @@ +{ + "title": "Postal Business Address", + "description" : "Example Business Address JSON Schema", + "type" : "object", + "extends" : "http://schema.api.wrml.org/org/wrml/test/PostalAddress", + "properties" : { + "businessName" : { + "type" : "string" + } + } +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/ContactInformation b/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/ContactInformation new file mode 100644 index 0000000..d9edaca --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/ContactInformation @@ -0,0 +1,26 @@ +{ + "title": "Contact Information", + "description" : "Example Contact Information JSON Schema", + "type" : "object", + "properties" : { + "name" : { + "type" : "string", + "enum" : ["home", "work", "other"] + }, + "phone" : { + "type" : "string", + "optional" : true, + "format" : "phone" + }, + "mobile" : { + "type" : "string", + "optional" : true, + "format" : "phone" + }, + "email" : { + "type" : "string", + "optional" : true, + "format" : "email" + } + } +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/DependencyCheck b/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/DependencyCheck new file mode 100644 index 0000000..a1799c9 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/DependencyCheck @@ -0,0 +1,13 @@ +{ + "properties" : { + "a" : { + "type" : "string" + }, + "b" : { + "type" : "string" + } + }, + "dependencies" : { + "a" : ["b","c"] + } +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/ImportantPerson b/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/ImportantPerson new file mode 100644 index 0000000..0360f31 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/ImportantPerson @@ -0,0 +1,14 @@ +{ + "title": "ImportantPerson", + "description" : "Example Important Person JSON Schema", + "type": "object", + "allOf" : [ + { "$ref" : "http://schema.api.wrml.org/org/wrml/test/Person" } + ], + "properties": { + "status" : { + "type" : "string" + } + }, + "required": ["status"] +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/MultipleOf4 b/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/MultipleOf4 new file mode 100644 index 0000000..1fcc997 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/MultipleOf4 @@ -0,0 +1,12 @@ +{ + "title": "Multiple of 4 value", + "description" : "Example using the multipleof JSON Schema", + "type" : "object", + "properties" : { + "value" : { + "type" : "integer", + "multipleOf" : 4, + "required" : true + } + } +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/MultipleOf5 b/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/MultipleOf5 new file mode 100644 index 0000000..15e2762 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/MultipleOf5 @@ -0,0 +1,12 @@ +{ + "title": "Multiple of 5 value", + "description" : "Example using the multipleof JSON Schema", + "type" : "object", + "properties" : { + "value" : { + "type" : "integer", + "multipleOf" : 5 + } + }, + "required" : [ "value" ] +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/Person b/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/Person new file mode 100644 index 0000000..7f32f7d --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/Person @@ -0,0 +1,19 @@ +{ + "title": "Person", + "description" : "Example Person JSON Schema", + "type": "object", + "properties": { + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "age": { + "description": "Age in years", + "type": "integer", + "minimum": 0 + } + }, + "required": ["firstName", "lastName"] +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/PostalAddress b/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/PostalAddress new file mode 100644 index 0000000..c1c673f --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/format/application/schema/json/resources/test/org/wrml/test/PostalAddress @@ -0,0 +1,30 @@ +{ + "title": "Postal Address", + "description" : "Example Address JSON Schema", + "type" : "object", + "properties" : { + "address" : { + "title": "Street name and number", + "type" : "string" + }, + "city" : { + "title" : "City name", + "type" : "string" + }, + "postalCode" : { + "title" : "Zip Code: 2 letters dash five digits", + "type" : "string", + "pattern" : "^[A-Z]{2}-[0-9]{5}$" + }, + "region" : { + "title" : "Optional Region name", + "type" : "string", + "optional" : true + }, + "country" : { + "title" : "Country name", + "type" : "string" + } + }, + "additionalProperties" : false +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/choices/api/wrml/org/org/wrml/test/Alphabet.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/choices/api/wrml/org/org/wrml/test/Alphabet.json new file mode 100644 index 0000000..b34d306 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/choices/api/wrml/org/org/wrml/test/Alphabet.json @@ -0,0 +1,33 @@ +{ + "uniqueName" : "org/wrml/test/Alphabet", + "list" : + [ + "alf", + "buckarooBanzai", + "capricaSix", + "darkwingDuck", + "et", + "flashGordon", + "gandalf", + "heMan", + "I", + "J", + "k", + "l", + "m", + "n", + "o", + "p", + "q", + "r", + "s", + "T", + "u", + "V", + "W", + "x", + "y", + "zippy" + ], + "version" : 1 +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/choices/api/wrml/org/org/wrml/test/WrmlLetters.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/choices/api/wrml/org/org/wrml/test/WrmlLetters.json new file mode 100644 index 0000000..263ca7b --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/choices/api/wrml/org/org/wrml/test/WrmlLetters.json @@ -0,0 +1,11 @@ +{ + "uniqueName" : "org/wrml/test/WrmlLetters", + "list" : + [ + "W", + "R", + "M", + "L" + ], + "version" : 1 +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/a.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/a.json new file mode 100644 index 0000000..175a6c3 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/a.json @@ -0,0 +1,6 @@ +{ + "uniqueName" : "org/wrml/test/a", + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/A", + "method" : "Get", + "version" : 1 +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/b.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/b.json new file mode 100644 index 0000000..6cbad4a --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/b.json @@ -0,0 +1,6 @@ +{ + "uniqueName" : "org/wrml/test/b", + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/B", + "method" : "Get", + "version" : 1 +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/c.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/c.json new file mode 100644 index 0000000..9dead69 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/c.json @@ -0,0 +1,6 @@ +{ + "uniqueName" : "org/wrml/test/c", + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/C", + "method" : "Get", + "version" : 1 +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/defaultGuild.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/defaultGuild.json new file mode 100644 index 0000000..9fe5d62 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/defaultGuild.json @@ -0,0 +1,4 @@ +{ + "uniqueName" : "org/wrml/test/wizard/defaultGuild", + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Guild" +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/defaultSpell.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/defaultSpell.json new file mode 100644 index 0000000..69d222d --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/defaultSpell.json @@ -0,0 +1,4 @@ +{ + "uniqueName" : "org/wrml/test/wizard/defaultSpell", + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Spell" +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/guild.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/guild.json new file mode 100644 index 0000000..059569e --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/guild.json @@ -0,0 +1,4 @@ +{ + "uniqueName" : "org/wrml/test/wizard/guild", + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Guild" +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/primarySpell.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/primarySpell.json new file mode 100644 index 0000000..52e9527 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/primarySpell.json @@ -0,0 +1,4 @@ +{ + "uniqueName" : "org/wrml/test/wizard/primarySpell", + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Spell" +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/rivalGuild.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/rivalGuild.json new file mode 100644 index 0000000..d6a55a7 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/rivalGuild.json @@ -0,0 +1,4 @@ +{ + "uniqueName" : "org/wrml/test/wizard/rivalGuild", + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Guild" +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/secondarySpell.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/secondarySpell.json new file mode 100644 index 0000000..4c8686e --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/secondarySpell.json @@ -0,0 +1,4 @@ +{ + "uniqueName" : "org/wrml/test/wizard/secondarySpell", + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Spell" +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/spell.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/spell.json new file mode 100644 index 0000000..da5b65d --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/relation/api/wrml/org/org/wrml/test/wizard/spell.json @@ -0,0 +1,4 @@ +{ + "uniqueName" : "org/wrml/test/wizard/spell", + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Spell" +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/A.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/A.json new file mode 100644 index 0000000..4705d4b --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/A.json @@ -0,0 +1,110 @@ +{ + "uniqueName" : "org/wrml/test/A", + "title" : "A", + "description" : "The atomic A test schema", + "version" : 1, + + "baseSchemaUris" : + [ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" + ], + + "keySlotNames" : + [ + "aKey" + ], + + "slots" : + [ + { + "name" : "aKey", + "description" : "The key slot that uniquely identifies A model instances.", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/IntegerValue" + } + }, + + { + "name" : "aText", + "aliases" : + [ + "aTextSlot" + ], + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/TextValue", + "minimumLength" : 2, + "maximumLength" : 100 + } + }, + + { + "name" : "aUuid", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/TextValue", + "syntaxUri" : "http://syntax.api.wrml.org/org/wrml/syntax/UUID" + } + }, + + { + "name" : "aDate", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/DateValue" + } + }, + + { + "name" : "aDouble", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/DoubleValue" + } + }, + + { + "name" : "aMediaType", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/TextValue", + "syntaxUri" : "http://syntax.api.wrml.org/org/wrml/syntax/MediaType" + } + }, + + { + "name" : "aTextList", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/ListValue", + "elementSlot" : + { + "name" : "E", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/TextValue" + } + } + } + }, + + { + "name" : "aUriList", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/ListValue", + "elementSlot" : + { + "name" : "E", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/TextValue", + "syntaxUri" : "http://syntax.api.wrml.org/org/wrml/syntax/URI" + } + } + } + } + + ] +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/B.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/B.json new file mode 100644 index 0000000..c510523 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/B.json @@ -0,0 +1,37 @@ +{ + "uniqueName" : "org/wrml/test/B", + "title" : "B", + "description" : "The atomic B test schema", + "version" : 1, + + "baseSchemaUris" : + [ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" + ], + + "keySlotNames" : + [ + "bKey" + ], + + "slots" : + [ + { + "name" : "bKey", + "description" : "The key slot that uniquely identifies B model instances.", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/IntegerValue" + } + }, + + { + "name" : "bInt", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/IntegerValue" + } + } + ] + +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/C.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/C.json new file mode 100644 index 0000000..25f87e3 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/C.json @@ -0,0 +1,43 @@ +{ + "uniqueName" : "org/wrml/test/C", + "title" : "C", + "description" : "The atomic C test schema", + "version" : 1, + + "baseSchemaUris" : + [ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" + ], + + "keySlotNames" : + [ + "cKey" + ], + + "slots" : + [ + { + "name" : "cKey", + "description" : "The key slot that uniquely identifies C model instances.", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/IntegerValue" + } + }, + { + "name" : "cDouble", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/DoubleValue" + } + }, + { + "name" : "cFlag", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/BooleanValue", + "default" : true + } + } + ] +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/Screen.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/Screen.json new file mode 100644 index 0000000..81868b8 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/Screen.json @@ -0,0 +1,71 @@ +{ + "uniqueName" : "org/wrml/test/Screen", + "version" : 1, + "description" : "The aggregate Screen test schema", + + "keySlotNames" : + [ + "aKey", + "bKey", + "cKey" + ], + + "baseSchemaUris" : + [ + "http://schema.api.wrml.org/org/wrml/model/rest/AggregateDocument" + ], + + "slots" : + [ + { + "name" : "aKey", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/IntegerValue" + } + }, + { + "name" : "bKey", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/IntegerValue" + } + }, + { + "name" : "cKey", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/IntegerValue" + } + }, + { + "name" : "a", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/LinkValue", + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/A", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/test/a", + "embedded" : true + } + }, + { + "name" : "b", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/LinkValue", + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/B", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/test/b", + "embedded" : true + } + }, + { + "name" : "c", + "value" : { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/LinkValue", + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/C", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/test/c", + "embedded" : true + } + } + ] +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/wizard/Guild.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/wizard/Guild.json new file mode 100644 index 0000000..56edd9a --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/wizard/Guild.json @@ -0,0 +1,30 @@ +{ + "uniqueName" : "org/wrml/test/wizard/Guild", + "title" : "Guild", + "description" : "A Wizard guild.", + "version" : 1, + + "baseSchemaUris" : + [ + "http://schema.api.wrml.org/org/wrml/model/Named", + "http://schema.api.wrml.org/org/wrml/model/rest/Document" + ], + + "keySlotNames" : + [ + "id" + ], + + "slots" : + [ + { + "name" : "id", + "description" : "The key slot that uniquely identifies a Guild.", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/IntegerValue" + } + } + + ] +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/wizard/Spell.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/wizard/Spell.json new file mode 100644 index 0000000..4d3dbd5 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/wizard/Spell.json @@ -0,0 +1,29 @@ +{ + "uniqueName" : "org/wrml/test/wizard/Spell", + "title" : "Spell", + "description" : "A Wizard spell.", + "version" : 1, + + "baseSchemaUris" : + [ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" + ], + + "keySlotNames" : + [ + "spellId" + ], + + "slots" : + [ + { + "name" : "spellId", + "description" : "The key slot that uniquely identifies a Spell.", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/TextValue" + } + } + + ] +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/wizard/Wizard.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/wizard/Wizard.json new file mode 100644 index 0000000..1eb8f4b --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/schema/api/wrml/org/org/wrml/test/wizard/Wizard.json @@ -0,0 +1,177 @@ +{ + "uniqueName" : "org/wrml/test/wizard/Wizard", + "version" : 1, + "description" : "A magical Wizard.", + + "keySlotNames" : + [ + "wizardId" + ], + + "baseSchemaUris" : + [ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" + ], + + "slots" : + [ + { + "name" : "wizardId", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/TextValue" + } + }, + { + "name" : "guildId", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/IntegerValue" + } + }, + { + "name" : "primarySpellId", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/TextValue" + } + }, + { + "name" : "secondarySpellId", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/TextValue" + } + }, + { + "name" : "spellBookSpellIds", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/ListValue", + "elementSlot" : { + "name" : "E", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/TextValue" + } + } + } + }, + { + "name" : "defaultGuild", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/LinkValue", + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Guild", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/test/wizard/defaultGuild", + "bindings" : [ + { + "referenceSlot" : "id", + "valueSource" : "7", + "valueSourceType" : "Constant" + } + ] + } + }, + { + "name" : "guild", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/LinkValue", + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Guild", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/test/wizard/guild", + "bindings" : [ + { + "referenceSlot" : "id", + "valueSource" : "guildId" + } + ] + } + }, + { + "name" : "rivalGuild", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/LinkValue", + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Guild", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/test/wizard/rivalGuild", + "bindings" : [ + { + "referenceSlot" : "id", + "valueSource" : "rg", + "valueSourceType" : "QueryParameter" + } + ] + } + }, + { + "name" : "defaultSpell", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/LinkValue", + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Spell", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/test/wizard/defaultSpell", + "bindings" : [ + { + "referenceSlot" : "spellId", + "valueSource" : "lightningBolt", + "valueSourceType" : "Constant" + } + ] + } + }, + { + "name" : "primarySpell", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/LinkValue", + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Spell", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/test/wizard/primarySpell", + "bindings" : [ + { + "referenceSlot" : "spellId", + "valueSource" : "primarySpellId" + } + ] + } + }, + { + "name" : "secondarySpell", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/LinkValue", + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Spell", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/test/wizard/secondarySpell", + "bindings" : [ + { + "referenceSlot" : "spellId", + "valueSource" : "secondarySpellId" + } + ] + } + }, + { + "name" : "spellBook", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/CollectionValue", + "elementSlot" : { + "name" : "E", + "value" : + { + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/schema/ModelValue", + "modelSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Spell" + } + }, + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/test/wizard/spell", + "and" : [ + { + "referenceSlot" : "spellId", + "operator" : "equalToAny", + "valueSource" : "spellBookSpellIds" + } + ] + } + } + ] +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/screen/example/api/wrml/org/_wrml/api.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/screen/example/api/wrml/org/_wrml/api.json new file mode 100644 index 0000000..4d4d197 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/screen/example/api/wrml/org/_wrml/api.json @@ -0,0 +1,132 @@ +{ + "uri" : "http://screen.example.api.wrml.org", + "title" : "Screen API", + "docroot" : { + "uniqueId" : "082bcce7-6e40-4e8b-b761-bdbd5a8cbb1d", + "pathSegment" : "", + "description" : "The docroot.", + "children" : [ + { + "uniqueId" : "53c32a35-9177-4880-acbd-28e36b63da6a", + "pathSegment" : "atoms", + "children" : [ + { + "uniqueId" : "d4d620a5-7e8e-4d9a-b3cd-b68ab7dea4f8", + "pathSegment" : "a", + "children" : [ + { + "uniqueId" : "3a42b08a-ee7e-4b9d-80ea-c13e151fc8c6", + "pathSegment" : "{aKey}", + "defaultSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/A", + "version" : 1 + } + ], + "version" : 1 + }, + { + "uniqueId" : "51bde01d-a74f-4cfc-b3e9-21c2ff635648", + "pathSegment" : "b", + "children" : [ + { + "uniqueId" : "5b84464f-8ba3-4e3f-83c5-508dc03b12f2", + "pathSegment" : "{bKey}", + "defaultSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/B", + "version" : 1 + } + ], + "version" : 1 + }, + { + "uniqueId" : "33577f41-32b8-42c5-93ed-386f251fd4a7", + "pathSegment" : "c", + "children" : [ + { + "uniqueId" : "7dc70026-5900-407b-b824-de28cfc2b16f", + "pathSegment" : "{cKey}", + "defaultSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/C", + "version" : 1 + } + ], + "version" : 1 + } + ], + "version" : 1 + }, + { + "uniqueId" : "13d6a13c-1504-4ef5-a6d8-7227ae7b853d", + "pathSegment" : "screens", + "children" : [ + { + "uniqueId" : "28a635a3-09ef-48b3-bbc8-de7c8a3466cf", + "pathSegment" : "{aKey}", + "children" : [ + { + "uniqueId" : "ef5700dd-317c-42ea-aa85-71b3a56d74ec", + "pathSegment" : "{bKey}", + "children" : [ + { + "uniqueId" : "c7ea6407-327f-4471-aa21-05cc502fc345", + "pathSegment" : "{cKey}", + "defaultSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/Screen", + "version" : 1 + } + ], + "version" : 1 + } + ], + "version" : 1 + } + ], + "version" : 1 + } + ], + "version" : 1 + }, + "description" : "", + "linkTemplates" : [ + { + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/A", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/relation/self", + "referrerId" : "3a42b08a-ee7e-4b9d-80ea-c13e151fc8c6", + "endPointId" : "3a42b08a-ee7e-4b9d-80ea-c13e151fc8c6" + }, + { + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/B", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/relation/self", + "referrerId" : "5b84464f-8ba3-4e3f-83c5-508dc03b12f2", + "endPointId" : "5b84464f-8ba3-4e3f-83c5-508dc03b12f2" + }, + { + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/C", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/relation/self", + "referrerId" : "7dc70026-5900-407b-b824-de28cfc2b16f", + "endPointId" : "7dc70026-5900-407b-b824-de28cfc2b16f" + }, + { + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/Screen", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/relation/self", + "referrerId" : "c7ea6407-327f-4471-aa21-05cc502fc345", + "endPointId" : "c7ea6407-327f-4471-aa21-05cc502fc345" + }, + { + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/A", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/test/a", + "referrerId" : "c7ea6407-327f-4471-aa21-05cc502fc345", + "endPointId" : "3a42b08a-ee7e-4b9d-80ea-c13e151fc8c6" + }, + { + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/B", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/test/b", + "referrerId" : "c7ea6407-327f-4471-aa21-05cc502fc345", + "endPointId" : "5b84464f-8ba3-4e3f-83c5-508dc03b12f2" + }, + { + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/C", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/test/c", + "referrerId" : "c7ea6407-327f-4471-aa21-05cc502fc345", + "endPointId" : "7dc70026-5900-407b-b824-de28cfc2b16f" + } + + ], + "version" : 1 +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/screen/example/api/wrml/org/atoms/a/1.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/screen/example/api/wrml/org/atoms/a/1.json new file mode 100644 index 0000000..1bffdd0 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/screen/example/api/wrml/org/atoms/a/1.json @@ -0,0 +1,4 @@ +{ + "aKey" : 1, + "aTextSlot" : "Hello World" +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/screen/example/api/wrml/org/atoms/b/2.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/screen/example/api/wrml/org/atoms/b/2.json new file mode 100644 index 0000000..9d54f01 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/screen/example/api/wrml/org/atoms/b/2.json @@ -0,0 +1,4 @@ +{ + "bKey" : 2, + "bInt" : 42 +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/screen/example/api/wrml/org/atoms/c/3.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/screen/example/api/wrml/org/atoms/c/3.json new file mode 100644 index 0000000..eebaf7f --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/screen/example/api/wrml/org/atoms/c/3.json @@ -0,0 +1,4 @@ +{ + "cKey" : 3, + "cDouble" : 2.0 +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/_wrml/api.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/_wrml/api.json new file mode 100644 index 0000000..c5400bc --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/_wrml/api.json @@ -0,0 +1,113 @@ +{ + "uri" : "http://wizard.example.api.wrml.org", + "title" : "Wizard API", + "docroot" : { + "uniqueId" : "4F7F80DA-7078-4F38-B22D-A74BEB006F21", + "pathSegment" : "", + "description" : "The docroot.", + "children" : [ + { + "uniqueId" : "DBFBB042-DABB-4BBC-841C-321F5C483C6A", + "pathSegment" : "wizards", + "children" : [ + { + "uniqueId" : "5AB0F408-DF4F-4FF6-A70F-76AEF53C0304", + "pathSegment" : "{wizardId}", + "defaultSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Wizard", + "version" : 1 + } + ] + }, + { + "uniqueId" : "0AE0DB43-0D78-40F5-AA4D-EACCE320A0FB", + "pathSegment" : "guilds", + "children" : [ + { + "uniqueId" : "767565DB-2F67-4F31-AC59-BC44E167DA7A", + "pathSegment" : "{id}", + "defaultSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Guild", + "version" : 1 + } + ] + }, + { + "uniqueId" : "DD3D7899-130B-4A96-9CB1-967BFB24FBB5", + "pathSegment" : "spells", + "children" : [ + { + "uniqueId" : "528A958E-5885-4613-A2DD-B4C352D862AD", + "pathSegment" : "{spellId}", + "defaultSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Spell", + "version" : 1 + } + ], + "version" : 1 + } + ], + "version" : 1 + }, + "description" : "", + "linkTemplates" : [ + { + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Wizard", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/relation/self", + "referrerId" : "5AB0F408-DF4F-4FF6-A70F-76AEF53C0304", + "endPointId" : "5AB0F408-DF4F-4FF6-A70F-76AEF53C0304" + }, + { + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Guild", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/relation/self", + "referrerId" : "767565DB-2F67-4F31-AC59-BC44E167DA7A", + "endPointId" : "767565DB-2F67-4F31-AC59-BC44E167DA7A" + }, + { + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Spell", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/relation/self", + "referrerId" : "528A958E-5885-4613-A2DD-B4C352D862AD", + "endPointId" : "528A958E-5885-4613-A2DD-B4C352D862AD" + }, + { + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Guild", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/test/wizard/defaultGuild", + "referrerId" : "5AB0F408-DF4F-4FF6-A70F-76AEF53C0304", + "endPointId" : "767565DB-2F67-4F31-AC59-BC44E167DA7A" + }, + { + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Guild", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/test/wizard/rivalGuild", + "referrerId" : "5AB0F408-DF4F-4FF6-A70F-76AEF53C0304", + "endPointId" : "767565DB-2F67-4F31-AC59-BC44E167DA7A" + }, + { + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Guild", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/test/wizard/guild", + "referrerId" : "5AB0F408-DF4F-4FF6-A70F-76AEF53C0304", + "endPointId" : "767565DB-2F67-4F31-AC59-BC44E167DA7A" + }, + { + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Spell", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/test/wizard/defaultSpell", + "referrerId" : "5AB0F408-DF4F-4FF6-A70F-76AEF53C0304", + "endPointId" : "528A958E-5885-4613-A2DD-B4C352D862AD" + }, { + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Spell", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/test/wizard/primarySpell", + "referrerId" : "5AB0F408-DF4F-4FF6-A70F-76AEF53C0304", + "endPointId" : "528A958E-5885-4613-A2DD-B4C352D862AD" + }, + { + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Spell", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/test/wizard/secondarySpell", + "referrerId" : "5AB0F408-DF4F-4FF6-A70F-76AEF53C0304", + "endPointId" : "528A958E-5885-4613-A2DD-B4C352D862AD" + }, + { + "responseSchemaUri" : "http://schema.api.wrml.org/org/wrml/test/wizard/Spell", + "linkRelationUri" : "http://relation.api.wrml.org/org/wrml/test/wizard/spell", + "referrerId" : "5AB0F408-DF4F-4FF6-A70F-76AEF53C0304", + "endPointId" : "528A958E-5885-4613-A2DD-B4C352D862AD" + } + + ], + "version" : 1 +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/guilds/42.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/guilds/42.json new file mode 100644 index 0000000..eef3a9f --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/guilds/42.json @@ -0,0 +1,4 @@ +{ + "id" : 42, + "name" : "A guild of retired Wizards." +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/guilds/7.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/guilds/7.json new file mode 100644 index 0000000..bd37777 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/guilds/7.json @@ -0,0 +1,4 @@ +{ + "id" : 7, + "name" : "A guild of friendly Wizards." +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/spells/fireball.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/spells/fireball.json new file mode 100644 index 0000000..3dcd779 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/spells/fireball.json @@ -0,0 +1,3 @@ +{ + "spellId" : "fireball" +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/spells/heal.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/spells/heal.json new file mode 100644 index 0000000..267365d --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/spells/heal.json @@ -0,0 +1,3 @@ +{ + "spellId" : "heal" +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/spells/iceStorm.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/spells/iceStorm.json new file mode 100644 index 0000000..53f31f8 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/spells/iceStorm.json @@ -0,0 +1,3 @@ +{ + "spellId" : "iceStorm" +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/spells/lightningBolt.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/spells/lightningBolt.json new file mode 100644 index 0000000..ec1b326 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/spells/lightningBolt.json @@ -0,0 +1,3 @@ +{ + "spellId" : "lightningBolt" +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/spells/tornado.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/spells/tornado.json new file mode 100644 index 0000000..40f413e --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/spells/tornado.json @@ -0,0 +1,3 @@ +{ + "spellId" : "tornado" +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/wizards/harry.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/wizards/harry.json new file mode 100644 index 0000000..b6fae3c --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/wizards/harry.json @@ -0,0 +1,7 @@ +{ + "wizardId" : "harry", + "guildId" : 7, + "primarySpellId" : "fireball", + "secondarySpellId" : "iceStorm", + "spellBookSpellIds" : ["fireball", "heal", "lightningBolt", "tornado", "iceStorm"] +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/wizards/merlin.json b/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/wizards/merlin.json new file mode 100644 index 0000000..af95515 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/models/wizard/example/api/wrml/org/wizards/merlin.json @@ -0,0 +1,7 @@ +{ + "wizardId" : "merlin", + "guildId" : 7, + "primarySpellId" : "heal", + "secondarySpellId" : "tornado", + "spellBookSpellIds" : ["fireball", "heal", "lightningBolt", "tornado"] +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/wrml-api.json b/core/src/test/resources/org/wrml/runtime/resources/test/wrml-api.json new file mode 100644 index 0000000..92cef03 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/wrml-api.json @@ -0,0 +1,32 @@ +{ + "context" : + { + "apiLoader" : + { + "apis" : + [ + "http://screen.example.api.wrml.org" + ] + }, + "serviceLoader" : + { + "services" : + [ + { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : + { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } + ], + + "serviceMapping" : + { + "*" : "JVM" + } + } + } +} \ No newline at end of file diff --git a/core/src/test/resources/org/wrml/runtime/resources/test/wrml.json b/core/src/test/resources/org/wrml/runtime/resources/test/wrml.json new file mode 100644 index 0000000..84c0a80 --- /dev/null +++ b/core/src/test/resources/org/wrml/runtime/resources/test/wrml.json @@ -0,0 +1,25 @@ +{ + "context" : + { + "serviceLoader" : + { + "services" : + [ + { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : + { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } + ], + + "serviceMapping" : + { + "*" : "JVM" + } + } + } +} \ No newline at end of file diff --git a/integration/.gitignore b/integration/.gitignore new file mode 100644 index 0000000..c4acc28 --- /dev/null +++ b/integration/.gitignore @@ -0,0 +1,7 @@ +target +bin +logs +.classpath +.project +.settings +tomcat* \ No newline at end of file diff --git a/integration/pom.xml b/integration/pom.xml new file mode 100644 index 0000000..760a6c9 --- /dev/null +++ b/integration/pom.xml @@ -0,0 +1,156 @@ + + + + org.wrml + wrml + 1.0-SNAPSHOT + + 4.0.0 + + integration + + + 7.0.39 + 1.0-SNAPSHOT + + + + + + org.apache.maven.plugins + maven-failsafe-plugin + + + failsafe-integration-test + integration-test + + integration-test + + + + failsafe-verify + verify + + verify + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + ${maven-compiler-plugin.source.version} + ${maven-compiler-plugin.target.version} + + + + + + src/main/resources/META-INF + + config.properties + applicationContext.xml + wrml.json + + + + src/main/webapp/WEB-INF + + web.xml + + + + + + + + ch.qos.logback + logback-classic + + + com.jayway.restassured + rest-assured + + + commons-logging + commons-logging + + + + + javax.inject + javax.inject + + + javax.ws.rs + jsr311-api + + + junit + junit + + + org.apache.tomcat + tomcat-jasper + ${tomcat.version} + + + org.apache.tomcat + tomcat-jsp-api + ${tomcat.version} + + + org.apache.tomcat + tomcat-juli + ${tomcat.version} + + + org.apache.tomcat + tomcat-servlet-api + ${tomcat.version} + + + org.apache.tomcat.embed + tomcat-embed-core + ${tomcat.version} + + + org.apache.tomcat.embed + tomcat-embed-logging-juli + ${tomcat.version} + + + org.slf4j + jcl-over-slf4j + + + org.springframework + spring-test + + + org.springframework + spring-web + + + commons-logging + commons-logging + + + + + org.springframework + spring-webmvc + + + org.wrml + core + + + org.wrml + server-core + + + + \ No newline at end of file diff --git a/integration/src/main/java/org/wrml/integration/IntegrationTest.java b/integration/src/main/java/org/wrml/integration/IntegrationTest.java new file mode 100644 index 0000000..19a35d2 --- /dev/null +++ b/integration/src/main/java/org/wrml/integration/IntegrationTest.java @@ -0,0 +1,20 @@ +package org.wrml.integration; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * User: john + * Date: 4/9/13 + * Time: 9:47 AM + */ + +/** + * Annotation for marking integration tests + */ +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +public @interface IntegrationTest { +} diff --git a/integration/src/main/java/org/wrml/integration/IntegrationTestRunner.java b/integration/src/main/java/org/wrml/integration/IntegrationTestRunner.java new file mode 100644 index 0000000..acd7b3b --- /dev/null +++ b/integration/src/main/java/org/wrml/integration/IntegrationTestRunner.java @@ -0,0 +1,29 @@ +package org.wrml.integration; + +import org.junit.runners.BlockJUnit4ClassRunner; +import org.junit.runners.model.FrameworkMethod; +import org.junit.runners.model.InitializationError; + +import java.util.List; + +/** + * User: john + * Date: 4/9/13 + * Time: 9:49 AM + */ + +/** + * A test runner for integration tests + */ +public class IntegrationTestRunner extends BlockJUnit4ClassRunner { + + public IntegrationTestRunner(Class klazz) throws InitializationError { + super(klazz); + } + + @Override + public List computeTestMethods() { + return getTestClass().getAnnotatedMethods(IntegrationTest.class); + } + +} diff --git a/integration/src/main/java/org/wrml/integration/config/IntegrationConfig.java b/integration/src/main/java/org/wrml/integration/config/IntegrationConfig.java new file mode 100644 index 0000000..abaaebd --- /dev/null +++ b/integration/src/main/java/org/wrml/integration/config/IntegrationConfig.java @@ -0,0 +1,29 @@ +package org.wrml.integration.config; + +/** + * User: john + * Date: 4/15/13 + * Time: 10:53 AM + */ + +import java.io.IOException; +import java.util.Properties; + +/** + * An abstract base class for integration test configuration + */ +public abstract class IntegrationConfig { + + private Properties props; + private static final String PROPERTIES_FILE = "/config.properties"; + + public IntegrationConfig() throws IOException { + props = new Properties(); + props.load(IntegrationConfig.class.getResourceAsStream(PROPERTIES_FILE)); + } + + public String getValue(String key) { + return props.getProperty(key); + } + +} diff --git a/integration/src/main/java/org/wrml/integration/context/ContextStore.java b/integration/src/main/java/org/wrml/integration/context/ContextStore.java new file mode 100644 index 0000000..c3133a8 --- /dev/null +++ b/integration/src/main/java/org/wrml/integration/context/ContextStore.java @@ -0,0 +1,37 @@ +package org.wrml.integration.context; + +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; + +import javax.inject.Inject; + +/** + * User: john + * Date: 4/15/13 + * Time: 3:15 PM + */ +public class ContextStore implements ApplicationContextAware { + + private static final ContextStore INSTANCE = new ContextStore(); + + private ApplicationContext ctx; + + private ContextStore() { + + } + + public static ContextStore getInstance() { + return INSTANCE; + } + + public ApplicationContext getApplicationContext() { + return ctx; + } + + @Inject + public void setApplicationContext(ApplicationContext ctx) { + this.ctx = ctx; + System.err.println(ctx.toString()); + } + +} diff --git a/integration/src/main/resources/META-INF/applicationContext.xml b/integration/src/main/resources/META-INF/applicationContext.xml new file mode 100644 index 0000000..d663ee1 --- /dev/null +++ b/integration/src/main/resources/META-INF/applicationContext.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/integration/src/main/resources/META-INF/config.properties b/integration/src/main/resources/META-INF/config.properties new file mode 100644 index 0000000..d53a2a6 --- /dev/null +++ b/integration/src/main/resources/META-INF/config.properties @@ -0,0 +1,14 @@ +# config.properties +# +# Configuration information for integration tests +# + +# Tomcat values +tomcat.servlet.context=embeddedTomcat +tomcat.servlet.mapping=/wrml + +tomcat.url.base=http://localhost: + +tomcat.application.parameter.name=contextConfigLocation +tomcat.application.tmpdir.key=java.io.tmpdir +tomcat.application.spring.config=classpath*:applicationContext.xml \ No newline at end of file diff --git a/integration/src/main/resources/META-INF/wrml.json b/integration/src/main/resources/META-INF/wrml.json new file mode 100644 index 0000000..0efe9a0 --- /dev/null +++ b/integration/src/main/resources/META-INF/wrml.json @@ -0,0 +1,26 @@ +{ + "context" : + { + "serviceLoader" : + { + "services" : + [ + { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : + { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } + ], + + "serviceMapping" : + { + "http://schema.api.wrml.org/org/wrml/runtime/service/apiDesigner/*" : "ApiDesigner", + "*" : "File" + } + } + } +} \ No newline at end of file diff --git a/integration/src/main/webapp/WEB-INF/applicationContext.xml b/integration/src/main/webapp/WEB-INF/applicationContext.xml new file mode 100644 index 0000000..e6e0d62 --- /dev/null +++ b/integration/src/main/webapp/WEB-INF/applicationContext.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/integration/src/main/webapp/WEB-INF/spring/wrmlServlet/servlet-context.xml b/integration/src/main/webapp/WEB-INF/spring/wrmlServlet/servlet-context.xml new file mode 100644 index 0000000..c62c05a --- /dev/null +++ b/integration/src/main/webapp/WEB-INF/spring/wrmlServlet/servlet-context.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/integration/src/main/webapp/WEB-INF/web.xml b/integration/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..56a8c84 --- /dev/null +++ b/integration/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,33 @@ + + + + + wrmlServlet + wrmlServlet + org.wrml.server.WrmlServlet + + wrmlConfiguration + integration/src/main/resources/META-INF/wrml.json + + 1 + + + + wrmlServlet + /wrml + + + + contextConfigLocation + classpath*:applicationContext.xml + + + + + org.springframework.web.context.ContextLoaderListener + + + \ No newline at end of file diff --git a/integration/src/test/java/org/wrml/integration/TestTest.java b/integration/src/test/java/org/wrml/integration/TestTest.java new file mode 100644 index 0000000..8eae397 --- /dev/null +++ b/integration/src/test/java/org/wrml/integration/TestTest.java @@ -0,0 +1,36 @@ +package org.wrml.integration; + +import org.junit.Ignore; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * User: john Date: 4/16/13 Time: 11:18 AM + */ +public class TestTest extends WrmlRestIntegrationTest { + + private static Logger LOGGER = LoggerFactory.getLogger(TestTest.class); + + @IntegrationTest + public void fooTest() { + LOGGER.error("Testing"); + } + + @IntegrationTest + public void barTest() { + LOGGER.info("" + WrmlIntegrationTest.getPort()); + } + + @IntegrationTest + //@Ignore + public void bazTest() { + // TODO: Fix NPE + LOGGER.error(super.getContext().toString()); + } + + @IntegrationTest + public void quuxTest() { + LOGGER.error(getContextStore().toString()); + } + +} diff --git a/integration/src/test/java/org/wrml/integration/WrmlIntegrationTest.java b/integration/src/test/java/org/wrml/integration/WrmlIntegrationTest.java new file mode 100644 index 0000000..7ab9054 --- /dev/null +++ b/integration/src/test/java/org/wrml/integration/WrmlIntegrationTest.java @@ -0,0 +1,101 @@ +package org.wrml.integration; + +import java.io.IOException; + +import javax.inject.Inject; +import javax.servlet.ServletException; + +import org.apache.catalina.LifecycleException; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.support.AnnotationConfigContextLoader; +import org.wrml.integration.context.ContextStore; +import org.wrml.integration.tomcat.TomcatManager; + +/** + * User: john Date: 4/9/13 Time: 10:42 AM + */ +@ContextConfiguration(locations = "classpath:/applicationContext.xml", loader = AnnotationConfigContextLoader.class) +@RunWith(IntegrationTestRunner.class) +@ActiveProfiles({ "embedded", "test" }) +public class WrmlIntegrationTest implements ApplicationContextAware { + + //@Inject + private ApplicationContext context; + // private ApplicationContext context; + + @Autowired(required=true) + private ContextStore contextStore; + + + + private static TomcatManager tomcatManager; + private static Logger LOGGER = LoggerFactory.getLogger(WrmlIntegrationTest.class); + + public WrmlIntegrationTest() { + //context = contextStore.getApplicationContext(); + } + + /** + * Start up Tomcat before each test class + * + * @throws LifecycleException + * if there is a problem starting Tomcat + * @throws IOException + * if there is a problem getting the underlying config during the TomcatManager instantiation + */ + @BeforeClass + public static void startupTomcat() throws ServletException, LifecycleException, IOException { + LOGGER.info("Starting Tomcat harness."); + tomcatManager = new TomcatManager(); + tomcatManager.init(); + LOGGER.info("Tomcat harness started."); + } + + /** + * Shut down Tomcat after each test class + * + * @throws LifecycleException + * if there is a problem stopping Tomcat + */ + @AfterClass + public static void shutdownTomcat() throws LifecycleException { + LOGGER.info("Shutting down Tomcat harness."); + tomcatManager.shutdown(); + LOGGER.info("Tomcat harness shutdown complete."); + } + + /** + * Returns the port that Tomcat uses + */ + public static int getPort() { + return tomcatManager.getPort(); + } + + public ApplicationContext getContext() { + return context; + } + + @Override + public void setApplicationContext(ApplicationContext context) throws BeansException { + this.context = context; + } + + public ContextStore getContextStore() { + return contextStore; + } + + public void setContextStore(ContextStore contextStore) { + this.contextStore = contextStore; + } + +} diff --git a/integration/src/test/java/org/wrml/integration/WrmlRestIntegrationTest.java b/integration/src/test/java/org/wrml/integration/WrmlRestIntegrationTest.java new file mode 100644 index 0000000..a3635c1 --- /dev/null +++ b/integration/src/test/java/org/wrml/integration/WrmlRestIntegrationTest.java @@ -0,0 +1,38 @@ +package org.wrml.integration; + +import com.jayway.restassured.RestAssured; +import com.jayway.restassured.builder.RequestSpecBuilder; +import com.jayway.restassured.filter.log.RequestLoggingFilter; +import com.jayway.restassured.filter.log.ResponseLoggingFilter; +import com.jayway.restassured.specification.RequestSpecification; +import org.junit.BeforeClass; + +import java.io.IOException; + +/** + * User: john + * Date: 5/6/13 + * Time: 10:42 AM + */ +public abstract class WrmlRestIntegrationTest extends WrmlIntegrationTest { + + private static RequestSpecification basicRequest; + + @BeforeClass + public static void beforeEachClass() throws IOException { + basicRequest = new RequestSpecBuilder() + .addFilter(new RequestLoggingFilter()) + .addFilter(ResponseLoggingFilter.responseLogger()) + .setPort(getPort()) + .build(); + RestAssured.port = getPort(); + } + + /** + * Returns a basic request + */ + public static RequestSpecification getRequest() { + return basicRequest; + } + +} diff --git a/integration/src/test/resources/logback-test.xml b/integration/src/test/resources/logback-test.xml new file mode 100644 index 0000000..ee91d92 --- /dev/null +++ b/integration/src/test/resources/logback-test.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..54f8924 --- /dev/null +++ b/pom.xml @@ -0,0 +1,646 @@ + + 4.0.0 + org.wrml + wrml + 1.0-SNAPSHOT + pom + + + Mark Masse (OSS project WRML.org) + http://www.wrml.org + + + WRML + WRML - Web Resource Modeling Language + + + + + + + JIRA + https://wrmlorg.jira.com/browse/WRML + + + scm:git:https://github.com/espn/WRML.git + scm:git:https://github.com/espn/WRML.git + https://github.com/espn/WRML.git + HEAD + + + TeamCity + http://teamcity.corp.espn3.com/ + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + + + + org.apache.maven.plugins + maven-failsafe-plugin + 2.12.4 + + + org.apache.maven.plugins + maven-deploy-plugin + 2.7 + + + + + com.mycila.maven-license-plugin + maven-license-plugin + 1.9.0 + + + test + + check + + + + + true +
${maven-license-plugin.valid-header.wrml.core.path}/JavaFileHeader-latest.txt
+ + src/**/*.java + + ${project.build.sourceEncoding} + + ${maven-license-plugin.valid-header.wrml.core.path}/JavaFileHeader-version-00.txt + ${maven-license-plugin.valid-header.wrml.core.path}/JavaFileHeader-version-01.txt + ${maven-license-plugin.valid-header.wrml.core.path}/JavaFileHeader-version-02.txt + +
+
+ + + org.apache.maven.plugins + maven-eclipse-plugin + 2.9 + + + org.apache.maven.plugins + maven-compiler-plugin + 2.5.1 + + ${maven-compiler-plugin.source.version} + ${maven-compiler-plugin.target.version} + + + + org.apache.maven.plugins + maven-shade-plugin + 2.0 + + + org.apache.maven.plugins + maven-jar-plugin + 2.2 + + + + test-jar + + + + + + maven-war-plugin + 2.3 + + + servlet-api-2.5-20081211.jar + + + + + + org.jacoco + jacoco-maven-plugin + 0.6.2.201302030002 + + + prepare-agent + + prepare-agent + + + + report + prepare-package + + report + + + + check + + check + + + + ${jacoco-maven-plugin.classRatio} + ${jacoco-maven-plugin.instructionRatio} + ${jacoco-maven-plugin.methodRatio} + ${jacoco-maven-plugin.branchRatio} + ${jacoco-maven-plugin.complexityRatio} + ${jacoco-maven-plugin.lineRatio} + + + ${jacoco-maven-plugin.excludes} + + false + + + + + + maven-assembly-plugin + 2.4 + + + + org.eclipse.m2e + lifecycle-mapping + 1.0.0 + + + + + + org.jacoco + + jacoco-maven-plugin + + + [0.6.1.201212231917,) + + + prepare-agent + + + + + + + + + + + + org.apache.maven.plugins + maven-enforcer-plugin + 1.2 + + + enforce-banned-dependencies + + enforce + + + + + true + + javassist:javassist + commons-logging + aspectj:aspectj* + hsqldb:hsqldb + log4j:log4j + org.slf4j:1.5* + org.springframework:2.* + org.springframework:3.0.* + + + + ${maven.version.range} + + + ${java.version} + + + true + + + + + + + + org.codehaus.mojo + versions-maven-plugin + 2.0 + +
+
+
+ + + + + asm + asm + ${asm.version} + + + asm + asm-commons + ${asm.version} + + + asm + asm-util + ${asm.version} + + + asm + asm-analysis + ${asm.version} + + + ch.qos.logback + logback-classic + ${logback-classic.version} + + + com.fasterxml + aalto-xml + ${aalto-xml.version} + + + com.fasterxml.jackson.core + jackson-core + ${jackson-core.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson-core.version} + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + ${jackson-core.version} + + + com.google.guava + guava + ${guava.version} + + + com.googlecode.lanterna + lanterna + ${lanterna.version} + + + com.jayway.restassured + rest-assured + ${rest-assured.version} + + + commons-logging + commons-logging + + + + + com.thetransactioncompany + cors-filter + ${cors-filter.version} + + + com.thoughtworks.xstream + xstream + ${xstream.version} + + + commons-cli + commons-cli + ${commons-cli.version} + + + commons-collections + commons-collections + ${commons-collections.version} + + + commons-io + commons-io + ${commons-io.version} + + + javax.inject + javax.inject + ${javax-inject.version} + + + javax.servlet + javax.servlet-api + ${javax.servlet-api.version} + + + javax.ws.rs + jsr311-api + ${jsr311-api.version} + + + junit + junit + ${junit.version} + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + org.apache.httpcomponents + httpcore + ${httpclient.version} + + + org.apache.httpcomponents + httpclient + ${httpclient.version} + + + commons-logging + commons-logging + + + + + org.apache.maven + maven-plugin-api + ${maven-plugin-api.version} + + + org.apache.tika + tika-core + ${tika-core.version} + + + org.codehaus.groovy + groovy-all + ${groovy.version} + + + org.codehaus.jackson + jackson-core-asl + ${jackson-asl.version} + + + org.codehaus.jackson + jackson-mapper-asl + ${jackson-asl.version} + + + org.codehaus.janino + janino + ${janino.version} + runtime + + + org.codehaus.woodstox + woodstox-core-asl + ${woodstox.version} + + + org.eclipse.jetty + jetty-server + ${jetty-server.version} + + + org.eclipse.jetty + jetty-servlet + ${jetty-server.version} + + + org.mockito + mockito-all + ${mockito.version} + + + org.mongodb + mongo-java-driver + ${mongo-java-driver.version} + + + org.parboiled + parboiled-core + ${parboiled.version} + + + org.parboiled + parboiled-java + ${parboiled.version} + + + org.powermock + powermock-module-junit4 + ${powermock.version} + + + org.powermock + powermock-api-mockito + ${powermock.version} + + + org.reflections + reflections + ${reflections.version} + + + org.slf4j + jcl-over-slf4j + ${slf4j.version} + + + org.slf4j + jul-to-slf4j + ${slf4j.version} + + + org.springframework + spring-core + ${springframework.version} + + + org.springframework + spring-context + ${springframework.version} + + + commons-logging + commons-logging + + + + + org.springframework + spring-context-support + ${springframework.version} + + + commons-logging + commons-logging + + + + + org.springframework + spring-web + ${springframework.version} + + + commons-logging + commons-logging + + + + + org.springframework + spring-webmvc + ${springframework.version} + + + org.springframework + spring-oxm + ${springframework.version} + + + org.springframework + spring-test + ${springframework.version} + + + commons-logging + commons-logging + + + + + org.springframework.ws + spring-xml + ${springframework-ws.version} + + + org.wrml + core + ${project.version} + + + org.wrml + core + test-jar + + ${project.version} + + + org.wrml + server + ${project.version} + + + org.wrml + server-core + ${project.version} + + + org.wrml.contrib.runtime.service + mongo + ${project.version} + + + + uk.com.robust-it + cloning + 1.9.0 + + + + + + + + + ---USE-'logback-classic'-INSTEAD--- + 1.7 + ./logs + UTF-8 + UTF-8 + + + + + + 0.9.8 + 3.3.1 + 1.2 + 3.2.1 + 3.1 + 2.4 + 1.6 + 2.1.3 + 14.0.1 + 4.2.4 + 1.9.12 + 2.2.1 + 2.6.1 + 1 + 3.0.1 + 9.0.3.v20130506 + 1.1.1 + 4.11 + 2.1.5 + 1.0.13 + 2.0 + 1.9.5 + 2.11.1 + 1.1.5 + 1.5 + 0.9.9-RC1 + 1.8.0 + 2.5 + 1.7.5 + 3.2.2.RELEASE + 2.1.3.RELEASE + 1.3 + 4.2.0 + 1.4.4 + + + + 100 + 100 + 100 + 100 + 100 + 100 + + 1.7 + 1.7 + [2.2.1,3.1.0) + NEED-TO-SET-PER-POM-EXAMPLE-[src/main/resources/headers] + + + + core + contrib + server + cli + + +
\ No newline at end of file diff --git a/server/pom.xml b/server/pom.xml new file mode 100644 index 0000000..e63b908 --- /dev/null +++ b/server/pom.xml @@ -0,0 +1,25 @@ + + 4.0.0 + + org.wrml + wrml + 1.0-SNAPSHOT + + + + Mark Masse (OSS project WRML.org) + http://www.wrml.org + + + server + pom + wrml-server + Various forms of servers to run on top of the core. + + + server-core + server-war + + + diff --git a/server/server-core/.gitignore b/server/server-core/.gitignore new file mode 100644 index 0000000..aa2d97a --- /dev/null +++ b/server/server-core/.gitignore @@ -0,0 +1,2 @@ +target +dependency-reduced-pom.xml diff --git a/server/server-core/logs/wrml.log b/server/server-core/logs/wrml.log new file mode 100644 index 0000000..3193865 --- /dev/null +++ b/server/server-core/logs/wrml.log @@ -0,0 +1,78866 @@ +2013-03-29 17:39:23,096 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:420) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-03-29 17:39:23,117 22 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-29 17:39:23,174 79 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-03-29 17:39:23,180 85 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-03-29 17:39:23,189 94 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-29 17:39:23,189 94 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-29 17:39:23,190 95 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-29 17:39:23,190 95 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-03-29 17:39:23,560 465 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-29 17:39:23,571 476 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-29 17:39:23,571 476 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-03-29 17:39:23,588 493 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-29 17:39:23,588 493 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-29 17:39:23,588 493 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-29 17:39:23,591 496 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:458) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-03-29 17:39:23,592 497 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-29 17:39:23,597 502 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-29 17:39:23,600 505 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-29 17:39:23,604 509 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-29 17:39:23,607 512 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-29 17:39:23,607 512 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-29 17:39:23,607 512 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-03-29 17:39:23,607 512 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-03-29 17:39:23,607 512 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-29 17:39:23,610 515 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-29 17:39:23,611 516 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-29 17:39:23,612 517 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-29 17:39:23,612 517 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-29 17:39:23,612 517 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-03-29 17:39:23,671 576 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-03-29 17:39:23,671 576 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-03-29 17:39:23,726 631 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "apiLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceChains" : { + "*" : [ "JVM" ] + }, + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-03-29 17:39:23,727 632 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-03-29 17:39:23,868 773 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-03-29 17:39:23,963 868 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:23,973 878 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:23,982 887 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:23,997 902 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,006 911 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,015 920 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,029 934 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,037 942 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,045 950 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,052 957 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,059 964 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,065 970 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,066 971 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-29 17:39:24,067 972 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-29 17:39:24,074 979 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,075 980 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-29 17:39:24,075 980 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-29 17:39:24,082 987 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,083 988 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-29 17:39:24,083 988 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-29 17:39:24,090 995 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,091 996 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-29 17:39:24,091 996 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-29 17:39:24,099 1004 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,099 1004 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-29 17:39:24,100 1005 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-29 17:39:24,106 1011 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,107 1012 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-29 17:39:24,107 1012 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-29 17:39:24,114 1019 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,116 1021 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-29 17:39:24,117 1022 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-29 17:39:24,123 1028 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,124 1029 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-29 17:39:24,124 1029 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-29 17:39:24,131 1036 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,132 1037 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-29 17:39:24,132 1037 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-29 17:39:24,138 1043 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,140 1045 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-29 17:39:24,140 1045 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-29 17:39:24,146 1051 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,147 1052 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-29 17:39:24,147 1052 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-29 17:39:24,154 1059 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,154 1059 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-29 17:39:24,155 1060 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-29 17:39:24,161 1066 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,162 1067 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-29 17:39:24,163 1068 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-29 17:39:24,168 1073 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,169 1074 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-29 17:39:24,169 1074 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-29 17:39:24,175 1080 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,176 1081 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-29 17:39:24,176 1081 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-29 17:39:24,182 1087 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,183 1088 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-29 17:39:24,183 1088 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-29 17:39:24,189 1094 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,190 1095 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-29 17:39:24,190 1095 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-29 17:39:24,195 1100 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,196 1101 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-29 17:39:24,196 1101 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-29 17:39:24,202 1107 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-29 17:39:24,202 1107 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-03-29 17:39:24,203 1108 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-29 17:39:24,203 1108 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-29 17:39:24,203 1108 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-29 17:39:24,203 1108 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-03-29 17:39:24,204 1109 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-03-29 17:39:24,206 1111 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 11:13:49,710 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:420) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-03-30 11:13:49,731 22 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 11:13:49,786 77 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-03-30 11:13:49,791 82 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-03-30 11:13:49,804 95 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-30 11:13:49,805 96 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-30 11:13:49,805 96 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-30 11:13:49,805 96 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-03-30 11:13:50,186 477 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 11:13:50,197 488 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 11:13:50,197 488 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-03-30 11:13:50,206 497 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-30 11:13:50,206 497 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-30 11:13:50,207 498 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-30 11:13:50,209 500 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:458) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-03-30 11:13:50,210 501 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 11:13:50,215 506 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 11:13:50,219 510 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 11:13:50,223 514 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 11:13:50,226 517 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-30 11:13:50,226 517 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-30 11:13:50,226 517 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-03-30 11:13:50,226 517 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-03-30 11:13:50,226 517 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-30 11:13:50,229 520 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 11:13:50,230 521 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-30 11:13:50,231 522 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-30 11:13:50,231 522 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-30 11:13:50,231 522 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-03-30 11:13:50,288 579 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-03-30 11:13:50,288 579 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-03-30 11:13:50,347 638 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceChains" : { + "*" : [ "JVM" ] + }, + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-03-30 11:13:50,348 639 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-03-30 11:13:50,493 784 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-03-30 11:13:50,588 879 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,598 889 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,607 898 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,623 914 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,632 923 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,640 931 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,655 946 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,663 954 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,671 962 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,679 970 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,687 978 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,695 986 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,697 988 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 11:13:50,698 989 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 11:13:50,710 1001 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,711 1002 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 11:13:50,712 1003 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 11:13:50,720 1011 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,721 1012 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 11:13:50,721 1012 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 11:13:50,730 1021 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,732 1023 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 11:13:50,732 1023 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 11:13:50,740 1031 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,741 1032 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 11:13:50,741 1032 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 11:13:50,749 1040 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,750 1041 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 11:13:50,750 1041 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 11:13:50,757 1048 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,760 1051 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 11:13:50,760 1051 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 11:13:50,767 1058 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,767 1058 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 11:13:50,768 1059 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 11:13:50,774 1065 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,775 1066 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 11:13:50,775 1066 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 11:13:50,782 1073 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,783 1074 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 11:13:50,783 1074 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 11:13:50,791 1082 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,792 1083 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 11:13:50,792 1083 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 11:13:50,801 1092 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,802 1093 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 11:13:50,802 1093 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 11:13:50,809 1100 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,811 1102 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 11:13:50,811 1102 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 11:13:50,817 1108 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,818 1109 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 11:13:50,818 1109 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 11:13:50,824 1115 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,825 1116 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 11:13:50,825 1116 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 11:13:50,831 1122 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,832 1123 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 11:13:50,833 1124 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 11:13:50,839 1130 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,839 1130 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 11:13:50,839 1130 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 11:13:50,845 1136 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,846 1137 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 11:13:50,846 1137 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 11:13:50,852 1143 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-03-30 11:13:50,852 1143 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-03-30 11:13:50,853 1144 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-30 11:13:50,853 1144 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-30 11:13:50,853 1144 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-30 11:13:50,854 1145 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-03-30 11:13:50,854 1145 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-03-30 11:13:50,856 1147 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 11:46:46,569 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:420) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-03-30 11:46:46,592 24 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 11:46:46,653 85 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-03-30 11:46:46,660 92 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-03-30 11:46:46,670 102 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-30 11:46:46,671 103 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-30 11:46:46,671 103 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-30 11:46:46,671 103 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-03-30 11:46:47,070 502 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 11:46:47,081 513 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 11:46:47,082 514 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-03-30 11:46:47,090 522 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-30 11:46:47,090 522 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-30 11:46:47,090 522 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-30 11:46:47,093 525 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:458) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-03-30 11:46:47,094 526 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 11:46:47,099 531 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 11:46:47,102 534 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 11:46:47,106 538 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 11:46:47,109 541 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-30 11:46:47,109 541 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-30 11:46:47,109 541 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-03-30 11:46:47,109 541 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-03-30 11:46:47,109 541 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-30 11:46:47,112 544 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 11:46:47,113 545 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-30 11:46:47,114 546 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-30 11:46:47,114 546 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-30 11:46:47,114 546 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-03-30 11:46:47,170 602 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-03-30 11:46:47,170 602 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-03-30 11:46:47,226 658 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceChains" : { + "*" : [ "JVM" ] + }, + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-03-30 11:46:47,227 659 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-03-30 11:46:47,366 798 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-03-30 11:46:47,460 892 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,470 902 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,478 910 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,493 925 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,502 934 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,511 943 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,525 957 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,533 965 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,541 973 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,548 980 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,555 987 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,561 993 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,563 995 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 11:46:47,563 995 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 11:46:47,571 1003 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,572 1004 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 11:46:47,572 1004 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 11:46:47,578 1010 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,579 1011 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 11:46:47,579 1011 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 11:46:47,586 1018 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,587 1019 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 11:46:47,587 1019 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 11:46:47,596 1028 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,596 1028 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 11:46:47,597 1029 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 11:46:47,604 1036 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,604 1036 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 11:46:47,604 1036 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 11:46:47,613 1045 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,617 1049 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 11:46:47,617 1049 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 11:46:47,627 1059 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,628 1060 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 11:46:47,628 1060 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 11:46:47,637 1069 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,638 1070 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 11:46:47,639 1071 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 11:46:47,646 1078 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,647 1079 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 11:46:47,648 1080 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 11:46:47,654 1086 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,655 1087 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 11:46:47,655 1087 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 11:46:47,662 1094 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,662 1094 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 11:46:47,663 1095 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 11:46:47,669 1101 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,671 1103 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 11:46:47,671 1103 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 11:46:47,677 1109 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,678 1110 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 11:46:47,678 1110 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 11:46:47,684 1116 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,685 1117 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 11:46:47,685 1117 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 11:46:47,692 1124 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,693 1125 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 11:46:47,693 1125 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 11:46:47,700 1132 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,701 1133 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 11:46:47,701 1133 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 11:46:47,708 1140 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,708 1140 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 11:46:47,708 1140 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 11:46:47,715 1147 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "locale" : null +} +2013-03-30 11:46:47,715 1147 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-03-30 11:46:47,716 1148 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-30 11:46:47,717 1149 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-30 11:46:47,717 1149 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-30 11:46:47,717 1149 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-03-30 11:46:47,717 1149 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-03-30 11:46:47,720 1152 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 14:15:23,603 0 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:420) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-03-30 14:15:23,626 23 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 14:15:23,685 82 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-03-30 14:15:23,690 87 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-03-30 14:15:23,702 99 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-30 14:15:23,702 99 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-30 14:15:23,702 99 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-30 14:15:23,702 99 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-03-30 14:15:24,157 554 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 14:15:24,169 566 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 14:15:24,169 566 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-03-30 14:15:24,177 574 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-30 14:15:24,177 574 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-30 14:15:24,178 575 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-30 14:15:24,180 577 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:458) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-03-30 14:15:24,181 578 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 14:15:24,187 584 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 14:15:24,190 587 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 14:15:24,194 591 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 14:15:24,197 594 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-30 14:15:24,197 594 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-30 14:15:24,197 594 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-03-30 14:15:24,197 594 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-03-30 14:15:24,198 595 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-30 14:15:24,200 597 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 14:15:24,202 599 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-30 14:15:24,202 599 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-30 14:15:24,202 599 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-30 14:15:24,202 599 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-03-30 14:15:24,259 656 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-03-30 14:15:24,259 656 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-03-30 14:15:24,316 713 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceChains" : { + "*" : [ "JVM" ] + }, + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-03-30 14:15:24,316 713 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-03-30 14:15:24,465 862 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-03-30 14:15:24,562 959 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,572 969 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,581 978 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,596 993 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,605 1002 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,614 1011 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,628 1025 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,636 1033 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,644 1041 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,652 1049 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,658 1055 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,665 1062 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,667 1064 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 14:15:24,667 1064 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 14:15:24,675 1072 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,676 1073 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 14:15:24,677 1074 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 14:15:24,687 1084 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,688 1085 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 14:15:24,689 1086 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 14:15:24,697 1094 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,699 1096 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 14:15:24,699 1096 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 14:15:24,708 1105 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,709 1106 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 14:15:24,709 1106 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 14:15:24,716 1113 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,717 1114 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 14:15:24,717 1114 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 14:15:24,724 1121 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,726 1123 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 14:15:24,727 1124 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 14:15:24,733 1130 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,734 1131 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 14:15:24,734 1131 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 14:15:24,741 1138 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,742 1139 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 14:15:24,742 1139 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 14:15:24,748 1145 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,750 1147 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 14:15:24,750 1147 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 14:15:24,759 1156 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,760 1157 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 14:15:24,760 1157 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 14:15:24,768 1165 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,769 1166 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 14:15:24,769 1166 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 14:15:24,776 1173 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,778 1175 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 14:15:24,778 1175 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 14:15:24,786 1183 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,786 1183 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 14:15:24,786 1183 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 14:15:24,793 1190 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,794 1191 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 14:15:24,794 1191 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 14:15:24,801 1198 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,802 1199 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 14:15:24,803 1200 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 14:15:24,810 1207 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,811 1208 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 14:15:24,811 1208 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 14:15:24,819 1216 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,820 1217 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 14:15:24,820 1217 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 14:15:24,828 1225 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-03-30 14:15:24,828 1225 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-03-30 14:15:24,829 1226 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-30 14:15:24,830 1227 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-30 14:15:24,830 1227 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-30 14:15:24,830 1227 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-03-30 14:15:24,830 1227 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-03-30 14:15:24,833 1230 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 14:21:40,082 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:420) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-03-30 14:21:40,099 18 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 14:21:40,167 86 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-03-30 14:21:40,172 91 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-03-30 14:21:40,186 105 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-30 14:21:40,186 105 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-30 14:21:40,186 105 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-30 14:21:40,187 106 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-03-30 14:21:40,599 518 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 14:21:40,611 530 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 14:21:40,611 530 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-03-30 14:21:40,620 539 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-30 14:21:40,620 539 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-30 14:21:40,621 540 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-30 14:21:40,623 542 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:458) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-03-30 14:21:40,624 543 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 14:21:40,629 548 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 14:21:40,635 554 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 14:21:40,639 558 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 14:21:40,642 561 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-30 14:21:40,642 561 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-30 14:21:40,643 562 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-03-30 14:21:40,643 562 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-03-30 14:21:40,643 562 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-30 14:21:40,645 564 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-03-30 14:21:40,647 566 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-30 14:21:40,647 566 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-30 14:21:40,647 566 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-30 14:21:40,648 567 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-03-30 14:21:40,709 628 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-03-30 14:21:40,710 629 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-03-30 14:21:40,771 690 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "controllerLoader" : null, + "formatLoader" : null, + "modelBuilder" : null, + "modelCache" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-03-30 14:21:40,772 691 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-03-30 14:21:40,918 837 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-03-30 14:21:41,030 949 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,042 961 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,053 972 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,072 991 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,082 1001 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,092 1011 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,107 1026 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,117 1036 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,125 1044 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,133 1052 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,139 1058 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,146 1065 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,147 1066 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 14:21:41,148 1067 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 14:21:41,156 1075 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,156 1075 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 14:21:41,156 1075 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 14:21:41,163 1082 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,164 1083 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 14:21:41,164 1083 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 14:21:41,172 1091 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,174 1093 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 14:21:41,174 1093 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 14:21:41,182 1101 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,183 1102 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 14:21:41,183 1102 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 14:21:41,190 1109 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,190 1109 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 14:21:41,191 1110 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 14:21:41,197 1116 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,200 1119 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 14:21:41,200 1119 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 14:21:41,207 1126 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,208 1127 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 14:21:41,208 1127 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 14:21:41,216 1135 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,216 1135 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 14:21:41,217 1136 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 14:21:41,225 1144 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,226 1145 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 14:21:41,227 1146 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 14:21:41,234 1153 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,234 1153 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 14:21:41,234 1153 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 14:21:41,244 1163 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,245 1164 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 14:21:41,245 1164 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 14:21:41,253 1172 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,255 1174 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 14:21:41,255 1174 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 14:21:41,263 1182 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,264 1183 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 14:21:41,264 1183 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 14:21:41,271 1190 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,272 1191 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 14:21:41,273 1192 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 14:21:41,280 1199 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,282 1201 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-03-30 14:21:41,282 1201 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-03-30 14:21:41,290 1209 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,290 1209 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-03-30 14:21:41,291 1210 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-03-30 14:21:41,298 1217 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,299 1218 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-03-30 14:21:41,299 1218 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-03-30 14:21:41,308 1227 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-03-30 14:21:41,309 1228 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-03-30 14:21:41,310 1229 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-03-30 14:21:41,310 1229 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-03-30 14:21:41,310 1229 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-03-30 14:21:41,310 1229 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-03-30 14:21:41,311 1230 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-03-30 14:21:41,314 1233 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 18:15:57,720 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:420) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-01 18:15:57,736 17 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 18:15:57,799 80 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-01 18:15:57,804 85 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-01 18:15:57,814 95 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-01 18:15:57,814 95 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-01 18:15:57,815 96 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-01 18:15:57,815 96 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-01 18:15:58,206 487 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 18:15:58,218 499 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 18:15:58,218 499 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-01 18:15:58,227 508 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-01 18:15:58,227 508 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-01 18:15:58,227 508 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-01 18:15:58,230 511 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:458) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-01 18:15:58,231 512 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 18:15:58,236 517 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 18:15:58,239 520 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 18:15:58,243 524 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 18:15:58,246 527 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-01 18:15:58,246 527 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-01 18:15:58,247 528 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-01 18:15:58,247 528 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-01 18:15:58,247 528 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-01 18:15:58,249 530 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 18:15:58,251 532 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-01 18:15:58,251 532 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-01 18:15:58,252 533 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-01 18:15:58,252 533 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-01 18:15:58,312 593 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-01 18:15:58,312 593 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-01 18:15:58,375 656 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-01 18:15:58,376 657 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-01 18:15:58,522 803 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-01 18:15:58,621 902 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,631 912 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,640 921 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,655 936 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,665 946 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,673 954 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,689 970 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,697 978 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,705 986 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,713 994 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,720 1001 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,726 1007 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,728 1009 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-01 18:15:58,728 1009 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-01 18:15:58,737 1018 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,738 1019 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-01 18:15:58,738 1019 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-01 18:15:58,745 1026 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,746 1027 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-01 18:15:58,746 1027 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-01 18:15:58,753 1034 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,755 1036 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-01 18:15:58,755 1036 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-01 18:15:58,764 1045 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,765 1046 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-01 18:15:58,765 1046 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-01 18:15:58,772 1053 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,773 1054 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-01 18:15:58,773 1054 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-01 18:15:58,780 1061 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,783 1064 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-01 18:15:58,784 1065 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-01 18:15:58,791 1072 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,791 1072 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-01 18:15:58,791 1072 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-01 18:15:58,799 1080 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,800 1081 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-01 18:15:58,800 1081 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-01 18:15:58,807 1088 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,808 1089 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-01 18:15:58,808 1089 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-01 18:15:58,815 1096 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,816 1097 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-01 18:15:58,816 1097 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-01 18:15:58,822 1103 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,823 1104 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-01 18:15:58,823 1104 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-01 18:15:58,829 1110 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,831 1112 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-01 18:15:58,831 1112 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-01 18:15:58,837 1118 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,838 1119 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-01 18:15:58,838 1119 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-01 18:15:58,844 1125 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,845 1126 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-01 18:15:58,845 1126 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-01 18:15:58,860 1141 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,862 1143 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-01 18:15:58,862 1143 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-01 18:15:58,868 1149 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,869 1150 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-01 18:15:58,869 1150 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-01 18:15:58,875 1156 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,875 1156 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-01 18:15:58,876 1157 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-01 18:15:58,882 1163 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 18:15:58,882 1163 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-01 18:15:58,883 1164 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-01 18:15:58,884 1165 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-01 18:15:58,884 1165 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-01 18:15:58,884 1165 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-01 18:15:58,884 1165 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-01 18:15:58,887 1168 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 20:25:09,429 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:420) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-01 20:25:09,445 17 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 20:25:09,507 79 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-01 20:25:09,513 85 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-01 20:25:09,524 96 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-01 20:25:09,524 96 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-01 20:25:09,524 96 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-01 20:25:09,524 96 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-01 20:25:09,949 521 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 20:25:09,960 532 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 20:25:09,960 532 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-01 20:25:09,969 541 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-01 20:25:09,969 541 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-01 20:25:09,969 541 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-01 20:25:09,972 544 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:458) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-01 20:25:09,973 545 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 20:25:09,978 550 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 20:25:09,981 553 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 20:25:09,985 557 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 20:25:09,988 560 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-01 20:25:09,988 560 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-01 20:25:09,989 561 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-01 20:25:09,989 561 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-01 20:25:09,989 561 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-01 20:25:09,991 563 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 20:25:09,993 565 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-01 20:25:09,993 565 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-01 20:25:09,993 565 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-01 20:25:09,994 566 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-01 20:25:10,050 622 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-01 20:25:10,050 622 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-01 20:25:10,107 679 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-01 20:25:10,107 679 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-01 20:25:10,248 820 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-01 20:25:10,345 917 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,355 927 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,364 936 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,378 950 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,387 959 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,396 968 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,410 982 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,418 990 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,425 997 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,433 1005 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,440 1012 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,446 1018 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,448 1020 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-01 20:25:10,448 1020 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-01 20:25:10,456 1028 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,456 1028 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-01 20:25:10,456 1028 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-01 20:25:10,463 1035 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,464 1036 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-01 20:25:10,464 1036 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-01 20:25:10,471 1043 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,472 1044 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-01 20:25:10,472 1044 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-01 20:25:10,480 1052 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,481 1053 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-01 20:25:10,481 1053 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-01 20:25:10,488 1060 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,489 1061 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-01 20:25:10,489 1061 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-01 20:25:10,496 1068 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,498 1070 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-01 20:25:10,499 1071 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-01 20:25:10,505 1077 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,506 1078 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-01 20:25:10,506 1078 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-01 20:25:10,513 1085 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,514 1086 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-01 20:25:10,514 1086 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-01 20:25:10,520 1092 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,522 1094 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-01 20:25:10,522 1094 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-01 20:25:10,528 1100 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,529 1101 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-01 20:25:10,529 1101 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-01 20:25:10,536 1108 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,536 1108 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-01 20:25:10,536 1108 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-01 20:25:10,543 1115 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,544 1116 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-01 20:25:10,544 1116 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-01 20:25:10,550 1122 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,551 1123 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-01 20:25:10,551 1123 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-01 20:25:10,557 1129 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,557 1129 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-01 20:25:10,558 1130 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-01 20:25:10,563 1135 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,564 1136 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-01 20:25:10,565 1137 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-01 20:25:10,571 1143 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,571 1143 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-01 20:25:10,571 1143 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-01 20:25:10,577 1149 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,578 1150 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-01 20:25:10,578 1150 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-01 20:25:10,583 1155 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-01 20:25:10,584 1156 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-01 20:25:10,585 1157 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-01 20:25:10,585 1157 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-01 20:25:10,585 1157 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-01 20:25:10,585 1157 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-01 20:25:10,586 1158 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-01 20:25:10,588 1160 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 20:41:46,360 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:420) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-01 20:41:46,376 17 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 20:41:46,429 70 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-01 20:41:46,434 75 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-01 20:41:46,444 85 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-01 20:41:46,444 85 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-01 20:41:46,444 85 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-01 20:41:46,445 86 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-01 20:41:46,814 455 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 20:41:46,825 466 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 20:41:46,825 466 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-01 20:41:46,833 474 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-01 20:41:46,834 475 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-01 20:41:46,834 475 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-01 20:41:46,836 477 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:458) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-01 20:41:46,838 479 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 20:41:46,842 483 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 20:41:46,846 487 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 20:41:46,850 491 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 20:41:46,853 494 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-01 20:41:46,853 494 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-01 20:41:46,853 494 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-01 20:41:46,853 494 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-01 20:41:46,853 494 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-01 20:41:46,855 496 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-01 20:41:46,857 498 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-01 20:41:46,857 498 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-01 20:41:46,858 499 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-01 20:41:46,858 499 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-01 20:41:46,914 555 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-01 20:41:46,915 556 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-01 20:41:46,971 612 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-01 20:41:46,972 613 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-01 20:41:47,113 754 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-01 20:41:47,275 916 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,286 927 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,295 936 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,310 951 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,319 960 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,327 968 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,342 983 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,350 991 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,358 999 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,365 1006 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,372 1013 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,378 1019 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,380 1021 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-01 20:41:47,380 1021 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-01 20:41:47,388 1029 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,389 1030 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-01 20:41:47,389 1030 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-01 20:41:47,396 1037 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,396 1037 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-01 20:41:47,397 1038 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-01 20:41:47,404 1045 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,405 1046 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-01 20:41:47,405 1046 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-01 20:41:47,414 1055 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,414 1055 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-01 20:41:47,415 1056 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-01 20:41:47,422 1063 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,422 1063 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-01 20:41:47,422 1063 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-01 20:41:47,429 1070 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,432 1073 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-01 20:41:47,432 1073 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-01 20:41:47,439 1080 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,440 1081 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-01 20:41:47,440 1081 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-01 20:41:47,447 1088 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,448 1089 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-01 20:41:47,448 1089 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-01 20:41:47,455 1096 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,456 1097 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-01 20:41:47,456 1097 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-01 20:41:47,463 1104 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,463 1104 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-01 20:41:47,463 1104 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-01 20:41:47,470 1111 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,470 1111 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-01 20:41:47,471 1112 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-01 20:41:47,477 1118 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,479 1120 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-01 20:41:47,480 1121 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-01 20:41:47,486 1127 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,487 1128 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-01 20:41:47,487 1128 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-01 20:41:47,494 1135 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,495 1136 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-01 20:41:47,495 1136 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-01 20:41:47,501 1142 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,502 1143 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-01 20:41:47,502 1143 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-01 20:41:47,509 1150 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,509 1150 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-01 20:41:47,510 1151 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-01 20:41:47,516 1157 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,516 1157 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-01 20:41:47,517 1158 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-01 20:41:47,523 1164 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-01 20:41:47,523 1164 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-01 20:41:47,524 1165 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-01 20:41:47,524 1165 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-01 20:41:47,524 1165 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-01 20:41:47,524 1165 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-01 20:41:47,525 1166 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-01 20:41:47,527 1168 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-02 18:07:56,216 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:420) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-02 18:07:56,240 25 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-02 18:07:56,305 90 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-02 18:07:56,311 96 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-02 18:07:56,322 107 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-02 18:07:56,322 107 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-02 18:07:56,322 107 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-02 18:07:56,322 107 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-02 18:07:56,830 615 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-02 18:07:56,842 627 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-02 18:07:56,842 627 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-02 18:07:56,851 636 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-02 18:07:56,851 636 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-02 18:07:56,851 636 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-02 18:07:56,854 639 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:458) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-02 18:07:56,855 640 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-02 18:07:56,860 645 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-02 18:07:56,864 649 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-02 18:07:56,868 653 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-02 18:07:56,871 656 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-02 18:07:56,871 656 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-02 18:07:56,872 657 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-02 18:07:56,872 657 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-02 18:07:56,872 657 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-02 18:07:56,874 659 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-02 18:07:56,876 661 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-02 18:07:56,876 661 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-02 18:07:56,877 662 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-02 18:07:56,877 662 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-02 18:07:56,938 723 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-02 18:07:56,939 724 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-02 18:07:57,000 785 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-02 18:07:57,001 786 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-02 18:07:57,150 935 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-02 18:07:57,248 1033 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,258 1043 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,267 1052 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,281 1066 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,290 1075 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,299 1084 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,314 1099 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,322 1107 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,329 1114 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,337 1122 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,343 1128 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,350 1135 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,352 1137 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-02 18:07:57,352 1137 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-02 18:07:57,361 1146 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,362 1147 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-02 18:07:57,362 1147 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-02 18:07:57,370 1155 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,370 1155 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-02 18:07:57,371 1156 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-02 18:07:57,379 1164 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,380 1165 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-02 18:07:57,380 1165 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-02 18:07:57,389 1174 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,390 1175 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-02 18:07:57,390 1175 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-02 18:07:57,398 1183 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,399 1184 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-02 18:07:57,399 1184 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-02 18:07:57,407 1192 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,410 1195 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-02 18:07:57,410 1195 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-02 18:07:57,418 1203 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,418 1203 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-02 18:07:57,419 1204 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-02 18:07:57,427 1212 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,427 1212 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-02 18:07:57,428 1213 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-02 18:07:57,435 1220 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,437 1222 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-02 18:07:57,437 1222 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-02 18:07:57,445 1230 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,445 1230 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-02 18:07:57,446 1231 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-02 18:07:57,453 1238 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,453 1238 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-02 18:07:57,454 1239 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-02 18:07:57,461 1246 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,462 1247 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-02 18:07:57,463 1248 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-02 18:07:57,469 1254 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,470 1255 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-02 18:07:57,470 1255 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-02 18:07:57,476 1261 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,477 1262 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-02 18:07:57,477 1262 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-02 18:07:57,484 1269 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,485 1270 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-02 18:07:57,485 1270 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-02 18:07:57,492 1277 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,493 1278 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-02 18:07:57,493 1278 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-02 18:07:57,499 1284 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,500 1285 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-02 18:07:57,500 1285 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-02 18:07:57,507 1292 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-02 18:07:57,507 1292 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-02 18:07:57,508 1293 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-02 18:07:57,508 1293 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-02 18:07:57,509 1294 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-02 18:07:57,509 1294 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-02 18:07:57,509 1294 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-02 18:07:57,512 1297 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-02 18:09:39,844 0 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:420) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-02 18:09:39,866 22 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-02 18:09:39,920 76 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-02 18:09:39,925 81 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-02 18:09:39,935 91 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-02 18:09:39,935 91 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-02 18:09:39,935 91 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-02 18:09:39,936 92 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-02 18:09:40,317 473 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-02 18:09:40,330 486 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-02 18:09:40,330 486 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-02 18:09:40,339 495 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-02 18:09:40,339 495 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-02 18:09:40,339 495 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-02 18:09:40,342 498 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:458) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-02 18:09:40,343 499 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-02 18:09:40,348 504 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-02 18:09:40,352 508 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-02 18:09:40,356 512 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-02 18:09:40,359 515 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-02 18:09:40,359 515 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-02 18:09:40,359 515 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-02 18:09:40,360 516 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-02 18:09:40,360 516 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-02 18:09:40,362 518 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-02 18:09:40,364 520 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-02 18:09:40,364 520 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-02 18:09:40,364 520 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-02 18:09:40,364 520 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-02 18:09:40,426 582 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-02 18:09:40,426 582 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-02 18:09:40,484 640 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "apiLoader" : null, + "controllerLoader" : null, + "modelBuilder" : null, + "modelCache" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceChains" : { + "*" : [ "JVM" ] + }, + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-02 18:09:40,484 640 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-02 18:09:40,634 790 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-02 18:09:40,736 892 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,746 902 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,755 911 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,770 926 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,779 935 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,788 944 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,803 959 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,811 967 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,819 975 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,828 984 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,834 990 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,841 997 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,843 999 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-02 18:09:40,843 999 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-02 18:09:40,851 1007 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,852 1008 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-02 18:09:40,852 1008 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-02 18:09:40,858 1014 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,859 1015 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-02 18:09:40,859 1015 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-02 18:09:40,866 1022 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,868 1024 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-02 18:09:40,868 1024 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-02 18:09:40,876 1032 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,877 1033 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-02 18:09:40,877 1033 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-02 18:09:40,888 1044 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,888 1044 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-02 18:09:40,889 1045 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-02 18:09:40,895 1051 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,898 1054 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-02 18:09:40,898 1054 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-02 18:09:40,905 1061 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,906 1062 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-02 18:09:40,906 1062 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-02 18:09:40,913 1069 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,914 1070 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-02 18:09:40,914 1070 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-02 18:09:40,921 1077 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,922 1078 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-02 18:09:40,922 1078 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-02 18:09:40,929 1085 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,929 1085 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-02 18:09:40,930 1086 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-02 18:09:40,939 1095 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,940 1096 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-02 18:09:40,940 1096 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-02 18:09:40,947 1103 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,949 1105 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-02 18:09:40,949 1105 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-02 18:09:40,955 1111 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,956 1112 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-02 18:09:40,956 1112 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-02 18:09:40,962 1118 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,963 1119 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-02 18:09:40,964 1120 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-02 18:09:40,973 1129 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,974 1130 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-02 18:09:40,974 1130 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-02 18:09:40,980 1136 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,981 1137 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-02 18:09:40,981 1137 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-02 18:09:40,987 1143 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,988 1144 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-02 18:09:40,988 1144 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-02 18:09:40,998 1154 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-02 18:09:40,999 1155 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-02 18:09:41,000 1156 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-02 18:09:41,000 1156 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-02 18:09:41,001 1157 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-02 18:09:41,001 1157 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-02 18:09:41,002 1158 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-02 18:09:41,006 1162 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 12:46:25,461 11 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:420) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-05 12:46:25,478 28 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 12:46:25,535 85 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-05 12:46:25,541 91 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-05 12:46:25,551 101 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-05 12:46:25,551 101 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-05 12:46:25,551 101 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-05 12:46:25,552 102 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-05 12:46:25,914 464 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 12:46:25,926 476 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 12:46:25,926 476 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-05 12:46:25,934 484 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-05 12:46:25,935 485 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-05 12:46:25,935 485 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-05 12:46:25,937 487 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:458) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-05 12:46:25,938 488 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 12:46:25,943 493 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 12:46:25,947 497 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 12:46:25,951 501 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 12:46:25,953 503 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-05 12:46:25,953 503 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-05 12:46:25,954 504 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-05 12:46:25,954 504 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-05 12:46:25,954 504 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-05 12:46:25,956 506 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 12:46:25,958 508 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-05 12:46:25,958 508 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-05 12:46:25,958 508 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-05 12:46:25,959 509 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-05 12:46:26,017 567 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-05 12:46:26,017 567 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-05 12:46:26,074 624 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceChains" : { + "*" : [ "JVM" ] + }, + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-05 12:46:26,075 625 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-05 12:46:26,212 762 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-05 12:46:26,312 862 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,322 872 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,332 882 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,347 897 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,357 907 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,365 915 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,380 930 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,389 939 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,396 946 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,404 954 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,411 961 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,418 968 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,419 969 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-05 12:46:26,420 970 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-05 12:46:26,428 978 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,429 979 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-05 12:46:26,429 979 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-05 12:46:26,436 986 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,437 987 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-05 12:46:26,437 987 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-05 12:46:26,444 994 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,445 995 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-05 12:46:26,446 996 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-05 12:46:26,454 1004 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,455 1005 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-05 12:46:26,455 1005 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-05 12:46:26,462 1012 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,463 1013 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-05 12:46:26,463 1013 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-05 12:46:26,471 1021 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,474 1024 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-05 12:46:26,474 1024 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-05 12:46:26,482 1032 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,482 1032 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-05 12:46:26,483 1033 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-05 12:46:26,490 1040 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,491 1041 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-05 12:46:26,492 1042 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-05 12:46:26,501 1051 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,502 1052 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-05 12:46:26,503 1053 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-05 12:46:26,513 1063 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,514 1064 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-05 12:46:26,515 1065 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-05 12:46:26,523 1073 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,524 1074 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-05 12:46:26,524 1074 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-05 12:46:26,531 1081 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,533 1083 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-05 12:46:26,533 1083 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-05 12:46:26,540 1090 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,540 1090 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-05 12:46:26,541 1091 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-05 12:46:26,547 1097 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,548 1098 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-05 12:46:26,548 1098 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-05 12:46:26,555 1105 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,556 1106 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-05 12:46:26,556 1106 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-05 12:46:26,563 1113 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,564 1114 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-05 12:46:26,564 1114 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-05 12:46:26,571 1121 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,571 1121 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-05 12:46:26,572 1122 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-05 12:46:26,579 1129 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:46:26,580 1130 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-05 12:46:26,581 1131 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-05 12:46:26,581 1131 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-05 12:46:26,581 1131 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-05 12:46:26,581 1131 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-05 12:46:26,582 1132 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-05 12:46:26,584 1134 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 12:48:29,625 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:420) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-05 12:48:29,647 23 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 12:48:29,700 76 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-05 12:48:29,706 82 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-05 12:48:29,715 91 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-05 12:48:29,715 91 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-05 12:48:29,715 91 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-05 12:48:29,715 91 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-05 12:48:30,085 461 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 12:48:30,096 472 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 12:48:30,096 472 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-05 12:48:30,105 481 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-05 12:48:30,105 481 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-05 12:48:30,105 481 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-05 12:48:30,107 483 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:458) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-05 12:48:30,109 485 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 12:48:30,114 490 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 12:48:30,117 493 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 12:48:30,121 497 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 12:48:30,123 499 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-05 12:48:30,124 500 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-05 12:48:30,124 500 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-05 12:48:30,124 500 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-05 12:48:30,124 500 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-05 12:48:30,126 502 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 12:48:30,128 504 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-05 12:48:30,128 504 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-05 12:48:30,128 504 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-05 12:48:30,129 505 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-05 12:48:30,185 561 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-05 12:48:30,186 562 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-05 12:48:30,245 621 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-05 12:48:30,246 622 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-05 12:48:30,387 763 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-05 12:48:30,483 859 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,493 869 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,503 879 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,517 893 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,526 902 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,535 911 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,549 925 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,557 933 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,565 941 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,572 948 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,579 955 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,585 961 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,587 963 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-05 12:48:30,587 963 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-05 12:48:30,595 971 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,596 972 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-05 12:48:30,596 972 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-05 12:48:30,603 979 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,603 979 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-05 12:48:30,604 980 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-05 12:48:30,611 987 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,612 988 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-05 12:48:30,612 988 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-05 12:48:30,620 996 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,621 997 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-05 12:48:30,621 997 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-05 12:48:30,628 1004 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,628 1004 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-05 12:48:30,629 1005 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-05 12:48:30,635 1011 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,638 1014 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-05 12:48:30,638 1014 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-05 12:48:30,645 1021 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,646 1022 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-05 12:48:30,646 1022 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-05 12:48:30,653 1029 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,653 1029 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-05 12:48:30,654 1030 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-05 12:48:30,660 1036 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,661 1037 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-05 12:48:30,662 1038 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-05 12:48:30,668 1044 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,669 1045 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-05 12:48:30,669 1045 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-05 12:48:30,676 1052 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,677 1053 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-05 12:48:30,677 1053 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-05 12:48:30,684 1060 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,685 1061 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-05 12:48:30,685 1061 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-05 12:48:30,694 1070 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,694 1070 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-05 12:48:30,695 1071 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-05 12:48:30,701 1077 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,701 1077 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-05 12:48:30,701 1077 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-05 12:48:30,707 1083 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,708 1084 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-05 12:48:30,708 1084 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-05 12:48:30,714 1090 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,715 1091 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-05 12:48:30,715 1091 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-05 12:48:30,721 1097 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,721 1097 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-05 12:48:30,722 1098 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-05 12:48:30,727 1103 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-05 12:48:30,728 1104 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-05 12:48:30,729 1105 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-05 12:48:30,729 1105 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-05 12:48:30,729 1105 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-05 12:48:30,729 1105 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-05 12:48:30,729 1105 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-05 12:48:30,732 1108 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 14:23:27,666 0 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:420) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-05 14:23:27,690 24 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 14:23:27,743 77 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-05 14:23:27,748 82 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-05 14:23:27,758 92 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-05 14:23:27,758 92 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-05 14:23:27,759 93 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-05 14:23:27,759 93 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-05 14:23:28,165 499 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 14:23:28,177 511 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 14:23:28,177 511 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-05 14:23:28,186 520 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-05 14:23:28,186 520 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-05 14:23:28,186 520 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-05 14:23:28,188 522 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:458) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-05 14:23:28,190 524 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 14:23:28,195 529 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 14:23:28,198 532 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 14:23:28,202 536 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 14:23:28,204 538 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-05 14:23:28,205 539 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-05 14:23:28,205 539 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-05 14:23:28,205 539 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-05 14:23:28,205 539 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-05 14:23:28,207 541 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-05 14:23:28,209 543 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-05 14:23:28,209 543 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-05 14:23:28,209 543 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-05 14:23:28,210 544 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-05 14:23:28,266 600 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-05 14:23:28,266 600 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-05 14:23:28,326 660 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-05 14:23:28,327 661 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-05 14:23:28,489 823 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-05 14:23:28,593 927 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,603 937 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,613 947 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,627 961 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,636 970 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,645 979 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,660 994 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,668 1002 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,678 1012 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,686 1020 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,693 1027 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,699 1033 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,701 1035 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-05 14:23:28,701 1035 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-05 14:23:28,709 1043 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,710 1044 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-05 14:23:28,710 1044 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-05 14:23:28,717 1051 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,717 1051 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-05 14:23:28,718 1052 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-05 14:23:28,725 1059 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,726 1060 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-05 14:23:28,726 1060 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-05 14:23:28,734 1068 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,735 1069 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-05 14:23:28,735 1069 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-05 14:23:28,742 1076 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,743 1077 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-05 14:23:28,743 1077 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-05 14:23:28,750 1084 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,752 1086 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-05 14:23:28,753 1087 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-05 14:23:28,759 1093 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,760 1094 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-05 14:23:28,760 1094 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-05 14:23:28,767 1101 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,768 1102 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-05 14:23:28,768 1102 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-05 14:23:28,775 1109 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,776 1110 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-05 14:23:28,776 1110 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-05 14:23:28,786 1120 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,787 1121 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-05 14:23:28,787 1121 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-05 14:23:28,793 1127 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,794 1128 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-05 14:23:28,794 1128 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-05 14:23:28,801 1135 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,803 1137 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-05 14:23:28,803 1137 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-05 14:23:28,811 1145 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,812 1146 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-05 14:23:28,812 1146 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-05 14:23:28,820 1154 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,821 1155 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-05 14:23:28,821 1155 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-05 14:23:28,829 1163 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,830 1164 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-05 14:23:28,830 1164 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-05 14:23:28,839 1173 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,839 1173 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-05 14:23:28,840 1174 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-05 14:23:28,847 1181 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,847 1181 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-05 14:23:28,848 1182 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-05 14:23:28,855 1189 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-05 14:23:28,856 1190 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-05 14:23:28,857 1191 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-05 14:23:28,857 1191 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-05 14:23:28,857 1191 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-05 14:23:28,857 1191 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-05 14:23:28,858 1192 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-05 14:23:28,860 1194 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-08 23:59:46,131 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:420) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-08 23:59:46,152 22 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-08 23:59:46,209 79 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-08 23:59:46,214 84 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-08 23:59:46,226 96 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-08 23:59:46,226 96 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-08 23:59:46,226 96 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-08 23:59:46,226 96 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-08 23:59:46,612 482 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-08 23:59:46,623 493 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-08 23:59:46,623 493 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-08 23:59:46,632 502 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-08 23:59:46,632 502 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-08 23:59:46,632 502 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-08 23:59:46,634 504 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:458) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-08 23:59:46,636 506 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-08 23:59:46,641 511 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-08 23:59:46,644 514 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-08 23:59:46,648 518 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-08 23:59:46,651 521 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-08 23:59:46,651 521 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-08 23:59:46,651 521 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-08 23:59:46,651 521 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-08 23:59:46,651 521 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-08 23:59:46,654 524 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-08 23:59:46,656 526 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-08 23:59:46,656 526 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-08 23:59:46,656 526 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-08 23:59:46,656 526 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-08 23:59:46,713 583 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-08 23:59:46,713 583 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-08 23:59:46,772 642 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceChains" : { + "*" : [ "JVM" ] + }, + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-08 23:59:46,773 643 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-08 23:59:46,908 778 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-08 23:59:47,005 875 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,015 885 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,024 894 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,039 909 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,049 919 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,057 927 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,072 942 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,080 950 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,088 958 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,095 965 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,102 972 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,108 978 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,110 980 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-08 23:59:47,110 980 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-08 23:59:47,118 988 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,119 989 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-08 23:59:47,119 989 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-08 23:59:47,126 996 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,127 997 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-08 23:59:47,127 997 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-08 23:59:47,134 1004 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,135 1005 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-08 23:59:47,135 1005 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-08 23:59:47,144 1014 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,144 1014 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-08 23:59:47,145 1015 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-08 23:59:47,152 1022 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,152 1022 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-08 23:59:47,152 1022 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-08 23:59:47,159 1029 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,162 1032 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-08 23:59:47,162 1032 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-08 23:59:47,169 1039 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,170 1040 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-08 23:59:47,170 1040 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-08 23:59:47,177 1047 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,178 1048 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-08 23:59:47,178 1048 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-08 23:59:47,185 1055 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,186 1056 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-08 23:59:47,186 1056 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-08 23:59:47,193 1063 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,193 1063 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-08 23:59:47,194 1064 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-08 23:59:47,200 1070 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,201 1071 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-08 23:59:47,201 1071 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-08 23:59:47,208 1078 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,210 1080 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-08 23:59:47,210 1080 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-08 23:59:47,216 1086 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,217 1087 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-08 23:59:47,217 1087 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-08 23:59:47,223 1093 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,224 1094 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-08 23:59:47,224 1094 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-08 23:59:47,230 1100 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,231 1101 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-08 23:59:47,231 1101 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-08 23:59:47,238 1108 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,238 1108 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-08 23:59:47,239 1109 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-08 23:59:47,244 1114 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,245 1115 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-08 23:59:47,245 1115 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-08 23:59:47,251 1121 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-08 23:59:47,252 1122 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-08 23:59:47,253 1123 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-08 23:59:47,253 1123 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-08 23:59:47,253 1123 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-08 23:59:47,253 1123 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-08 23:59:47,253 1123 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-08 23:59:47,256 1126 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-09 00:57:38,411 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:420) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-09 00:57:38,427 17 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-09 00:57:38,480 70 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-09 00:57:38,485 75 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-09 00:57:38,495 85 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-09 00:57:38,495 85 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-09 00:57:38,496 86 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-09 00:57:38,496 86 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-09 00:57:38,862 452 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-09 00:57:38,873 463 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-09 00:57:38,874 464 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-09 00:57:38,882 472 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-09 00:57:38,882 472 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-09 00:57:38,882 472 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-09 00:57:38,885 475 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:458) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-09 00:57:38,886 476 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-09 00:57:38,891 481 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-09 00:57:38,894 484 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-09 00:57:38,898 488 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-09 00:57:38,901 491 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-09 00:57:38,901 491 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-09 00:57:38,901 491 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-09 00:57:38,901 491 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-09 00:57:38,901 491 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-09 00:57:38,903 493 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-09 00:57:38,905 495 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-09 00:57:38,905 495 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-09 00:57:38,906 496 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-09 00:57:38,906 496 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-09 00:57:38,962 552 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-09 00:57:38,963 553 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-09 00:57:39,021 611 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceChains" : { + "*" : [ "JVM" ] + }, + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-09 00:57:39,022 612 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-09 00:57:39,165 755 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-09 00:57:39,267 857 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,278 868 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,288 878 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,303 893 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,312 902 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,321 911 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,336 926 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,344 934 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,354 944 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,364 954 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,373 963 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,379 969 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,381 971 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-09 00:57:39,381 971 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-09 00:57:39,389 979 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,390 980 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-09 00:57:39,390 980 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-09 00:57:39,397 987 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,398 988 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-09 00:57:39,398 988 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-09 00:57:39,405 995 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,406 996 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-09 00:57:39,406 996 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-09 00:57:39,414 1004 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,415 1005 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-09 00:57:39,415 1005 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-09 00:57:39,422 1012 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,423 1013 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-09 00:57:39,423 1013 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-09 00:57:39,430 1020 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,433 1023 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-09 00:57:39,433 1023 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-09 00:57:39,440 1030 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,440 1030 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-09 00:57:39,441 1031 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-09 00:57:39,448 1038 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,448 1038 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-09 00:57:39,449 1039 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-09 00:57:39,455 1045 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,457 1047 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-09 00:57:39,457 1047 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-09 00:57:39,464 1054 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,464 1054 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-09 00:57:39,464 1054 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-09 00:57:39,471 1061 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,472 1062 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-09 00:57:39,472 1062 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-09 00:57:39,479 1069 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,481 1071 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-09 00:57:39,481 1071 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-09 00:57:39,491 1081 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,491 1081 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-09 00:57:39,492 1082 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-09 00:57:39,501 1091 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,502 1092 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-09 00:57:39,503 1093 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-09 00:57:39,511 1101 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,512 1102 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-09 00:57:39,513 1103 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-09 00:57:39,522 1112 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,522 1112 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-09 00:57:39,522 1112 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-09 00:57:39,528 1118 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,529 1119 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-09 00:57:39,529 1119 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-09 00:57:39,535 1125 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null +} +2013-04-09 00:57:39,535 1125 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-09 00:57:39,536 1126 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-09 00:57:39,536 1126 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-09 00:57:39,536 1126 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-09 00:57:39,536 1126 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-09 00:57:39,537 1127 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-09 00:57:39,539 1129 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 01:00:48,494 6 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:420) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-10 01:00:48,509 21 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 01:00:48,564 76 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-10 01:00:48,570 82 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-10 01:00:48,581 93 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-10 01:00:48,581 93 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-10 01:00:48,581 93 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-10 01:00:48,582 94 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-10 01:00:49,041 553 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 01:00:49,053 565 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 01:00:49,054 566 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-10 01:00:49,063 575 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-10 01:00:49,063 575 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-10 01:00:49,063 575 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-10 01:00:49,066 578 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:458) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-10 01:00:49,067 579 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 01:00:49,072 584 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 01:00:49,075 587 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 01:00:49,080 592 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 01:00:49,082 594 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-10 01:00:49,083 595 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-10 01:00:49,083 595 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-10 01:00:49,083 595 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-10 01:00:49,083 595 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-10 01:00:49,086 598 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 01:00:49,088 600 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-10 01:00:49,088 600 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-10 01:00:49,088 600 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-10 01:00:49,088 600 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-10 01:00:49,148 660 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-10 01:00:49,148 660 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-10 01:00:49,212 724 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-10 01:00:49,214 726 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-10 01:00:49,362 874 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-10 01:00:49,470 982 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,481 993 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,491 1003 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,505 1017 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,515 1027 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,524 1036 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,539 1051 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,548 1060 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,556 1068 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,564 1076 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,571 1083 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,578 1090 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,580 1092 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 01:00:49,580 1092 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 01:00:49,588 1100 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,589 1101 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 01:00:49,589 1101 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 01:00:49,596 1108 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,597 1109 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 01:00:49,597 1109 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 01:00:49,605 1117 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,608 1120 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 01:00:49,608 1120 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 01:00:49,617 1129 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,618 1130 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 01:00:49,618 1130 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 01:00:49,626 1138 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,626 1138 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 01:00:49,626 1138 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 01:00:49,634 1146 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,634 1146 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 01:00:49,635 1147 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 01:00:49,642 1154 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,643 1155 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-10 01:00:49,643 1155 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-10 01:00:49,650 1162 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,651 1163 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-10 01:00:49,651 1163 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-10 01:00:49,663 1175 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,664 1176 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-10 01:00:49,664 1176 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-10 01:00:49,673 1185 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,673 1185 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-10 01:00:49,674 1186 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-10 01:00:49,684 1196 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,687 1199 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 01:00:49,687 1199 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 01:00:49,695 1207 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,697 1209 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 01:00:49,697 1209 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 01:00:49,706 1218 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,707 1219 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 01:00:49,707 1219 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 01:00:49,715 1227 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,717 1229 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 01:00:49,717 1229 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 01:00:49,725 1237 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,725 1237 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 01:00:49,726 1238 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 01:00:49,733 1245 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,734 1246 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 01:00:49,734 1246 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 01:00:49,741 1253 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,743 1255 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 01:00:49,743 1255 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 01:00:49,750 1262 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,751 1263 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 01:00:49,751 1263 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 01:00:49,758 1270 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,759 1271 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 01:00:49,759 1271 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 01:00:49,766 1278 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,768 1280 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 01:00:49,768 1280 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 01:00:49,774 1286 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,775 1287 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 01:00:49,775 1287 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 01:00:49,782 1294 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,782 1294 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 01:00:49,783 1295 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 01:00:49,789 1301 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-10 01:00:49,790 1302 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-10 01:00:49,791 1303 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-10 01:00:49,791 1303 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-10 01:00:49,791 1303 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-10 01:00:49,791 1303 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-10 01:00:49,792 1304 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-10 01:00:49,795 1307 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 03:13:54,418 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:420) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-10 03:13:54,441 24 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 03:13:54,497 80 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-10 03:13:54,503 86 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-10 03:13:54,514 97 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-10 03:13:54,514 97 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-10 03:13:54,514 97 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-10 03:13:54,514 97 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-10 03:13:54,918 501 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 03:13:54,930 513 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 03:13:54,930 513 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-10 03:13:54,939 522 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-10 03:13:54,939 522 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-10 03:13:54,939 522 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-10 03:13:54,942 525 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:458) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-10 03:13:54,943 526 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 03:13:54,948 531 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 03:13:54,952 535 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 03:13:54,956 539 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 03:13:54,959 542 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-10 03:13:54,959 542 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-10 03:13:54,959 542 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-10 03:13:54,960 543 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-10 03:13:54,960 543 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-10 03:13:54,962 545 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 03:13:54,964 547 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-10 03:13:54,964 547 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-10 03:13:54,964 547 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-10 03:13:54,965 548 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-10 03:13:55,024 607 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-10 03:13:55,025 608 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-10 03:13:55,088 671 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-10 03:13:55,089 672 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-10 03:13:55,233 816 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-10 03:13:55,334 917 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,345 928 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,354 937 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,367 950 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,377 960 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,385 968 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,400 983 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,408 991 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,415 998 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,423 1006 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,430 1013 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,436 1019 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,438 1021 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:13:55,438 1021 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:13:55,439 1022 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:13:55,440 1023 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:13:55,447 1030 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,448 1031 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:13:55,448 1031 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:13:55,448 1031 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:13:55,448 1031 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:13:55,455 1038 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,456 1039 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:13:55,456 1039 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:13:55,456 1039 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:13:55,457 1040 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:13:55,463 1046 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,466 1049 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:13:55,466 1049 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:13:55,467 1050 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:13:55,467 1050 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:13:55,475 1058 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,476 1059 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:13:55,477 1060 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:13:55,477 1060 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:13:55,477 1060 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:13:55,484 1067 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,485 1068 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:13:55,485 1068 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:13:55,485 1068 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:13:55,485 1068 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:13:55,492 1075 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,493 1076 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:13:55,493 1076 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:13:55,493 1076 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:13:55,494 1077 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:13:55,500 1083 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,501 1084 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-10 03:13:55,501 1084 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-10 03:13:55,501 1084 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-10 03:13:55,502 1085 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-10 03:13:55,508 1091 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,509 1092 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-10 03:13:55,509 1092 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-10 03:13:55,510 1093 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-10 03:13:55,510 1093 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-10 03:13:55,517 1100 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,517 1100 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-10 03:13:55,518 1101 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-10 03:13:55,518 1101 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-10 03:13:55,518 1101 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-10 03:13:55,525 1108 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,526 1109 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-10 03:13:55,526 1109 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-10 03:13:55,527 1110 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-10 03:13:55,527 1110 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-10 03:13:55,533 1116 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,536 1119 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:13:55,536 1119 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:13:55,537 1120 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:13:55,537 1120 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:13:55,544 1127 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,545 1128 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:13:55,545 1128 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:13:55,545 1128 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:13:55,546 1129 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:13:55,553 1136 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,553 1136 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:13:55,553 1136 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:13:55,554 1137 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:13:55,554 1137 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:13:55,561 1144 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,562 1145 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:13:55,562 1145 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:13:55,562 1145 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:13:55,563 1146 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:13:55,569 1152 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,570 1153 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:13:55,570 1153 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:13:55,571 1154 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:13:55,571 1154 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:13:55,578 1161 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,579 1162 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:13:55,579 1162 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:13:55,580 1163 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:13:55,580 1163 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:13:55,587 1170 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,589 1172 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:13:55,589 1172 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:13:55,589 1172 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:13:55,589 1172 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:13:55,596 1179 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,597 1180 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:13:55,597 1180 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:13:55,598 1181 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:13:55,598 1181 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:13:55,605 1188 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,605 1188 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:13:55,606 1189 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:13:55,606 1189 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:13:55,606 1189 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:13:55,613 1196 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,614 1197 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:13:55,615 1198 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:13:55,615 1198 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:13:55,615 1198 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:13:55,623 1206 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,624 1207 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:13:55,624 1207 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:13:55,624 1207 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:13:55,624 1207 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:13:55,631 1214 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,631 1214 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:13:55,632 1215 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:13:55,632 1215 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:13:55,632 1215 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:13:55,638 1221 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 03:13:55,639 1222 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-10 03:13:55,640 1223 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-10 03:13:55,640 1223 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-10 03:13:55,640 1223 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-10 03:13:55,640 1223 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-10 03:13:55,640 1223 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-10 03:13:55,643 1226 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 03:15:36,373 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:420) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-10 03:15:36,394 22 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 03:15:36,448 76 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-10 03:15:36,454 82 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-10 03:15:36,464 92 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-10 03:15:36,465 93 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-10 03:15:36,465 93 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-10 03:15:36,465 93 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-10 03:15:36,866 494 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 03:15:36,878 506 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 03:15:36,879 507 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-10 03:15:36,888 516 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-10 03:15:36,888 516 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-10 03:15:36,888 516 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-10 03:15:36,891 519 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:194) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:458) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-10 03:15:36,892 520 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 03:15:36,899 527 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 03:15:36,902 530 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 03:15:36,907 535 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 03:15:36,911 539 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-10 03:15:36,911 539 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-10 03:15:36,911 539 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-10 03:15:36,911 539 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-10 03:15:36,911 539 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-10 03:15:36,914 542 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 03:15:36,916 544 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-10 03:15:36,916 544 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-10 03:15:36,916 544 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-10 03:15:36,916 544 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-10 03:15:36,977 605 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-10 03:15:36,977 605 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-10 03:15:37,041 669 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "controllerLoader" : null, + "apiLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceChains" : { + "*" : [ "JVM" ] + }, + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-10 03:15:37,043 671 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-10 03:15:37,199 827 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-10 03:15:37,300 928 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,310 938 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,320 948 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,334 962 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,344 972 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,353 981 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,368 996 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,376 1004 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,384 1012 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,392 1020 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,400 1028 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,407 1035 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,408 1036 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:15:37,409 1037 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:15:37,410 1038 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:15:37,410 1038 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:15:37,418 1046 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,418 1046 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:15:37,419 1047 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:15:37,419 1047 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:15:37,419 1047 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:15:37,426 1054 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,427 1055 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:15:37,427 1055 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:15:37,427 1055 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:15:37,427 1055 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:15:37,434 1062 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,437 1065 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:15:37,438 1066 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:15:37,438 1066 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:15:37,438 1066 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:15:37,446 1074 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,448 1076 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:15:37,448 1076 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:15:37,448 1076 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:15:37,448 1076 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:15:37,455 1083 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,456 1084 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:15:37,456 1084 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:15:37,457 1085 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:15:37,457 1085 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:15:37,464 1092 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,464 1092 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:15:37,465 1093 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:15:37,465 1093 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:15:37,465 1093 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:15:37,472 1100 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,473 1101 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-10 03:15:37,473 1101 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-10 03:15:37,473 1101 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-10 03:15:37,473 1101 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-10 03:15:37,480 1108 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,481 1109 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-10 03:15:37,482 1110 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-10 03:15:37,482 1110 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-10 03:15:37,482 1110 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-10 03:15:37,491 1119 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,491 1119 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-10 03:15:37,492 1120 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-10 03:15:37,492 1120 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-10 03:15:37,492 1120 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-10 03:15:37,498 1126 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,499 1127 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-10 03:15:37,499 1127 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-10 03:15:37,500 1128 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-10 03:15:37,500 1128 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-10 03:15:37,506 1134 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,508 1136 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:15:37,509 1137 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:15:37,509 1137 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:15:37,509 1137 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:15:37,516 1144 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,517 1145 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:15:37,517 1145 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:15:37,517 1145 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:15:37,517 1145 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:15:37,524 1152 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,525 1153 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:15:37,525 1153 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:15:37,525 1153 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:15:37,525 1153 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:15:37,532 1160 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,533 1161 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:15:37,533 1161 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:15:37,533 1161 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:15:37,534 1162 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:15:37,542 1170 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,543 1171 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:15:37,544 1172 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:15:37,544 1172 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:15:37,544 1172 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:15:37,554 1182 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,555 1183 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:15:37,555 1183 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:15:37,556 1184 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:15:37,556 1184 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:15:37,563 1191 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,564 1192 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:15:37,565 1193 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:15:37,565 1193 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:15:37,565 1193 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:15:37,572 1200 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,572 1200 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:15:37,572 1200 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:15:37,573 1201 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:15:37,573 1201 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:15:37,579 1207 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,580 1208 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:15:37,580 1208 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:15:37,581 1209 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:15:37,581 1209 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:15:37,587 1215 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,588 1216 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:15:37,589 1217 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:15:37,589 1217 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 03:15:37,589 1217 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 03:15:37,595 1223 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,596 1224 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:15:37,596 1224 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:15:37,596 1224 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 03:15:37,597 1225 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 03:15:37,602 1230 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,603 1231 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:15:37,603 1231 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:15:37,603 1231 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 03:15:37,604 1232 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 03:15:37,609 1237 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalParameters" : [ ], + "locale" : null +} +2013-04-10 03:15:37,610 1238 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-10 03:15:37,610 1238 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-10 03:15:37,611 1239 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-10 03:15:37,611 1239 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-10 03:15:37,611 1239 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-10 03:15:37,611 1239 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-10 03:15:37,614 1242 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 20:21:31,417 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:188) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:428) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-10 20:21:31,449 33 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 20:21:31,449 33 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:227) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:428) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-10 20:21:31,499 83 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-10 20:21:31,503 87 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:227) + at org.wrml.server.WrmlServletTest.requestPostNoDataWithContentType(WrmlServletTest.java:670) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-10 20:21:31,509 93 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-10 20:21:31,509 93 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:227) + at org.wrml.server.WrmlServletTest.requestPostNoData(WrmlServletTest.java:629) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-10 20:21:31,521 105 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-10 20:21:31,521 105 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-10 20:21:31,521 105 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-10 20:21:31,521 105 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-10 20:21:31,933 517 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 20:21:31,934 518 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:227) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderFound(WrmlServletTest.java:308) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-10 20:21:31,945 529 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 20:21:31,945 529 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:227) + at org.wrml.server.WrmlServletTest.requestApiLoaderException(WrmlServletTest.java:388) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-10 20:21:31,954 538 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-10 20:21:31,955 539 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-10 20:21:31,955 539 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-10 20:21:31,958 542 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:188) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:467) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-10 20:21:31,959 543 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 20:21:31,959 543 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:227) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:467) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-10 20:21:31,964 548 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 20:21:31,964 548 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:227) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNotFound(WrmlServletTest.java:270) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-10 20:21:31,969 553 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 20:21:31,969 553 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:227) + at org.wrml.server.WrmlServletTest.requestWithHostHeader(WrmlServletTest.java:507) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-10 20:21:31,974 558 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 20:21:31,974 558 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:227) + at org.wrml.server.WrmlServletTest.requestWithHostAndPortHeaders(WrmlServletTest.java:548) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-10 20:21:31,977 561 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-10 20:21:31,977 561 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-10 20:21:31,977 561 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-10 20:21:31,977 561 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-10 20:21:31,978 562 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-10 20:21:31,980 564 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 20:21:31,980 564 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:227) + at org.wrml.server.WrmlServletTest.requestRootWithSlash(WrmlServletTest.java:587) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-10 20:21:31,982 566 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-10 20:21:31,982 566 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-10 20:21:31,983 567 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-10 20:21:31,983 567 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-10 20:21:32,038 622 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-10 20:21:32,038 622 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-10 20:21:32,103 687 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "schemaLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-10 20:21:32,104 688 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-10 20:21:32,227 811 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-10 20:21:32,326 910 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,336 920 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,345 929 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,358 942 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,367 951 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,376 960 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,391 975 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,398 982 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,406 990 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,414 998 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,420 1004 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,426 1010 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,428 1012 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 20:21:32,429 1013 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 20:21:32,436 1020 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,437 1021 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 20:21:32,437 1021 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 20:21:32,444 1028 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,445 1029 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 20:21:32,445 1029 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 20:21:32,452 1036 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,455 1039 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 20:21:32,455 1039 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 20:21:32,463 1047 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,464 1048 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 20:21:32,465 1049 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 20:21:32,471 1055 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,472 1056 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 20:21:32,472 1056 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 20:21:32,479 1063 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,480 1064 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 20:21:32,480 1064 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 20:21:32,487 1071 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,487 1071 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-10 20:21:32,488 1072 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-10 20:21:32,494 1078 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,495 1079 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-10 20:21:32,495 1079 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-10 20:21:32,502 1086 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,502 1086 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-10 20:21:32,503 1087 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-10 20:21:32,509 1093 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,510 1094 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-10 20:21:32,510 1094 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-10 20:21:32,516 1100 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,519 1103 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 20:21:32,519 1103 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 20:21:32,525 1109 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,526 1110 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 20:21:32,526 1110 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 20:21:32,532 1116 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,533 1117 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 20:21:32,533 1117 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 20:21:32,539 1123 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,540 1124 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 20:21:32,540 1124 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 20:21:32,545 1129 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,546 1130 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 20:21:32,546 1130 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 20:21:32,552 1136 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,553 1137 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 20:21:32,553 1137 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 20:21:32,559 1143 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,560 1144 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 20:21:32,561 1145 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 20:21:32,566 1150 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,567 1151 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 20:21:32,567 1151 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 20:21:32,573 1157 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,573 1157 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 20:21:32,573 1157 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 20:21:32,579 1163 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,580 1164 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-10 20:21:32,580 1164 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-10 20:21:32,586 1170 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,586 1170 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-10 20:21:32,587 1171 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-10 20:21:32,592 1176 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,593 1177 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-10 20:21:32,593 1177 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-10 20:21:32,599 1183 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalParameters" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-10 20:21:32,599 1183 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-10 20:21:32,600 1184 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-10 20:21:32,600 1184 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-10 20:21:32,600 1184 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-10 20:21:32,601 1185 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-10 20:21:32,601 1185 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-10 20:21:32,603 1187 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-10 20:21:32,604 1188 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:227) + at org.wrml.server.WrmlServletTest.requestSingleAcceptHeader(WrmlServletTest.java:347) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,329 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:427) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,365 37 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 17:35:44,366 38 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:427) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,367 39 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:427) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,427 99 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-17 17:35:44,432 104 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestPostNoDataWithContentType(WrmlServletTest.java:669) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,433 105 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestPostNoDataWithContentType(WrmlServletTest.java:669) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,440 112 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-17 17:35:44,441 113 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestPostNoData(WrmlServletTest.java:628) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,442 114 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestPostNoData(WrmlServletTest.java:628) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,453 125 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-17 17:35:44,453 125 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-17 17:35:44,454 126 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-17 17:35:44,454 126 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-17 17:35:44,922 594 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 17:35:44,922 594 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderFound(WrmlServletTest.java:307) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,924 596 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderFound(WrmlServletTest.java:307) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,935 607 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 17:35:44,935 607 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestApiLoaderException(WrmlServletTest.java:387) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,936 608 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestApiLoaderException(WrmlServletTest.java:387) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,951 623 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:242) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,953 625 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-17 17:35:44,953 625 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-17 17:35:44,954 626 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-17 17:35:44,956 628 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:466) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,957 629 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 17:35:44,957 629 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:466) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,958 630 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:466) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,962 634 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 17:35:44,963 635 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNotFound(WrmlServletTest.java:269) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,963 635 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNotFound(WrmlServletTest.java:269) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,968 640 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 17:35:44,968 640 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestWithHostHeader(WrmlServletTest.java:506) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,968 640 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestWithHostHeader(WrmlServletTest.java:506) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,973 645 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 17:35:44,973 645 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestWithHostAndPortHeaders(WrmlServletTest.java:547) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,974 646 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestWithHostAndPortHeaders(WrmlServletTest.java:547) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,977 649 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-17 17:35:44,977 649 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-17 17:35:44,977 649 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-17 17:35:44,977 649 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-17 17:35:44,978 650 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-17 17:35:44,980 652 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 17:35:44,980 652 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestRootWithSlash(WrmlServletTest.java:586) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,980 652 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestRootWithSlash(WrmlServletTest.java:586) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:44,983 655 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-17 17:35:44,983 655 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-17 17:35:44,983 655 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-17 17:35:44,983 655 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-17 17:35:45,056 728 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-17 17:35:45,057 729 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-17 17:35:45,121 793 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "schemaLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "serviceLoader" : { + "serviceChains" : { + "*" : [ "JVM" ] + }, + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-17 17:35:45,123 795 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-17 17:35:45,245 917 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-17 17:35:45,374 1046 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,388 1060 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,400 1072 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,419 1091 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,431 1103 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,445 1117 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,464 1136 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,476 1148 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,488 1160 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,503 1175 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,516 1188 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,528 1200 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,531 1203 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-17 17:35:45,532 1204 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-17 17:35:45,554 1226 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,554 1226 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-17 17:35:45,555 1227 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-17 17:35:45,566 1238 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,567 1239 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 17:35:45,568 1240 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 17:35:45,579 1251 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,584 1256 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 17:35:45,584 1256 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 17:35:45,600 1272 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,602 1274 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-17 17:35:45,603 1275 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-17 17:35:45,615 1287 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,616 1288 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-17 17:35:45,616 1288 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-17 17:35:45,629 1301 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,630 1302 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 17:35:45,630 1302 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 17:35:45,642 1314 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,643 1315 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-17 17:35:45,643 1315 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-17 17:35:45,651 1323 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,652 1324 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-17 17:35:45,652 1324 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-17 17:35:45,661 1333 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,662 1334 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-17 17:35:45,662 1334 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-17 17:35:45,670 1342 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,670 1342 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-17 17:35:45,671 1343 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-17 17:35:45,681 1353 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,686 1358 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-17 17:35:45,687 1359 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-17 17:35:45,698 1370 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,699 1371 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-17 17:35:45,700 1372 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-17 17:35:45,711 1383 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,713 1385 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 17:35:45,713 1385 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 17:35:45,725 1397 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,726 1398 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-17 17:35:45,726 1398 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-17 17:35:45,735 1407 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,736 1408 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-17 17:35:45,736 1408 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-17 17:35:45,748 1420 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,748 1420 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 17:35:45,749 1421 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 17:35:45,758 1430 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,761 1433 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-17 17:35:45,762 1434 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-17 17:35:45,772 1444 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,773 1445 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-17 17:35:45,773 1445 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-17 17:35:45,783 1455 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,784 1456 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 17:35:45,785 1457 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 17:35:45,794 1466 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,795 1467 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-17 17:35:45,796 1468 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-17 17:35:45,805 1477 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,806 1478 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-17 17:35:45,806 1478 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-17 17:35:45,815 1487 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,816 1488 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 17:35:45,816 1488 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 17:35:45,824 1496 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-17 17:35:45,825 1497 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-17 17:35:45,826 1498 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-17 17:35:45,826 1498 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-17 17:35:45,827 1499 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-17 17:35:45,827 1499 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-17 17:35:45,827 1499 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-17 17:35:45,832 1504 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 17:35:45,832 1504 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestSingleAcceptHeader(WrmlServletTest.java:346) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:35:45,833 1505 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.NullPointerException + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:230) + at org.wrml.server.WrmlServletTest.requestSingleAcceptHeader(WrmlServletTest.java:346) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:38:14,825 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:38:14,842 18 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 17:38:14,909 85 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-17 17:38:14,915 91 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-17 17:38:14,925 101 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-17 17:38:14,925 101 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-17 17:38:14,926 102 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-17 17:38:14,926 102 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-17 17:38:15,414 590 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 17:38:15,425 601 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 17:38:15,425 601 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-17 17:38:15,425 601 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-17 17:38:15,433 609 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:38:15,435 611 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-17 17:38:15,435 611 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-17 17:38:15,435 611 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-17 17:38:15,438 614 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 17:38:15,439 615 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 17:38:15,444 620 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 17:38:15,447 623 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 17:38:15,452 628 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 17:38:15,455 631 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-17 17:38:15,455 631 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-17 17:38:15,455 631 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-17 17:38:15,455 631 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-17 17:38:15,455 631 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-17 17:38:15,458 634 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 17:38:15,459 635 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-17 17:38:15,459 635 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-17 17:38:15,460 636 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-17 17:38:15,460 636 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-17 17:38:15,527 703 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-17 17:38:15,527 703 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-17 17:38:15,589 765 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "apiLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-17 17:38:15,591 767 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-17 17:38:15,710 886 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-17 17:38:15,811 987 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:15,821 997 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:15,830 1006 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:15,844 1020 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:15,854 1030 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:15,862 1038 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:15,877 1053 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:15,885 1061 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:15,892 1068 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:15,900 1076 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:15,907 1083 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:15,914 1090 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:15,916 1092 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-17 17:38:15,916 1092 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-17 17:38:15,930 1106 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:15,931 1107 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-17 17:38:15,931 1107 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-17 17:38:15,938 1114 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:15,939 1115 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 17:38:15,939 1115 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 17:38:15,947 1123 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:15,950 1126 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 17:38:15,950 1126 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 17:38:15,959 1135 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:15,960 1136 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-17 17:38:15,961 1137 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-17 17:38:15,968 1144 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:15,969 1145 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-17 17:38:15,969 1145 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-17 17:38:15,976 1152 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:15,977 1153 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 17:38:15,977 1153 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 17:38:15,984 1160 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:15,985 1161 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-17 17:38:15,985 1161 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-17 17:38:15,993 1169 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:15,994 1170 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-17 17:38:15,994 1170 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-17 17:38:16,001 1177 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:16,002 1178 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-17 17:38:16,002 1178 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-17 17:38:16,009 1185 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:16,010 1186 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-17 17:38:16,010 1186 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-17 17:38:16,017 1193 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:16,019 1195 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-17 17:38:16,020 1196 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-17 17:38:16,026 1202 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:16,027 1203 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-17 17:38:16,027 1203 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-17 17:38:16,033 1209 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:16,033 1209 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 17:38:16,034 1210 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 17:38:16,039 1215 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:16,041 1217 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-17 17:38:16,041 1217 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-17 17:38:16,046 1222 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:16,047 1223 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-17 17:38:16,047 1223 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-17 17:38:16,053 1229 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:16,054 1230 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 17:38:16,054 1230 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 17:38:16,060 1236 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:16,061 1237 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-17 17:38:16,062 1238 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-17 17:38:16,067 1243 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:16,068 1244 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-17 17:38:16,068 1244 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-17 17:38:16,074 1250 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:16,074 1250 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 17:38:16,075 1251 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 17:38:16,080 1256 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:16,081 1257 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-17 17:38:16,082 1258 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-17 17:38:16,087 1263 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:16,088 1264 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-17 17:38:16,088 1264 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-17 17:38:16,094 1270 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:16,094 1270 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 17:38:16,094 1270 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 17:38:16,100 1276 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-17 17:38:16,100 1276 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-17 17:38:16,101 1277 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-17 17:38:16,101 1277 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-17 17:38:16,101 1277 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-17 17:38:16,102 1278 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-17 17:38:16,102 1278 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-17 17:38:16,104 1280 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 18:13:21,139 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 18:13:21,158 20 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 18:13:21,223 85 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-17 18:13:21,228 90 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-17 18:13:21,239 101 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-17 18:13:21,239 101 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-17 18:13:21,239 101 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-17 18:13:21,239 101 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-17 18:13:21,644 506 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 18:13:21,655 517 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 18:13:21,655 517 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-17 18:13:21,656 518 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-17 18:13:21,663 525 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 18:13:21,665 527 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-17 18:13:21,665 527 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-17 18:13:21,665 527 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-17 18:13:21,668 530 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-17 18:13:21,669 531 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 18:13:21,674 536 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 18:13:21,677 539 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 18:13:21,682 544 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 18:13:21,685 547 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-17 18:13:21,685 547 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-17 18:13:21,685 547 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-17 18:13:21,685 547 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-17 18:13:21,686 548 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-17 18:13:21,688 550 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-17 18:13:21,690 552 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-17 18:13:21,690 552 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-17 18:13:21,690 552 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-17 18:13:21,690 552 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-17 18:13:21,759 621 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-17 18:13:21,760 622 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-17 18:13:21,821 683 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-17 18:13:21,822 684 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-17 18:13:21,944 806 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-17 18:13:22,046 908 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,056 918 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,065 927 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,079 941 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,089 951 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,097 959 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,113 975 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,120 982 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,128 990 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,135 997 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,142 1004 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,149 1011 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,150 1012 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-17 18:13:22,151 1013 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-17 18:13:22,165 1027 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,165 1027 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-17 18:13:22,166 1028 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-17 18:13:22,173 1035 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,174 1036 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 18:13:22,174 1036 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 18:13:22,181 1043 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,184 1046 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 18:13:22,184 1046 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 18:13:22,194 1056 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,196 1058 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-17 18:13:22,196 1058 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-17 18:13:22,204 1066 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,205 1067 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-17 18:13:22,205 1067 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-17 18:13:22,213 1075 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,214 1076 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 18:13:22,214 1076 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 18:13:22,222 1084 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,223 1085 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-17 18:13:22,223 1085 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-17 18:13:22,231 1093 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,232 1094 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-17 18:13:22,232 1094 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-17 18:13:22,239 1101 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,240 1102 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-17 18:13:22,240 1102 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-17 18:13:22,247 1109 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,248 1110 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-17 18:13:22,248 1110 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-17 18:13:22,255 1117 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,258 1120 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-17 18:13:22,258 1120 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-17 18:13:22,264 1126 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,265 1127 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-17 18:13:22,265 1127 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-17 18:13:22,272 1134 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,273 1135 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 18:13:22,273 1135 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 18:13:22,279 1141 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,280 1142 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-17 18:13:22,280 1142 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-17 18:13:22,287 1149 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,288 1150 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-17 18:13:22,288 1150 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-17 18:13:22,295 1157 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,296 1158 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 18:13:22,296 1158 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 18:13:22,302 1164 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,304 1166 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-17 18:13:22,304 1166 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-17 18:13:22,310 1172 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,311 1173 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-17 18:13:22,311 1173 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-17 18:13:22,317 1179 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,318 1180 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 18:13:22,318 1180 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 18:13:22,324 1186 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,325 1187 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-17 18:13:22,325 1187 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-17 18:13:22,331 1193 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,332 1194 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-17 18:13:22,332 1194 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-17 18:13:22,337 1199 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,338 1200 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-17 18:13:22,338 1200 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-17 18:13:22,344 1206 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-17 18:13:22,344 1206 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-17 18:13:22,345 1207 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-17 18:13:22,346 1208 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-17 18:13:22,346 1208 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-17 18:13:22,346 1208 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-17 18:13:22,346 1208 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-17 18:13:22,349 1211 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 08:06:44,104 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-18 08:06:44,123 20 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 08:06:44,191 88 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-18 08:06:44,197 94 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-18 08:06:44,207 104 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-18 08:06:44,207 104 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-18 08:06:44,208 105 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-18 08:06:44,208 105 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-18 08:06:44,612 509 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 08:06:44,624 521 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 08:06:44,624 521 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-18 08:06:44,624 521 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-18 08:06:44,632 529 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-18 08:06:44,633 530 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-18 08:06:44,634 531 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-18 08:06:44,634 531 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-18 08:06:44,637 534 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-18 08:06:44,638 535 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 08:06:44,642 539 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 08:06:44,646 543 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 08:06:44,651 548 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 08:06:44,654 551 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-18 08:06:44,654 551 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-18 08:06:44,654 551 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-18 08:06:44,654 551 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-18 08:06:44,654 551 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-18 08:06:44,656 553 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 08:06:44,658 555 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-18 08:06:44,659 556 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-18 08:06:44,659 556 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-18 08:06:44,659 556 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-18 08:06:44,727 624 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-18 08:06:44,727 624 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-18 08:06:44,788 685 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-18 08:06:44,790 687 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-18 08:06:44,915 812 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-18 08:06:45,014 911 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,024 921 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,033 930 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,047 944 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,056 953 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,065 962 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,080 977 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,088 985 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,095 992 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,103 1000 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,109 1006 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,116 1013 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,118 1015 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-18 08:06:45,119 1016 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-18 08:06:45,133 1030 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,133 1030 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-18 08:06:45,134 1031 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-18 08:06:45,141 1038 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,142 1039 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 08:06:45,142 1039 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 08:06:45,151 1048 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,154 1051 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 08:06:45,154 1051 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 08:06:45,164 1061 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,165 1062 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-18 08:06:45,166 1063 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-18 08:06:45,173 1070 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,174 1071 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-18 08:06:45,174 1071 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-18 08:06:45,182 1079 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,183 1080 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 08:06:45,183 1080 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 08:06:45,191 1088 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,191 1088 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-18 08:06:45,192 1089 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-18 08:06:45,200 1097 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,200 1097 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-18 08:06:45,201 1098 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-18 08:06:45,208 1105 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,209 1106 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-18 08:06:45,209 1106 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-18 08:06:45,216 1113 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,216 1113 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-18 08:06:45,217 1114 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-18 08:06:45,224 1121 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,228 1125 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-18 08:06:45,228 1125 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-18 08:06:45,235 1132 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,235 1132 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-18 08:06:45,236 1133 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-18 08:06:45,242 1139 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,243 1140 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 08:06:45,243 1140 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 08:06:45,250 1147 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,251 1148 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-18 08:06:45,251 1148 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-18 08:06:45,258 1155 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,258 1155 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-18 08:06:45,258 1155 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-18 08:06:45,265 1162 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,266 1163 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 08:06:45,266 1163 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 08:06:45,272 1169 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,274 1171 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-18 08:06:45,274 1171 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-18 08:06:45,281 1178 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,281 1178 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-18 08:06:45,281 1178 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-18 08:06:45,287 1184 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,288 1185 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 08:06:45,288 1185 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 08:06:45,294 1191 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,295 1192 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-18 08:06:45,296 1193 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-18 08:06:45,301 1198 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,302 1199 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-18 08:06:45,302 1199 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-18 08:06:45,307 1204 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,308 1205 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 08:06:45,308 1205 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 08:06:45,313 1210 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:06:45,314 1211 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-18 08:06:45,315 1212 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-18 08:06:45,315 1212 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-18 08:06:45,315 1212 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-18 08:06:45,315 1212 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-18 08:06:45,316 1213 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-18 08:06:45,318 1215 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 08:13:39,696 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-18 08:13:39,718 23 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 08:13:39,774 79 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-18 08:13:39,781 86 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-18 08:13:39,792 97 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-18 08:13:39,792 97 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-18 08:13:39,792 97 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-18 08:13:39,793 98 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-18 08:13:40,191 496 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 08:13:40,202 507 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 08:13:40,202 507 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-18 08:13:40,203 508 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-18 08:13:40,210 515 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-18 08:13:40,212 517 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-18 08:13:40,212 517 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-18 08:13:40,212 517 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-18 08:13:40,215 520 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-18 08:13:40,217 522 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 08:13:40,221 526 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 08:13:40,225 530 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 08:13:40,229 534 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 08:13:40,232 537 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-18 08:13:40,232 537 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-18 08:13:40,232 537 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-18 08:13:40,233 538 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-18 08:13:40,233 538 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-18 08:13:40,235 540 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 08:13:40,237 542 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-18 08:13:40,237 542 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-18 08:13:40,237 542 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-18 08:13:40,237 542 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-18 08:13:40,306 611 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-18 08:13:40,306 611 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-18 08:13:40,370 675 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-18 08:13:40,372 677 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-18 08:13:40,494 799 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-18 08:13:40,597 902 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,607 912 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,617 922 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,630 935 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,640 945 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,649 954 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,664 969 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,672 977 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,679 984 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,687 992 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,694 999 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,701 1006 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,703 1008 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-18 08:13:40,703 1008 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-18 08:13:40,717 1022 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,718 1023 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-18 08:13:40,718 1023 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-18 08:13:40,725 1030 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,726 1031 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 08:13:40,726 1031 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 08:13:40,734 1039 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,737 1042 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 08:13:40,737 1042 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 08:13:40,746 1051 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,747 1052 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-18 08:13:40,747 1052 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-18 08:13:40,754 1059 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,754 1059 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-18 08:13:40,755 1060 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-18 08:13:40,762 1067 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,762 1067 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 08:13:40,763 1068 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 08:13:40,769 1074 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,770 1075 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-18 08:13:40,770 1075 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-18 08:13:40,778 1083 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,779 1084 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-18 08:13:40,779 1084 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-18 08:13:40,785 1090 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,786 1091 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-18 08:13:40,786 1091 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-18 08:13:40,793 1098 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,794 1099 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-18 08:13:40,794 1099 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-18 08:13:40,801 1106 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,803 1108 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-18 08:13:40,804 1109 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-18 08:13:40,811 1116 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,812 1117 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-18 08:13:40,812 1117 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-18 08:13:40,818 1123 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,818 1123 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 08:13:40,819 1124 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 08:13:40,824 1129 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,825 1130 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-18 08:13:40,826 1131 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-18 08:13:40,831 1136 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,832 1137 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-18 08:13:40,832 1137 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-18 08:13:40,838 1143 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,838 1143 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 08:13:40,838 1143 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 08:13:40,844 1149 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,846 1151 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-18 08:13:40,846 1151 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-18 08:13:40,851 1156 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,852 1157 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-18 08:13:40,852 1157 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-18 08:13:40,857 1162 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,858 1163 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 08:13:40,858 1163 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 08:13:40,863 1168 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,864 1169 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-18 08:13:40,865 1170 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-18 08:13:40,870 1175 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,870 1175 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-18 08:13:40,870 1175 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-18 08:13:40,875 1180 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,876 1181 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 08:13:40,876 1181 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 08:13:40,881 1186 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-18 08:13:40,882 1187 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-18 08:13:40,883 1188 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-18 08:13:40,883 1188 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-18 08:13:40,883 1188 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-18 08:13:40,883 1188 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-18 08:13:40,884 1189 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-18 08:13:40,886 1191 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 09:33:42,516 0 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-18 09:33:42,533 17 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 09:33:42,590 74 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-18 09:33:42,596 80 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-18 09:33:42,605 89 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-18 09:33:42,606 90 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-18 09:33:42,606 90 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-18 09:33:42,606 90 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-18 09:33:43,024 508 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 09:33:43,035 519 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 09:33:43,035 519 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-18 09:33:43,035 519 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-18 09:33:43,042 526 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-18 09:33:43,044 528 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-18 09:33:43,045 529 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-18 09:33:43,045 529 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-18 09:33:43,048 532 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-18 09:33:43,049 533 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 09:33:43,053 537 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 09:33:43,057 541 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 09:33:43,061 545 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 09:33:43,064 548 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-18 09:33:43,064 548 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-18 09:33:43,064 548 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-18 09:33:43,064 548 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-18 09:33:43,064 548 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-18 09:33:43,067 551 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-18 09:33:43,069 553 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-18 09:33:43,069 553 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-18 09:33:43,069 553 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-18 09:33:43,069 553 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-18 09:33:43,138 622 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-18 09:33:43,138 622 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-18 09:33:43,190 674 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceChains" : { + "*" : [ "JVM" ] + }, + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "formatLoader" : null, + "apiLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-18 09:33:43,192 676 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-18 09:33:43,320 804 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-18 09:33:43,419 903 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,429 913 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,438 922 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,452 936 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,462 946 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,470 954 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,485 969 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,493 977 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,501 985 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,508 992 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,515 999 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,521 1005 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,523 1007 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-18 09:33:43,524 1008 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-18 09:33:43,538 1022 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,538 1022 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-18 09:33:43,538 1022 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-18 09:33:43,546 1030 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,546 1030 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 09:33:43,547 1031 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 09:33:43,554 1038 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,557 1041 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 09:33:43,557 1041 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 09:33:43,566 1050 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,567 1051 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-18 09:33:43,567 1051 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-18 09:33:43,575 1059 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,575 1059 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-18 09:33:43,575 1059 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-18 09:33:43,583 1067 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,584 1068 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 09:33:43,584 1068 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 09:33:43,593 1077 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,594 1078 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-18 09:33:43,594 1078 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-18 09:33:43,602 1086 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,603 1087 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-18 09:33:43,603 1087 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-18 09:33:43,609 1093 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,610 1094 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-18 09:33:43,610 1094 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-18 09:33:43,617 1101 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,617 1101 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-18 09:33:43,618 1102 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-18 09:33:43,625 1109 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,627 1111 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-18 09:33:43,628 1112 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-18 09:33:43,634 1118 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,635 1119 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-18 09:33:43,635 1119 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-18 09:33:43,641 1125 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,641 1125 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 09:33:43,641 1125 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 09:33:43,647 1131 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,648 1132 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-18 09:33:43,648 1132 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-18 09:33:43,654 1138 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,655 1139 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-18 09:33:43,655 1139 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-18 09:33:43,661 1145 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,661 1145 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 09:33:43,662 1146 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 09:33:43,667 1151 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,669 1153 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-18 09:33:43,669 1153 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-18 09:33:43,675 1159 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,675 1159 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-18 09:33:43,676 1160 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-18 09:33:43,681 1165 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,682 1166 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 09:33:43,682 1166 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 09:33:43,688 1172 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,689 1173 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-18 09:33:43,689 1173 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-18 09:33:43,694 1178 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,695 1179 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-18 09:33:43,695 1179 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-18 09:33:43,701 1185 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,701 1185 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-18 09:33:43,701 1185 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-18 09:33:43,706 1190 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-18 09:33:43,707 1191 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-18 09:33:43,708 1192 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-18 09:33:43,708 1192 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-18 09:33:43,708 1192 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-18 09:33:43,708 1192 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-18 09:33:43,708 1192 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-18 09:33:43,711 1195 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:42:58,823 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 14:42:58,842 20 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:42:58,913 91 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-20 14:42:58,918 96 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-20 14:42:58,928 106 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 14:42:58,928 106 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 14:42:58,928 106 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 14:42:58,929 107 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-20 14:42:59,331 509 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:42:59,342 520 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:42:59,343 521 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-20 14:42:59,343 521 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-20 14:42:59,351 529 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 14:42:59,352 530 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 14:42:59,353 531 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 14:42:59,353 531 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 14:42:59,356 534 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 14:42:59,357 535 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:42:59,362 540 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:42:59,366 544 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:42:59,373 551 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:42:59,376 554 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 14:42:59,377 555 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 14:42:59,377 555 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-20 14:42:59,377 555 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-20 14:42:59,377 555 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 14:42:59,380 558 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:42:59,381 559 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 14:42:59,381 559 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 14:42:59,382 560 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 14:42:59,382 560 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-20 14:42:59,447 625 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-20 14:42:59,447 625 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-20 14:42:59,502 680 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-20 14:42:59,503 681 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-20 14:42:59,634 812 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-20 14:42:59,723 901 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,734 912 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,744 922 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,757 935 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,767 945 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,776 954 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,791 969 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,799 977 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,807 985 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,814 992 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,821 999 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,828 1006 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,830 1008 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:42:59,830 1008 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:42:59,844 1022 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,845 1023 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:42:59,845 1023 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:42:59,853 1031 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,854 1032 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:42:59,854 1032 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:42:59,862 1040 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,866 1044 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:42:59,866 1044 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:42:59,876 1054 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,877 1055 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:42:59,877 1055 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:42:59,885 1063 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,886 1064 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:42:59,886 1064 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:42:59,894 1072 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,895 1073 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:42:59,895 1073 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:42:59,902 1080 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,903 1081 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-20 14:42:59,903 1081 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-20 14:42:59,912 1090 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,913 1091 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-20 14:42:59,913 1091 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-20 14:42:59,920 1098 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,921 1099 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-20 14:42:59,921 1099 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-20 14:42:59,929 1107 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,930 1108 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-20 14:42:59,930 1108 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-20 14:42:59,937 1115 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,940 1118 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:42:59,941 1119 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:42:59,948 1126 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,949 1127 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:42:59,950 1128 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:42:59,957 1135 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,957 1135 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:42:59,958 1136 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:42:59,964 1142 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,965 1143 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:42:59,966 1144 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:42:59,972 1150 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,973 1151 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:42:59,973 1151 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:42:59,980 1158 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,981 1159 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:42:59,981 1159 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:42:59,987 1165 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,989 1167 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:42:59,989 1167 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:42:59,996 1174 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:42:59,996 1174 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:42:59,997 1175 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:43:00,003 1181 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:43:00,003 1181 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:43:00,004 1182 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:43:00,010 1188 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:43:00,011 1189 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:43:00,011 1189 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:43:00,018 1196 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:43:00,018 1196 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:43:00,019 1197 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:43:00,025 1203 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:43:00,026 1204 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:43:00,026 1204 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:43:00,032 1210 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-20 14:43:00,033 1211 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-20 14:43:00,034 1212 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 14:43:00,034 1212 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 14:43:00,034 1212 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 14:43:00,034 1212 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-20 14:43:00,034 1212 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-20 14:43:00,037 1215 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:43:47,418 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 14:43:47,434 17 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:43:47,495 78 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-20 14:43:47,500 83 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-20 14:43:47,511 94 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 14:43:47,511 94 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 14:43:47,511 94 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 14:43:47,512 95 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-20 14:43:47,908 491 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:43:47,919 502 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:43:47,919 502 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-20 14:43:47,920 503 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-20 14:43:47,928 511 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 14:43:47,929 512 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 14:43:47,930 513 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 14:43:47,930 513 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 14:43:47,933 516 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 14:43:47,934 517 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:43:47,938 521 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:43:47,942 525 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:43:47,947 530 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:43:47,949 532 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 14:43:47,950 533 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 14:43:47,950 533 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-20 14:43:47,950 533 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-20 14:43:47,950 533 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 14:43:47,953 536 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:43:47,954 537 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 14:43:47,955 538 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 14:43:47,955 538 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 14:43:47,955 538 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-20 14:43:48,020 603 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-20 14:43:48,021 604 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-20 14:43:48,074 657 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-20 14:43:48,076 659 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-20 14:43:48,203 786 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-20 14:43:48,292 875 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,303 886 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,312 895 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,326 909 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,338 921 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,346 929 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,361 944 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,369 952 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,377 960 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,384 967 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,391 974 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,398 981 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,400 983 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:43:48,400 983 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:43:48,414 997 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,415 998 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:43:48,415 998 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:43:48,422 1005 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,423 1006 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:43:48,423 1006 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:43:48,431 1014 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,434 1017 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:43:48,434 1017 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:43:48,443 1026 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,444 1027 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:43:48,444 1027 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:43:48,451 1034 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,452 1035 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:43:48,452 1035 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:43:48,459 1042 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,460 1043 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:43:48,460 1043 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:43:48,467 1050 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,468 1051 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-20 14:43:48,468 1051 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-20 14:43:48,476 1059 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,476 1059 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-20 14:43:48,477 1060 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-20 14:43:48,484 1067 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,484 1067 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-20 14:43:48,485 1068 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-20 14:43:48,492 1075 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,492 1075 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-20 14:43:48,493 1076 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-20 14:43:48,502 1085 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,505 1088 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:43:48,505 1088 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:43:48,513 1096 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,514 1097 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:43:48,514 1097 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:43:48,521 1104 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,522 1105 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:43:48,522 1105 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:43:48,529 1112 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,530 1113 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:43:48,531 1114 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:43:48,537 1120 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,538 1121 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:43:48,538 1121 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:43:48,545 1128 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,546 1129 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:43:48,546 1129 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:43:48,553 1136 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,554 1137 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:43:48,555 1138 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:43:48,561 1144 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,562 1145 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:43:48,562 1145 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:43:48,569 1152 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,569 1152 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:43:48,569 1152 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:43:48,576 1159 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,577 1160 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:43:48,577 1160 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:43:48,586 1169 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,587 1170 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:43:48,587 1170 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:43:48,593 1176 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,594 1177 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:43:48,594 1177 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:43:48,603 1186 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:43:48,604 1187 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-20 14:43:48,605 1188 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 14:43:48,605 1188 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 14:43:48,605 1188 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 14:43:48,605 1188 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-20 14:43:48,605 1188 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-20 14:43:48,608 1191 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:48:49,955 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 14:48:49,977 23 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:48:50,042 88 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-20 14:48:50,047 93 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-20 14:48:50,057 103 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 14:48:50,058 104 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 14:48:50,058 104 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 14:48:50,058 104 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-20 14:48:50,507 553 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:48:50,519 565 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:48:50,519 565 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-20 14:48:50,519 565 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-20 14:48:50,527 573 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 14:48:50,529 575 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 14:48:50,529 575 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 14:48:50,529 575 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 14:48:50,534 580 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 14:48:50,535 581 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:48:50,540 586 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:48:50,544 590 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:48:50,550 596 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:48:50,553 599 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 14:48:50,553 599 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 14:48:50,553 599 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-20 14:48:50,553 599 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-20 14:48:50,553 599 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 14:48:50,556 602 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:48:50,558 604 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 14:48:50,558 604 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 14:48:50,558 604 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 14:48:50,558 604 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-20 14:48:50,625 671 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-20 14:48:50,625 671 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-20 14:48:50,686 732 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "formatLoader" : null, + "apiLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-20 14:48:50,688 734 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-20 14:48:50,838 884 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-20 14:48:50,943 989 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:50,954 1000 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:50,965 1011 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:50,980 1026 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:50,990 1036 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:50,999 1045 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,015 1061 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,023 1069 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,031 1077 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,039 1085 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,046 1092 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,056 1102 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,059 1105 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:48:51,059 1105 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:48:51,079 1125 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,080 1126 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:48:51,080 1126 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:48:51,088 1134 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,089 1135 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:48:51,089 1135 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:48:51,098 1144 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,101 1147 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:48:51,102 1148 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:48:51,114 1160 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,116 1162 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:48:51,116 1162 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:48:51,126 1172 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,127 1173 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:48:51,127 1173 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:48:51,137 1183 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,138 1184 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:48:51,138 1184 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:48:51,149 1195 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,150 1196 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-20 14:48:51,151 1197 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-20 14:48:51,163 1209 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,164 1210 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-20 14:48:51,165 1211 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-20 14:48:51,173 1219 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,174 1220 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-20 14:48:51,174 1220 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-20 14:48:51,183 1229 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,183 1229 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-20 14:48:51,184 1230 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-20 14:48:51,193 1239 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,198 1244 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:48:51,198 1244 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:48:51,207 1253 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,209 1255 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:48:51,209 1255 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:48:51,216 1262 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,218 1264 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:48:51,218 1264 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:48:51,227 1273 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,229 1275 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:48:51,229 1275 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:48:51,238 1284 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,239 1285 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:48:51,239 1285 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:48:51,249 1295 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,249 1295 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:48:51,250 1296 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:48:51,257 1303 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,259 1305 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:48:51,260 1306 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:48:51,265 1311 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,266 1312 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:48:51,266 1312 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:48:51,271 1317 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,272 1318 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:48:51,272 1318 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:48:51,277 1323 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,278 1324 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:48:51,279 1325 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:48:51,284 1330 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,284 1330 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:48:51,285 1331 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:48:51,290 1336 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,290 1336 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:48:51,291 1337 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:48:51,295 1341 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 14:48:51,296 1342 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-20 14:48:51,297 1343 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 14:48:51,297 1343 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 14:48:51,297 1343 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 14:48:51,297 1343 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-20 14:48:51,298 1344 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-20 14:48:51,300 1346 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:49:32,644 0 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 14:49:32,660 16 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:49:32,724 80 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-20 14:49:32,730 86 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-20 14:49:32,741 97 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 14:49:32,741 97 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 14:49:32,742 98 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 14:49:32,742 98 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-20 14:49:33,199 555 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:49:33,211 567 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:49:33,211 567 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-20 14:49:33,212 568 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-20 14:49:33,219 575 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 14:49:33,221 577 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 14:49:33,222 578 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 14:49:33,222 578 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 14:49:33,225 581 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 14:49:33,226 582 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:49:33,231 587 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:49:33,235 591 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:49:33,240 596 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:49:33,243 599 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 14:49:33,243 599 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 14:49:33,244 600 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-20 14:49:33,244 600 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-20 14:49:33,244 600 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 14:49:33,247 603 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 14:49:33,249 605 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 14:49:33,250 606 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 14:49:33,250 606 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 14:49:33,250 606 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-20 14:49:33,321 677 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-20 14:49:33,321 677 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-20 14:49:33,388 744 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "apiLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-20 14:49:33,390 746 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-20 14:49:33,530 886 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-20 14:49:33,628 984 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,640 996 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,650 1006 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,666 1022 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,677 1033 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,689 1045 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,706 1062 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,714 1070 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,722 1078 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,731 1087 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,738 1094 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,746 1102 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,748 1104 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:49:33,748 1104 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:49:33,771 1127 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,772 1128 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:49:33,772 1128 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:49:33,785 1141 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,786 1142 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:49:33,787 1143 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:49:33,796 1152 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,799 1155 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:49:33,800 1156 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:49:33,809 1165 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,811 1167 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:49:33,811 1167 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:49:33,819 1175 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,819 1175 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:49:33,820 1176 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:49:33,828 1184 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,829 1185 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:49:33,829 1185 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:49:33,840 1196 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,841 1197 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-20 14:49:33,842 1198 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-20 14:49:33,852 1208 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,853 1209 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-20 14:49:33,853 1209 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-20 14:49:33,861 1217 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,862 1218 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-20 14:49:33,862 1218 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-20 14:49:33,869 1225 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,870 1226 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-20 14:49:33,870 1226 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-20 14:49:33,878 1234 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,882 1238 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:49:33,883 1239 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:49:33,891 1247 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,892 1248 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:49:33,893 1249 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:49:33,902 1258 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,903 1259 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:49:33,903 1259 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:49:33,910 1266 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,911 1267 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:49:33,911 1267 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:49:33,918 1274 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,919 1275 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:49:33,919 1275 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:49:33,929 1285 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,930 1286 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:49:33,930 1286 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:49:33,939 1295 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,941 1297 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:49:33,941 1297 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:49:33,951 1307 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,952 1308 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:49:33,952 1308 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:49:33,960 1316 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,961 1317 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:49:33,962 1318 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:49:33,970 1326 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,971 1327 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 14:49:33,971 1327 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 14:49:33,977 1333 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,978 1334 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 14:49:33,979 1335 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 14:49:33,986 1342 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,987 1343 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 14:49:33,987 1343 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 14:49:33,993 1349 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-20 14:49:33,994 1350 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-20 14:49:33,995 1351 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 14:49:33,995 1351 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 14:49:33,995 1351 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 14:49:33,995 1351 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-20 14:49:33,995 1351 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-20 14:49:33,998 1354 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 19:50:17,206 0 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 19:50:17,223 17 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 19:50:17,284 78 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-20 19:50:17,290 84 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-20 19:50:17,301 95 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 19:50:17,301 95 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 19:50:17,301 95 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 19:50:17,301 95 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-20 19:50:17,718 512 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 19:50:17,729 523 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 19:50:17,729 523 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-20 19:50:17,729 523 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-20 19:50:17,737 531 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 19:50:17,739 533 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 19:50:17,739 533 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 19:50:17,739 533 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 19:50:17,742 536 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 19:50:17,743 537 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 19:50:17,748 542 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 19:50:17,751 545 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 19:50:17,756 550 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 19:50:17,759 553 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 19:50:17,759 553 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 19:50:17,759 553 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-20 19:50:17,759 553 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-20 19:50:17,759 553 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 19:50:17,762 556 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 19:50:17,763 557 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 19:50:17,764 558 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 19:50:17,764 558 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 19:50:17,764 558 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-20 19:50:17,827 621 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-20 19:50:17,827 621 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-20 19:50:17,881 675 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-20 19:50:17,882 676 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-20 19:50:18,006 800 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-20 19:50:18,095 889 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,105 899 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,115 909 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,128 922 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,138 932 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,146 940 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,161 955 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,169 963 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,177 971 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,185 979 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,191 985 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,198 992 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,200 994 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 19:50:18,200 994 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 19:50:18,214 1008 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,215 1009 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 19:50:18,215 1009 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 19:50:18,222 1016 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,223 1017 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 19:50:18,223 1017 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 19:50:18,231 1025 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,234 1028 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 19:50:18,234 1028 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 19:50:18,242 1036 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,244 1038 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 19:50:18,244 1038 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 19:50:18,251 1045 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,252 1046 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 19:50:18,252 1046 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 19:50:18,260 1054 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,261 1055 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 19:50:18,261 1055 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 19:50:18,270 1064 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,271 1065 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-20 19:50:18,271 1065 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-20 19:50:18,279 1073 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,279 1073 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-20 19:50:18,279 1073 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-20 19:50:18,286 1080 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,287 1081 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-20 19:50:18,287 1081 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-20 19:50:18,294 1088 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,294 1088 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-20 19:50:18,294 1088 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-20 19:50:18,300 1094 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,303 1097 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 19:50:18,303 1097 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 19:50:18,310 1104 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,311 1105 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 19:50:18,311 1105 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 19:50:18,320 1114 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,321 1115 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 19:50:18,321 1115 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 19:50:18,328 1122 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,329 1123 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 19:50:18,329 1123 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 19:50:18,335 1129 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,336 1130 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 19:50:18,336 1130 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 19:50:18,342 1136 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,343 1137 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 19:50:18,343 1137 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 19:50:18,349 1143 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,351 1145 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 19:50:18,351 1145 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 19:50:18,357 1151 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,358 1152 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 19:50:18,358 1152 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 19:50:18,364 1158 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,365 1159 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 19:50:18,365 1159 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 19:50:18,371 1165 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,372 1166 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 19:50:18,372 1166 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 19:50:18,377 1171 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,378 1172 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 19:50:18,378 1172 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 19:50:18,383 1177 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,384 1178 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 19:50:18,384 1178 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 19:50:18,389 1183 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-20 19:50:18,389 1183 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-20 19:50:18,390 1184 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 19:50:18,390 1184 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 19:50:18,391 1185 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 19:50:18,391 1185 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-20 19:50:18,391 1185 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-20 19:50:18,394 1188 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 19:51:01,836 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 19:51:01,852 17 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 19:51:01,911 76 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-20 19:51:01,916 81 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-20 19:51:01,926 91 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 19:51:01,926 91 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 19:51:01,926 91 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 19:51:01,926 91 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-20 19:51:02,378 543 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 19:51:02,389 554 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 19:51:02,390 555 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-20 19:51:02,390 555 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-20 19:51:02,397 562 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 19:51:02,399 564 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 19:51:02,400 565 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 19:51:02,400 565 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 19:51:02,403 568 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 19:51:02,404 569 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 19:51:02,408 573 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 19:51:02,412 577 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 19:51:02,416 581 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 19:51:02,419 584 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 19:51:02,419 584 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 19:51:02,419 584 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-20 19:51:02,420 585 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-20 19:51:02,420 585 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 19:51:02,422 587 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 19:51:02,424 589 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 19:51:02,424 589 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 19:51:02,424 589 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 19:51:02,425 590 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-20 19:51:02,489 654 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-20 19:51:02,489 654 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-20 19:51:02,544 709 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceChains" : { + "*" : [ "JVM" ] + }, + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-20 19:51:02,545 710 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-20 19:51:02,671 836 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-20 19:51:02,760 925 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,771 936 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,781 946 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,794 959 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,804 969 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,813 978 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,828 993 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,836 1001 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,844 1009 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,852 1017 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,862 1027 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,869 1034 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,870 1035 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 19:51:02,871 1036 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 19:51:02,885 1050 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,885 1050 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 19:51:02,886 1051 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 19:51:02,893 1058 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,894 1059 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 19:51:02,894 1059 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 19:51:02,901 1066 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,904 1069 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 19:51:02,905 1070 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 19:51:02,913 1078 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,914 1079 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 19:51:02,915 1080 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 19:51:02,922 1087 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,922 1087 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 19:51:02,923 1088 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 19:51:02,931 1096 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,932 1097 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 19:51:02,932 1097 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 19:51:02,941 1106 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,941 1106 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-20 19:51:02,942 1107 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-20 19:51:02,950 1115 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,950 1115 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-20 19:51:02,950 1115 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-20 19:51:02,958 1123 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,958 1123 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-20 19:51:02,958 1123 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-20 19:51:02,965 1130 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,966 1131 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-20 19:51:02,966 1131 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-20 19:51:02,973 1138 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,975 1140 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 19:51:02,976 1141 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 19:51:02,982 1147 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,983 1148 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 19:51:02,983 1148 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 19:51:02,989 1154 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,990 1155 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 19:51:02,990 1155 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 19:51:02,996 1161 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:02,997 1162 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 19:51:02,997 1162 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 19:51:03,002 1167 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:03,003 1168 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 19:51:03,003 1168 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 19:51:03,009 1174 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:03,010 1175 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 19:51:03,010 1175 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 19:51:03,016 1181 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:03,018 1183 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 19:51:03,018 1183 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 19:51:03,024 1189 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:03,024 1189 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 19:51:03,024 1189 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 19:51:03,030 1195 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:03,030 1195 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 19:51:03,031 1196 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 19:51:03,036 1201 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:03,037 1202 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 19:51:03,038 1203 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 19:51:03,043 1208 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:03,044 1209 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 19:51:03,044 1209 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 19:51:03,050 1215 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:03,050 1215 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 19:51:03,051 1216 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 19:51:03,058 1223 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 19:51:03,059 1224 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-20 19:51:03,060 1225 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 19:51:03,061 1226 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 19:51:03,061 1226 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 19:51:03,061 1226 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-20 19:51:03,062 1227 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-20 19:51:03,065 1230 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 21:11:52,118 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 21:11:52,138 21 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 21:11:52,203 86 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-20 21:11:52,208 91 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-20 21:11:52,218 101 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 21:11:52,218 101 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 21:11:52,218 101 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 21:11:52,219 102 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-20 21:11:52,626 509 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 21:11:52,637 520 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 21:11:52,637 520 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-20 21:11:52,638 521 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-20 21:11:52,645 528 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 21:11:52,647 530 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 21:11:52,647 530 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 21:11:52,647 530 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 21:11:52,651 534 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 21:11:52,652 535 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 21:11:52,656 539 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 21:11:52,660 543 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 21:11:52,664 547 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 21:11:52,667 550 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 21:11:52,667 550 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 21:11:52,667 550 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-20 21:11:52,667 550 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-20 21:11:52,667 550 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 21:11:52,670 553 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 21:11:52,672 555 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 21:11:52,672 555 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 21:11:52,672 555 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 21:11:52,672 555 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-20 21:11:52,736 619 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-20 21:11:52,736 619 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-20 21:11:52,792 675 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "apiLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-20 21:11:52,793 676 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-20 21:11:52,920 803 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-20 21:11:53,009 892 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,019 902 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,029 912 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,043 926 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,052 935 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,061 944 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,076 959 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,084 967 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,092 975 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,102 985 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,109 992 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,116 999 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,118 1001 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 21:11:53,118 1001 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 21:11:53,132 1015 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,133 1016 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 21:11:53,133 1016 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 21:11:53,141 1024 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,141 1024 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 21:11:53,142 1025 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 21:11:53,149 1032 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,152 1035 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 21:11:53,152 1035 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 21:11:53,161 1044 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,162 1045 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 21:11:53,162 1045 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 21:11:53,170 1053 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,170 1053 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 21:11:53,171 1054 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 21:11:53,178 1061 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,178 1061 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 21:11:53,179 1062 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 21:11:53,185 1068 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,186 1069 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-20 21:11:53,186 1069 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-20 21:11:53,194 1077 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,195 1078 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-20 21:11:53,195 1078 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-20 21:11:53,202 1085 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,202 1085 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-20 21:11:53,202 1085 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-20 21:11:53,209 1092 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,210 1093 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-20 21:11:53,210 1093 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-20 21:11:53,217 1100 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,220 1103 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 21:11:53,220 1103 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 21:11:53,228 1111 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,229 1112 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 21:11:53,229 1112 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 21:11:53,237 1120 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,238 1121 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 21:11:53,238 1121 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 21:11:53,246 1129 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,247 1130 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 21:11:53,247 1130 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 21:11:53,254 1137 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,254 1137 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 21:11:53,255 1138 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 21:11:53,261 1144 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,262 1145 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 21:11:53,262 1145 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 21:11:53,267 1150 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,269 1152 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 21:11:53,269 1152 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 21:11:53,275 1158 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,275 1158 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 21:11:53,275 1158 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 21:11:53,281 1164 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,281 1164 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 21:11:53,282 1165 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 21:11:53,287 1170 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,288 1171 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 21:11:53,288 1171 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 21:11:53,294 1177 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,294 1177 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 21:11:53,295 1178 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 21:11:53,301 1184 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,301 1184 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 21:11:53,302 1185 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 21:11:53,308 1191 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-20 21:11:53,308 1191 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-20 21:11:53,309 1192 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 21:11:53,309 1192 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 21:11:53,310 1193 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 21:11:53,310 1193 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-20 21:11:53,310 1193 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-20 21:11:53,313 1196 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 21:28:58,487 0 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 21:28:58,505 18 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 21:28:58,572 85 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-20 21:28:58,578 91 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-20 21:28:58,587 100 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 21:28:58,588 101 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 21:28:58,588 101 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 21:28:58,588 101 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-20 21:28:58,997 510 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 21:28:59,008 521 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 21:28:59,009 522 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-20 21:28:59,009 522 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-20 21:28:59,017 530 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 21:28:59,019 532 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 21:28:59,020 533 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 21:28:59,020 533 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 21:28:59,023 536 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-20 21:28:59,024 537 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 21:28:59,028 541 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 21:28:59,032 545 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 21:28:59,036 549 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 21:28:59,039 552 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 21:28:59,039 552 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 21:28:59,040 553 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-20 21:28:59,040 553 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-20 21:28:59,040 553 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 21:28:59,042 555 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-20 21:28:59,044 557 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 21:28:59,044 557 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 21:28:59,045 558 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 21:28:59,045 558 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-20 21:28:59,110 623 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-20 21:28:59,110 623 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-20 21:28:59,166 679 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceChains" : { + "*" : [ "JVM" ] + }, + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-20 21:28:59,168 681 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-20 21:28:59,296 809 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-20 21:28:59,385 898 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,395 908 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,405 918 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,418 931 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,427 940 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,436 949 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,450 963 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,458 971 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,466 979 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,473 986 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,480 993 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,487 1000 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,489 1002 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 21:28:59,489 1002 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 21:28:59,503 1016 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,504 1017 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 21:28:59,504 1017 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 21:28:59,511 1024 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,512 1025 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 21:28:59,512 1025 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 21:28:59,520 1033 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,522 1035 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 21:28:59,523 1036 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 21:28:59,531 1044 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,532 1045 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 21:28:59,533 1046 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 21:28:59,540 1053 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,540 1053 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 21:28:59,541 1054 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 21:28:59,547 1060 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,548 1061 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 21:28:59,548 1061 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 21:28:59,555 1068 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,556 1069 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-20 21:28:59,556 1069 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-20 21:28:59,564 1077 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,565 1078 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-20 21:28:59,565 1078 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-20 21:28:59,572 1085 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,572 1085 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-20 21:28:59,572 1085 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-20 21:28:59,580 1093 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,581 1094 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-20 21:28:59,581 1094 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-20 21:28:59,590 1103 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,593 1106 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 21:28:59,593 1106 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 21:28:59,600 1113 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,601 1114 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 21:28:59,601 1114 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 21:28:59,607 1120 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,608 1121 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 21:28:59,608 1121 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 21:28:59,614 1127 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,615 1128 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 21:28:59,615 1128 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 21:28:59,620 1133 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,621 1134 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 21:28:59,621 1134 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 21:28:59,627 1140 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,628 1141 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 21:28:59,628 1141 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 21:28:59,634 1147 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,636 1149 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 21:28:59,636 1149 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 21:28:59,641 1154 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,642 1155 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 21:28:59,642 1155 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 21:28:59,647 1160 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,648 1161 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 21:28:59,648 1161 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 21:28:59,654 1167 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,655 1168 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-20 21:28:59,655 1168 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-20 21:28:59,660 1173 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,660 1173 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-20 21:28:59,661 1174 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-20 21:28:59,665 1178 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,666 1179 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-20 21:28:59,666 1179 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-20 21:28:59,671 1184 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-20 21:28:59,671 1184 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-20 21:28:59,672 1185 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-20 21:28:59,672 1185 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-20 21:28:59,673 1186 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-20 21:28:59,673 1186 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-20 21:28:59,673 1186 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-20 21:28:59,676 1189 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:29:40,246 0 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-21 07:29:40,262 16 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:29:40,320 74 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-21 07:29:40,324 78 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-21 07:29:40,334 88 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-21 07:29:40,335 89 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-21 07:29:40,335 89 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-21 07:29:40,335 89 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-21 07:29:40,737 491 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:29:40,748 502 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:29:40,749 503 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-21 07:29:40,749 503 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-21 07:29:40,757 511 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-21 07:29:40,759 513 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-21 07:29:40,759 513 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-21 07:29:40,759 513 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-21 07:29:40,762 516 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-21 07:29:40,763 517 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:29:40,768 522 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:29:40,771 525 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:29:40,776 530 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:29:40,779 533 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-21 07:29:40,779 533 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-21 07:29:40,779 533 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-21 07:29:40,779 533 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-21 07:29:40,779 533 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-21 07:29:40,782 536 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:29:40,784 538 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-21 07:29:40,784 538 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-21 07:29:40,784 538 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-21 07:29:40,784 538 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-21 07:29:40,850 604 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-21 07:29:40,850 604 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-21 07:29:40,904 658 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-21 07:29:40,906 660 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-21 07:29:41,038 792 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-21 07:29:41,133 887 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,144 898 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,153 907 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,168 922 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,178 932 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,187 941 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,202 956 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,212 966 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,223 977 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,233 987 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,240 994 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,247 1001 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,249 1003 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 07:29:41,250 1004 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 07:29:41,266 1020 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,267 1021 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 07:29:41,267 1021 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 07:29:41,274 1028 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,275 1029 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:29:41,275 1029 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:29:41,283 1037 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,286 1040 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:29:41,287 1041 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:29:41,298 1052 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,299 1053 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 07:29:41,299 1053 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 07:29:41,307 1061 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,307 1061 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 07:29:41,308 1062 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 07:29:41,318 1072 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,319 1073 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:29:41,319 1073 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:29:41,326 1080 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,326 1080 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-21 07:29:41,327 1081 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-21 07:29:41,335 1089 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,336 1090 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-21 07:29:41,336 1090 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-21 07:29:41,343 1097 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,344 1098 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-21 07:29:41,344 1098 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-21 07:29:41,350 1104 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,351 1105 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-21 07:29:41,351 1105 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-21 07:29:41,357 1111 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,360 1114 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 07:29:41,360 1114 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 07:29:41,366 1120 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,367 1121 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 07:29:41,367 1121 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 07:29:41,373 1127 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,374 1128 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:29:41,374 1128 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:29:41,379 1133 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,380 1134 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 07:29:41,381 1135 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 07:29:41,386 1140 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,387 1141 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 07:29:41,387 1141 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 07:29:41,393 1147 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,393 1147 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:29:41,394 1148 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:29:41,399 1153 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,401 1155 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 07:29:41,401 1155 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 07:29:41,406 1160 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,407 1161 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 07:29:41,407 1161 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 07:29:41,412 1166 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,413 1167 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:29:41,413 1167 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:29:41,418 1172 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,419 1173 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 07:29:41,420 1174 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 07:29:41,425 1179 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,425 1179 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 07:29:41,426 1180 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 07:29:41,431 1185 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,432 1186 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:29:41,432 1186 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:29:41,437 1191 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:29:41,438 1192 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-21 07:29:41,439 1193 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-21 07:29:41,439 1193 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-21 07:29:41,439 1193 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-21 07:29:41,439 1193 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-21 07:29:41,440 1194 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-21 07:29:41,442 1196 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:30:26,111 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-21 07:30:26,129 19 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:30:26,203 93 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-21 07:30:26,207 97 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-21 07:30:26,217 107 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-21 07:30:26,217 107 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-21 07:30:26,217 107 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-21 07:30:26,217 107 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-21 07:30:26,608 498 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:30:26,619 509 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:30:26,620 510 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-21 07:30:26,620 510 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-21 07:30:26,627 517 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-21 07:30:26,629 519 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-21 07:30:26,630 520 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-21 07:30:26,630 520 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-21 07:30:26,633 523 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-21 07:30:26,634 524 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:30:26,638 528 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:30:26,642 532 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:30:26,646 536 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:30:26,649 539 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-21 07:30:26,649 539 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-21 07:30:26,649 539 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-21 07:30:26,649 539 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-21 07:30:26,649 539 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-21 07:30:26,652 542 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:30:26,654 544 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-21 07:30:26,654 544 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-21 07:30:26,654 544 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-21 07:30:26,654 544 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-21 07:30:26,719 609 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-21 07:30:26,719 609 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-21 07:30:26,773 663 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-21 07:30:26,774 664 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-21 07:30:26,903 793 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-21 07:30:26,993 883 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,003 893 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,013 903 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,026 916 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,036 926 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,045 935 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,060 950 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,068 958 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,075 965 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,084 974 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,094 984 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,104 994 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,106 996 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 07:30:27,106 996 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 07:30:27,120 1010 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,121 1011 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 07:30:27,121 1011 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 07:30:27,128 1018 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,129 1019 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:30:27,129 1019 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:30:27,137 1027 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,140 1030 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:30:27,140 1030 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:30:27,148 1038 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,150 1040 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 07:30:27,150 1040 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 07:30:27,157 1047 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,158 1048 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 07:30:27,158 1048 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 07:30:27,165 1055 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,166 1056 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:30:27,166 1056 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:30:27,173 1063 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,174 1064 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-21 07:30:27,174 1064 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-21 07:30:27,182 1072 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,182 1072 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-21 07:30:27,182 1072 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-21 07:30:27,189 1079 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,190 1080 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-21 07:30:27,190 1080 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-21 07:30:27,196 1086 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,197 1087 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-21 07:30:27,197 1087 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-21 07:30:27,204 1094 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,207 1097 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 07:30:27,207 1097 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 07:30:27,214 1104 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,215 1105 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 07:30:27,215 1105 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 07:30:27,221 1111 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,222 1112 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:30:27,222 1112 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:30:27,228 1118 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,229 1119 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 07:30:27,229 1119 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 07:30:27,235 1125 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,236 1126 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 07:30:27,236 1126 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 07:30:27,242 1132 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,243 1133 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:30:27,243 1133 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:30:27,249 1139 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,250 1140 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 07:30:27,251 1141 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 07:30:27,256 1146 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,257 1147 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 07:30:27,257 1147 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 07:30:27,263 1153 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,263 1153 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:30:27,263 1153 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:30:27,269 1159 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,270 1160 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 07:30:27,270 1160 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 07:30:27,276 1166 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,276 1166 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 07:30:27,276 1166 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 07:30:27,282 1172 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,283 1173 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:30:27,283 1173 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:30:27,288 1178 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-21 07:30:27,289 1179 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-21 07:30:27,290 1180 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-21 07:30:27,290 1180 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-21 07:30:27,290 1180 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-21 07:30:27,290 1180 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-21 07:30:27,290 1180 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-21 07:30:27,293 1183 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:47:52,775 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-21 07:47:52,795 21 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:47:52,864 90 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-21 07:47:52,869 95 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-21 07:47:52,879 105 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-21 07:47:52,879 105 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-21 07:47:52,880 106 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-21 07:47:52,880 106 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-21 07:47:53,308 534 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:47:53,320 546 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:47:53,320 546 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-21 07:47:53,320 546 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-21 07:47:53,328 554 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-21 07:47:53,330 556 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-21 07:47:53,330 556 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-21 07:47:53,330 556 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-21 07:47:53,334 560 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-21 07:47:53,335 561 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:47:53,339 565 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:47:53,343 569 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:47:53,347 573 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:47:53,350 576 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-21 07:47:53,350 576 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-21 07:47:53,351 577 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-21 07:47:53,351 577 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-21 07:47:53,351 577 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-21 07:47:53,354 580 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 07:47:53,355 581 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-21 07:47:53,356 582 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-21 07:47:53,356 582 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-21 07:47:53,356 582 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-21 07:47:53,423 649 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-21 07:47:53,423 649 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-21 07:47:53,484 710 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-21 07:47:53,486 712 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-21 07:47:53,635 861 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-21 07:47:53,744 970 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,755 981 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,765 991 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,780 1006 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,793 1019 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,803 1029 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,819 1045 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,827 1053 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,835 1061 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,844 1070 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,854 1080 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,864 1090 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,867 1093 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 07:47:53,868 1094 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 07:47:53,890 1116 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,891 1117 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 07:47:53,891 1117 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 07:47:53,902 1128 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,903 1129 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:47:53,904 1130 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:47:53,915 1141 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,919 1145 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:47:53,920 1146 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:47:53,933 1159 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,934 1160 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 07:47:53,935 1161 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 07:47:53,942 1168 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,943 1169 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 07:47:53,943 1169 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 07:47:53,951 1177 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,952 1178 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:47:53,952 1178 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:47:53,962 1188 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,962 1188 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-21 07:47:53,963 1189 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-21 07:47:53,971 1197 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,972 1198 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-21 07:47:53,972 1198 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-21 07:47:53,979 1205 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,980 1206 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-21 07:47:53,980 1206 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-21 07:47:53,987 1213 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,987 1213 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-21 07:47:53,988 1214 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-21 07:47:53,996 1222 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:53,999 1225 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 07:47:54,000 1226 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 07:47:54,010 1236 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:54,011 1237 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 07:47:54,011 1237 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 07:47:54,020 1246 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:54,021 1247 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:47:54,021 1247 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:47:54,029 1255 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:54,030 1256 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 07:47:54,030 1256 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 07:47:54,039 1265 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:54,040 1266 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 07:47:54,040 1266 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 07:47:54,050 1276 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:54,051 1277 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:47:54,051 1277 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:47:54,059 1285 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:54,061 1287 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 07:47:54,061 1287 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 07:47:54,067 1293 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:54,068 1294 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 07:47:54,068 1294 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 07:47:54,074 1300 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:54,074 1300 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:47:54,075 1301 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:47:54,080 1306 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:54,081 1307 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 07:47:54,082 1308 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 07:47:54,087 1313 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:54,088 1314 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 07:47:54,088 1314 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 07:47:54,095 1321 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:54,096 1322 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 07:47:54,096 1322 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 07:47:54,102 1328 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-21 07:47:54,103 1329 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-21 07:47:54,104 1330 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-21 07:47:54,104 1330 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-21 07:47:54,104 1330 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-21 07:47:54,104 1330 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-21 07:47:54,104 1330 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-21 07:47:54,107 1333 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 08:20:36,751 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-21 08:20:36,771 21 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 08:20:36,851 101 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-21 08:20:36,856 106 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-21 08:20:36,866 116 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-21 08:20:36,866 116 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-21 08:20:36,866 116 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-21 08:20:36,866 116 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-21 08:20:37,311 561 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 08:20:37,325 575 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 08:20:37,325 575 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-21 08:20:37,326 576 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-21 08:20:37,337 587 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-21 08:20:37,340 590 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-21 08:20:37,340 590 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-21 08:20:37,340 590 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-21 08:20:37,344 594 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-21 08:20:37,345 595 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 08:20:37,352 602 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 08:20:37,358 608 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 08:20:37,366 616 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 08:20:37,370 620 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-21 08:20:37,370 620 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-21 08:20:37,371 621 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-21 08:20:37,371 621 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-21 08:20:37,371 621 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-21 08:20:37,375 625 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-21 08:20:37,378 628 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-21 08:20:37,378 628 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-21 08:20:37,379 629 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-21 08:20:37,379 629 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-21 08:20:37,481 731 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-21 08:20:37,481 731 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-21 08:20:37,549 799 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-21 08:20:37,551 801 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-21 08:20:37,708 958 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-21 08:20:37,823 1073 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:37,835 1085 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:37,847 1097 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:37,863 1113 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:37,874 1124 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:37,883 1133 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:37,904 1154 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:37,915 1165 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:37,924 1174 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:37,937 1187 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:37,948 1198 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:37,956 1206 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:37,958 1208 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 08:20:37,958 1208 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 08:20:37,975 1225 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:37,976 1226 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 08:20:37,976 1226 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 08:20:37,984 1234 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:37,985 1235 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 08:20:37,985 1235 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 08:20:37,993 1243 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:37,996 1246 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 08:20:37,997 1247 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 08:20:38,006 1256 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:38,007 1257 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 08:20:38,007 1257 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 08:20:38,015 1265 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:38,015 1265 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 08:20:38,016 1266 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 08:20:38,023 1273 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:38,024 1274 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 08:20:38,024 1274 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 08:20:38,031 1281 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:38,032 1282 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-21 08:20:38,032 1282 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-21 08:20:38,040 1290 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:38,041 1291 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-21 08:20:38,041 1291 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-21 08:20:38,048 1298 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:38,048 1298 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-21 08:20:38,049 1299 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-21 08:20:38,055 1305 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:38,056 1306 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-21 08:20:38,056 1306 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-21 08:20:38,063 1313 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:38,066 1316 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 08:20:38,066 1316 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 08:20:38,073 1323 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:38,073 1323 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 08:20:38,074 1324 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 08:20:38,080 1330 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:38,081 1331 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 08:20:38,081 1331 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 08:20:38,088 1338 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:38,089 1339 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 08:20:38,089 1339 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 08:20:38,096 1346 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:38,097 1347 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 08:20:38,097 1347 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 08:20:38,107 1357 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:38,108 1358 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 08:20:38,109 1359 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 08:20:38,116 1366 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:38,118 1368 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 08:20:38,119 1369 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 08:20:38,126 1376 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:38,127 1377 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 08:20:38,127 1377 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 08:20:38,136 1386 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:38,137 1387 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 08:20:38,138 1388 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 08:20:38,147 1397 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:38,148 1398 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-21 08:20:38,148 1398 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-21 08:20:38,155 1405 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:38,155 1405 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-21 08:20:38,155 1405 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-21 08:20:38,161 1411 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:38,162 1412 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-21 08:20:38,162 1412 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-21 08:20:38,168 1418 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-21 08:20:38,168 1418 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-21 08:20:38,169 1419 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-21 08:20:38,169 1419 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-21 08:20:38,169 1419 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-21 08:20:38,170 1420 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-21 08:20:38,170 1420 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-21 08:20:38,173 1423 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 07:43:07,395 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 07:43:07,412 18 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 07:43:07,477 83 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-22 07:43:07,481 87 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-22 07:43:07,490 96 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 07:43:07,491 97 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 07:43:07,491 97 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 07:43:07,491 97 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-22 07:43:07,887 493 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 07:43:07,898 504 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 07:43:07,898 504 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-22 07:43:07,898 504 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-22 07:43:07,906 512 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 07:43:07,908 514 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 07:43:07,908 514 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 07:43:07,908 514 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 07:43:07,911 517 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 07:43:07,913 519 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 07:43:07,917 523 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 07:43:07,921 527 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 07:43:07,925 531 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 07:43:07,928 534 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 07:43:07,928 534 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 07:43:07,928 534 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-22 07:43:07,928 534 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-22 07:43:07,928 534 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 07:43:07,931 537 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 07:43:07,933 539 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 07:43:07,933 539 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 07:43:07,933 539 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 07:43:07,933 539 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-22 07:43:07,999 605 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-22 07:43:07,999 605 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-22 07:43:08,054 660 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceChains" : { + "*" : [ "JVM" ] + }, + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-22 07:43:08,056 662 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-22 07:43:08,182 788 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-22 07:43:08,274 880 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,285 891 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,295 901 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,308 914 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,318 924 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,327 933 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,342 948 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,350 956 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,357 963 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,365 971 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,372 978 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,379 985 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,381 987 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 07:43:08,381 987 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 07:43:08,397 1003 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,397 1003 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 07:43:08,397 1003 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 07:43:08,405 1011 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,405 1011 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 07:43:08,406 1012 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 07:43:08,413 1019 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,416 1022 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 07:43:08,416 1022 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 07:43:08,425 1031 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,426 1032 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 07:43:08,426 1032 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 07:43:08,433 1039 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,434 1040 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 07:43:08,434 1040 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 07:43:08,441 1047 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,442 1048 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 07:43:08,442 1048 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 07:43:08,449 1055 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,450 1056 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-22 07:43:08,450 1056 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-22 07:43:08,457 1063 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,458 1064 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-22 07:43:08,458 1064 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-22 07:43:08,465 1071 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,465 1071 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-22 07:43:08,466 1072 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-22 07:43:08,472 1078 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,473 1079 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-22 07:43:08,473 1079 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-22 07:43:08,479 1085 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,482 1088 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 07:43:08,482 1088 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 07:43:08,489 1095 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,490 1096 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 07:43:08,490 1096 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 07:43:08,496 1102 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,497 1103 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 07:43:08,497 1103 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 07:43:08,503 1109 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,504 1110 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 07:43:08,504 1110 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 07:43:08,510 1116 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,511 1117 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 07:43:08,511 1117 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 07:43:08,518 1124 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,518 1124 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 07:43:08,518 1124 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 07:43:08,524 1130 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,526 1132 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 07:43:08,526 1132 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 07:43:08,532 1138 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,533 1139 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 07:43:08,533 1139 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 07:43:08,543 1149 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,544 1150 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 07:43:08,544 1150 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 07:43:08,550 1156 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,552 1158 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 07:43:08,552 1158 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 07:43:08,558 1164 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,559 1165 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 07:43:08,559 1165 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 07:43:08,565 1171 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,565 1171 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 07:43:08,565 1171 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 07:43:08,571 1177 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 07:43:08,571 1177 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-22 07:43:08,572 1178 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 07:43:08,572 1178 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 07:43:08,572 1178 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 07:43:08,573 1179 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-22 07:43:08,573 1179 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-22 07:43:08,576 1182 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 14:37:55,471 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 14:37:55,487 17 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 14:37:55,553 83 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-22 14:37:55,559 89 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-22 14:37:55,571 101 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 14:37:55,571 101 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 14:37:55,571 101 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 14:37:55,571 101 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-22 14:37:56,052 582 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 14:37:56,063 593 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 14:37:56,063 593 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-22 14:37:56,064 594 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-22 14:37:56,071 601 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 14:37:56,073 603 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 14:37:56,073 603 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 14:37:56,073 603 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 14:37:56,077 607 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 14:37:56,078 608 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 14:37:56,082 612 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 14:37:56,086 616 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 14:37:56,091 621 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 14:37:56,093 623 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 14:37:56,093 623 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 14:37:56,094 624 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-22 14:37:56,094 624 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-22 14:37:56,094 624 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 14:37:56,096 626 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 14:37:56,098 628 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 14:37:56,098 628 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 14:37:56,098 628 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 14:37:56,098 628 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-22 14:37:56,162 692 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-22 14:37:56,163 693 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-22 14:37:56,215 745 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelBuilder" : null, + "modelCache" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceChains" : { + "*" : [ "JVM" ] + }, + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-22 14:37:56,217 747 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-22 14:37:56,341 871 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-22 14:37:56,429 959 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,439 969 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,449 979 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,462 992 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,472 1002 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,480 1010 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,495 1025 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,503 1033 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,510 1040 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,518 1048 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,524 1054 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,531 1061 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,533 1063 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 14:37:56,533 1063 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 14:37:56,547 1077 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,548 1078 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 14:37:56,548 1078 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 14:37:56,556 1086 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,556 1086 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 14:37:56,556 1086 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 14:37:56,564 1094 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,567 1097 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 14:37:56,567 1097 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 14:37:56,575 1105 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,576 1106 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 14:37:56,577 1107 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 14:37:56,584 1114 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,585 1115 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 14:37:56,585 1115 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 14:37:56,592 1122 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,592 1122 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 14:37:56,593 1123 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 14:37:56,600 1130 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,600 1130 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-22 14:37:56,600 1130 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-22 14:37:56,608 1138 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,609 1139 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-22 14:37:56,609 1139 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-22 14:37:56,616 1146 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,617 1147 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-22 14:37:56,617 1147 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-22 14:37:56,624 1154 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,625 1155 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-22 14:37:56,625 1155 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-22 14:37:56,632 1162 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,635 1165 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 14:37:56,635 1165 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 14:37:56,641 1171 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,642 1172 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 14:37:56,642 1172 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 14:37:56,648 1178 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,648 1178 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 14:37:56,648 1178 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 14:37:56,654 1184 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,655 1185 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 14:37:56,655 1185 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 14:37:56,661 1191 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,661 1191 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 14:37:56,662 1192 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 14:37:56,668 1198 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,668 1198 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 14:37:56,668 1198 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 14:37:56,674 1204 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,676 1206 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 14:37:56,676 1206 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 14:37:56,682 1212 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,683 1213 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 14:37:56,683 1213 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 14:37:56,689 1219 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,690 1220 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 14:37:56,690 1220 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 14:37:56,696 1226 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,697 1227 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 14:37:56,697 1227 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 14:37:56,703 1233 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,704 1234 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 14:37:56,704 1234 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 14:37:56,709 1239 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,710 1240 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 14:37:56,710 1240 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 14:37:56,715 1245 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-22 14:37:56,716 1246 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-22 14:37:56,717 1247 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 14:37:56,717 1247 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 14:37:56,717 1247 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 14:37:56,717 1247 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-22 14:37:56,718 1248 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-22 14:37:56,720 1250 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:23:54,361 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:23:54,380 20 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:23:54,445 85 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-22 21:23:54,450 90 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-22 21:23:54,461 101 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:23:54,461 101 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:23:54,462 102 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:23:54,462 102 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-22 21:23:54,869 509 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:23:54,880 520 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:23:54,881 521 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-22 21:23:54,881 521 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-22 21:23:54,888 528 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:23:54,890 530 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:23:54,890 530 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:23:54,891 531 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:23:54,894 534 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:23:54,895 535 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:23:54,899 539 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:23:54,903 543 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:23:54,908 548 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:23:54,910 550 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:23:54,910 550 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:23:54,911 551 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-22 21:23:54,911 551 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-22 21:23:54,911 551 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:23:54,913 553 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:23:54,915 555 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:23:54,915 555 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:23:54,915 555 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:23:54,915 555 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-22 21:23:54,979 619 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-22 21:23:54,979 619 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-22 21:23:55,032 672 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-22 21:23:55,034 674 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-22 21:23:55,158 798 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-22 21:23:55,251 891 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,262 902 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,272 912 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,286 926 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,295 935 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,304 944 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,318 958 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,326 966 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,334 974 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,341 981 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,348 988 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,355 995 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,357 997 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:23:55,357 997 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:23:55,373 1013 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,374 1014 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:23:55,374 1014 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:23:55,382 1022 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,383 1023 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:23:55,383 1023 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:23:55,392 1032 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,395 1035 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:23:55,395 1035 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:23:55,405 1045 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,406 1046 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:23:55,407 1047 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:23:55,415 1055 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,416 1056 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:23:55,416 1056 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:23:55,424 1064 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,425 1065 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:23:55,425 1065 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:23:55,433 1073 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,433 1073 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-22 21:23:55,434 1074 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-22 21:23:55,442 1082 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,443 1083 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-22 21:23:55,443 1083 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-22 21:23:55,451 1091 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,452 1092 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-22 21:23:55,452 1092 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-22 21:23:55,459 1099 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,460 1100 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-22 21:23:55,460 1100 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-22 21:23:55,468 1108 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,471 1111 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:23:55,471 1111 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:23:55,479 1119 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,480 1120 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:23:55,480 1120 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:23:55,487 1127 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,488 1128 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:23:55,488 1128 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:23:55,495 1135 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,496 1136 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:23:55,496 1136 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:23:55,503 1143 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,503 1143 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:23:55,504 1144 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:23:55,510 1150 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,511 1151 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:23:55,511 1151 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:23:55,517 1157 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,519 1159 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:23:55,520 1160 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:23:55,526 1166 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,526 1166 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:23:55,527 1167 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:23:55,532 1172 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,533 1173 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:23:55,533 1173 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:23:55,539 1179 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,540 1180 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:23:55,541 1181 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:23:55,547 1187 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,547 1187 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:23:55,547 1187 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:23:55,553 1193 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,554 1194 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:23:55,554 1194 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:23:55,559 1199 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:23:55,560 1200 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-22 21:23:55,561 1201 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:23:55,561 1201 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:23:55,561 1201 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:23:55,561 1201 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-22 21:23:55,561 1201 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-22 21:23:55,564 1204 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:24:51,980 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:24:51,995 16 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:24:52,053 74 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-22 21:24:52,058 79 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-22 21:24:52,068 89 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:24:52,068 89 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:24:52,069 90 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:24:52,069 90 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-22 21:24:52,449 470 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:24:52,460 481 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:24:52,460 481 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-22 21:24:52,460 481 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-22 21:24:52,468 489 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:24:52,470 491 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:24:52,470 491 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:24:52,470 491 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:24:52,473 494 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:24:52,474 495 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:24:52,479 500 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:24:52,482 503 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:24:52,486 507 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:24:52,489 510 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:24:52,489 510 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:24:52,489 510 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-22 21:24:52,489 510 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-22 21:24:52,490 511 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:24:52,492 513 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:24:52,494 515 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:24:52,494 515 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:24:52,494 515 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:24:52,494 515 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-22 21:24:52,559 580 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-22 21:24:52,559 580 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-22 21:24:52,612 633 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-22 21:24:52,614 635 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-22 21:24:52,738 759 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-22 21:24:52,826 847 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:52,837 858 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:52,846 867 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:52,860 881 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:52,870 891 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:52,878 899 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:52,893 914 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:52,901 922 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:52,908 929 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:52,916 937 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:52,922 943 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:52,929 950 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:52,931 952 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:24:52,931 952 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:24:52,945 966 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:52,946 967 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:24:52,946 967 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:24:52,953 974 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:52,954 975 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:24:52,954 975 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:24:52,962 983 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:52,965 986 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:24:52,965 986 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:24:52,973 994 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:52,975 996 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:24:52,975 996 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:24:52,982 1003 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:52,983 1004 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:24:52,983 1004 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:24:52,990 1011 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:52,990 1011 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:24:52,991 1012 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:24:52,998 1019 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:52,998 1019 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-22 21:24:52,998 1019 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-22 21:24:53,006 1027 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:53,007 1028 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-22 21:24:53,007 1028 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-22 21:24:53,014 1035 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:53,014 1035 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-22 21:24:53,015 1036 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-22 21:24:53,021 1042 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:53,022 1043 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-22 21:24:53,022 1043 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-22 21:24:53,029 1050 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:53,032 1053 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:24:53,032 1053 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:24:53,038 1059 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:53,039 1060 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:24:53,039 1060 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:24:53,045 1066 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:53,046 1067 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:24:53,046 1067 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:24:53,052 1073 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:53,053 1074 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:24:53,053 1074 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:24:53,059 1080 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:53,059 1080 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:24:53,059 1080 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:24:53,065 1086 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:53,066 1087 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:24:53,066 1087 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:24:53,072 1093 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:53,073 1094 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:24:53,074 1095 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:24:53,079 1100 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:53,080 1101 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:24:53,080 1101 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:24:53,086 1107 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:53,086 1107 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:24:53,087 1108 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:24:53,092 1113 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:53,093 1114 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:24:53,093 1114 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:24:53,099 1120 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:53,099 1120 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:24:53,100 1121 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:24:53,105 1126 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:53,106 1127 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:24:53,106 1127 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:24:53,111 1132 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:24:53,112 1133 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-22 21:24:53,113 1134 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:24:53,113 1134 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:24:53,113 1134 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:24:53,113 1134 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-22 21:24:53,114 1135 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-22 21:24:53,116 1137 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:30:36,683 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:30:36,698 16 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:30:36,759 77 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-22 21:30:36,764 82 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-22 21:30:36,775 93 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:30:36,775 93 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:30:36,775 93 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:30:36,775 93 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-22 21:30:37,230 548 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:30:37,241 559 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:30:37,242 560 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-22 21:30:37,242 560 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-22 21:30:37,249 567 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:30:37,251 569 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:30:37,251 569 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:30:37,251 569 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:30:37,254 572 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:30:37,256 574 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:30:37,260 578 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:30:37,263 581 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:30:37,268 586 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:30:37,270 588 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:30:37,271 589 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:30:37,271 589 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-22 21:30:37,271 589 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-22 21:30:37,271 589 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:30:37,274 592 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:30:37,275 593 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:30:37,276 594 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:30:37,276 594 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:30:37,276 594 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-22 21:30:37,340 658 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-22 21:30:37,340 658 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-22 21:30:37,394 712 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-22 21:30:37,395 713 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-22 21:30:37,520 838 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-22 21:30:37,609 927 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,619 937 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,629 947 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,642 960 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,652 970 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,661 979 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,676 994 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,684 1002 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,691 1009 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,699 1017 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,706 1024 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,713 1031 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,715 1033 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:30:37,715 1033 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:30:37,729 1047 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,730 1048 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:30:37,730 1048 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:30:37,737 1055 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,738 1056 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:30:37,738 1056 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:30:37,746 1064 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,749 1067 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:30:37,749 1067 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:30:37,759 1077 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,760 1078 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:30:37,760 1078 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:30:37,768 1086 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,769 1087 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:30:37,769 1087 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:30:37,777 1095 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,778 1096 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:30:37,778 1096 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:30:37,786 1104 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,787 1105 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-22 21:30:37,787 1105 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-22 21:30:37,795 1113 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,796 1114 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-22 21:30:37,796 1114 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-22 21:30:37,803 1121 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,804 1122 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-22 21:30:37,804 1122 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-22 21:30:37,811 1129 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,812 1130 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-22 21:30:37,812 1130 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-22 21:30:37,820 1138 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,823 1141 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:30:37,823 1141 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:30:37,830 1148 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,831 1149 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:30:37,831 1149 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:30:37,837 1155 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,838 1156 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:30:37,838 1156 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:30:37,845 1163 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,846 1164 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:30:37,846 1164 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:30:37,852 1170 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,853 1171 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:30:37,853 1171 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:30:37,860 1178 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,860 1178 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:30:37,860 1178 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:30:37,866 1184 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,868 1186 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:30:37,868 1186 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:30:37,874 1192 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,875 1193 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:30:37,875 1193 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:30:37,881 1199 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,882 1200 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:30:37,882 1200 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:30:37,888 1206 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,889 1207 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:30:37,889 1207 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:30:37,895 1213 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,896 1214 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:30:37,896 1214 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:30:37,902 1220 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,903 1221 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:30:37,903 1221 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:30:37,909 1227 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-22 21:30:37,910 1228 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-22 21:30:37,911 1229 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:30:37,911 1229 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:30:37,911 1229 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:30:37,911 1229 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-22 21:30:37,912 1230 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-22 21:30:37,914 1232 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:32:47,596 0 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:32:47,612 16 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:32:47,673 77 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-22 21:32:47,679 83 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-22 21:32:47,688 92 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:32:47,688 92 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:32:47,688 92 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:32:47,689 93 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-22 21:32:48,076 480 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:32:48,087 491 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:32:48,087 491 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-22 21:32:48,087 491 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-22 21:32:48,095 499 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:32:48,097 501 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:32:48,097 501 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:32:48,097 501 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:32:48,100 504 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:32:48,101 505 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:32:48,105 509 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:32:48,109 513 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:32:48,113 517 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:32:48,116 520 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:32:48,116 520 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:32:48,116 520 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-22 21:32:48,116 520 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-22 21:32:48,117 521 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:32:48,119 523 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:32:48,121 525 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:32:48,121 525 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:32:48,121 525 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:32:48,121 525 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-22 21:32:48,186 590 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-22 21:32:48,186 590 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-22 21:32:48,240 644 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-22 21:32:48,241 645 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-22 21:32:48,368 772 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-22 21:32:48,457 861 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,468 872 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,477 881 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,491 895 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,501 905 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,510 914 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,524 928 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,532 936 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,540 944 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,548 952 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,554 958 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,561 965 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,563 967 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:32:48,563 967 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:32:48,578 982 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,578 982 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:32:48,578 982 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:32:48,586 990 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,587 991 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:32:48,587 991 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:32:48,594 998 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,597 1001 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:32:48,597 1001 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:32:48,606 1010 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,607 1011 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:32:48,608 1012 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:32:48,615 1019 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,615 1019 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:32:48,616 1020 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:32:48,623 1027 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,623 1027 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:32:48,624 1028 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:32:48,631 1035 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,631 1035 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-22 21:32:48,631 1035 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-22 21:32:48,639 1043 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,640 1044 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-22 21:32:48,640 1044 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-22 21:32:48,647 1051 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,648 1052 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-22 21:32:48,648 1052 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-22 21:32:48,655 1059 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,655 1059 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-22 21:32:48,656 1060 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-22 21:32:48,662 1066 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,665 1069 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:32:48,665 1069 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:32:48,672 1076 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,673 1077 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:32:48,673 1077 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:32:48,679 1083 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,680 1084 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:32:48,680 1084 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:32:48,686 1090 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,687 1091 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:32:48,687 1091 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:32:48,692 1096 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,693 1097 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:32:48,693 1097 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:32:48,699 1103 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,700 1104 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:32:48,700 1104 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:32:48,706 1110 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,707 1111 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:32:48,708 1112 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:32:48,713 1117 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,714 1118 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:32:48,714 1118 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:32:48,720 1124 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,720 1124 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:32:48,720 1124 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:32:48,726 1130 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,727 1131 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:32:48,727 1131 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:32:48,732 1136 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,732 1136 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:32:48,733 1137 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:32:48,738 1142 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,738 1142 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:32:48,738 1142 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:32:48,743 1147 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-22 21:32:48,744 1148 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-22 21:32:48,745 1149 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:32:48,745 1149 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:32:48,745 1149 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:32:48,745 1149 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-22 21:32:48,745 1149 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-22 21:32:48,748 1152 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:34:36,208 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:34:36,224 17 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:34:36,284 77 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-22 21:34:36,288 81 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-22 21:34:36,297 90 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:34:36,297 90 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:34:36,298 91 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:34:36,298 91 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-22 21:34:36,680 473 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:34:36,692 485 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:34:36,692 485 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-22 21:34:36,692 485 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-22 21:34:36,700 493 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:34:36,702 495 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:34:36,702 495 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:34:36,702 495 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:34:36,705 498 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:34:36,706 499 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:34:36,711 504 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:34:36,714 507 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:34:36,718 511 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:34:36,721 514 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:34:36,721 514 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:34:36,721 514 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-22 21:34:36,721 514 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-22 21:34:36,722 515 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:34:36,724 517 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:34:36,726 519 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:34:36,726 519 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:34:36,726 519 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:34:36,726 519 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-22 21:34:36,791 584 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-22 21:34:36,791 584 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-22 21:34:36,845 638 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "controllerLoader" : null, + "apiLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceChains" : { + "*" : [ "JVM" ] + }, + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-22 21:34:36,847 640 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-22 21:34:36,968 761 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-22 21:34:37,062 855 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,073 866 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,082 875 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,097 890 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,107 900 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,115 908 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,131 924 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,139 932 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,147 940 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,154 947 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,161 954 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,168 961 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,170 963 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:34:37,171 964 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:34:37,186 979 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,187 980 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:34:37,187 980 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:34:37,196 989 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,196 989 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:34:37,197 990 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:34:37,204 997 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,207 1000 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:34:37,207 1000 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:34:37,216 1009 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,217 1010 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:34:37,218 1011 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:34:37,225 1018 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,226 1019 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:34:37,226 1019 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:34:37,233 1026 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,234 1027 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:34:37,234 1027 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:34:37,241 1034 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,242 1035 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-22 21:34:37,242 1035 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-22 21:34:37,250 1043 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,251 1044 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-22 21:34:37,251 1044 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-22 21:34:37,258 1051 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,259 1052 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-22 21:34:37,259 1052 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-22 21:34:37,266 1059 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,267 1060 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-22 21:34:37,267 1060 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-22 21:34:37,274 1067 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,277 1070 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:34:37,277 1070 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:34:37,285 1078 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,286 1079 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:34:37,286 1079 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:34:37,293 1086 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,294 1087 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:34:37,294 1087 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:34:37,301 1094 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,302 1095 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:34:37,302 1095 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:34:37,310 1103 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,311 1104 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:34:37,311 1104 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:34:37,319 1112 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,320 1113 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:34:37,320 1113 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:34:37,325 1118 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,327 1120 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:34:37,327 1120 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:34:37,333 1126 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,333 1126 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:34:37,333 1126 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:34:37,339 1132 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,339 1132 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:34:37,340 1133 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:34:37,345 1138 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,346 1139 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:34:37,347 1140 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:34:37,352 1145 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,353 1146 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:34:37,353 1146 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:34:37,358 1151 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,359 1152 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:34:37,359 1152 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:34:37,364 1157 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-22 21:34:37,365 1158 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-22 21:34:37,366 1159 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:34:37,366 1159 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:34:37,366 1159 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:34:37,366 1159 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-22 21:34:37,366 1159 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-22 21:34:37,369 1162 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:37:07,586 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:37:07,602 17 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:37:07,660 75 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-22 21:37:07,665 80 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-22 21:37:07,674 89 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:37:07,675 90 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:37:07,675 90 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:37:07,675 90 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-22 21:37:08,068 483 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:37:08,079 494 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:37:08,080 495 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-22 21:37:08,080 495 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-22 21:37:08,087 502 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:37:08,089 504 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:37:08,090 505 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:37:08,090 505 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:37:08,093 508 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:37:08,094 509 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:37:08,098 513 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:37:08,102 517 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:37:08,106 521 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:37:08,109 524 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:37:08,109 524 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:37:08,109 524 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-22 21:37:08,109 524 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-22 21:37:08,109 524 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:37:08,112 527 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:37:08,114 529 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:37:08,114 529 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:37:08,114 529 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:37:08,114 529 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-22 21:37:08,179 594 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-22 21:37:08,179 594 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-22 21:37:08,233 648 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelBuilder" : null, + "modelCache" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-22 21:37:08,234 649 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-22 21:37:08,358 773 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-22 21:37:08,451 866 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,461 876 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,471 886 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,485 900 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,494 909 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,502 917 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,517 932 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,525 940 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,533 948 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,540 955 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,547 962 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,554 969 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,556 971 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:37:08,556 971 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:37:08,570 985 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,570 985 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:37:08,571 986 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:37:08,578 993 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,579 994 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:37:08,579 994 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:37:08,586 1001 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,589 1004 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:37:08,589 1004 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:37:08,598 1013 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,599 1014 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:37:08,599 1014 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:37:08,606 1021 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,607 1022 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:37:08,607 1022 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:37:08,614 1029 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,615 1030 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:37:08,615 1030 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:37:08,622 1037 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,623 1038 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-22 21:37:08,623 1038 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-22 21:37:08,631 1046 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,631 1046 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-22 21:37:08,632 1047 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-22 21:37:08,639 1054 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,639 1054 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-22 21:37:08,639 1054 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-22 21:37:08,646 1061 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,647 1062 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-22 21:37:08,647 1062 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-22 21:37:08,654 1069 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,656 1071 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:37:08,657 1072 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:37:08,663 1078 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,664 1079 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:37:08,664 1079 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:37:08,670 1085 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,671 1086 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:37:08,671 1086 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:37:08,677 1092 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,678 1093 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:37:08,678 1093 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:37:08,683 1098 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,684 1099 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:37:08,684 1099 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:37:08,690 1105 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,691 1106 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:37:08,691 1106 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:37:08,697 1112 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,698 1113 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:37:08,699 1114 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:37:08,704 1119 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,705 1120 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:37:08,705 1120 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:37:08,711 1126 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,711 1126 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:37:08,712 1127 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:37:08,717 1132 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,718 1133 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:37:08,718 1133 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:37:08,724 1139 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,724 1139 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:37:08,725 1140 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:37:08,730 1145 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,731 1146 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:37:08,731 1146 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:37:08,736 1151 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:37:08,737 1152 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-22 21:37:08,738 1153 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:37:08,738 1153 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:37:08,738 1153 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:37:08,738 1153 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-22 21:37:08,739 1154 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-22 21:37:08,741 1156 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:50:40,971 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:50:40,987 17 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:50:41,046 76 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-22 21:50:41,051 81 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-22 21:50:41,061 91 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:50:41,061 91 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:50:41,062 92 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:50:41,062 92 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-22 21:50:41,447 477 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:50:41,458 488 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:50:41,458 488 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-22 21:50:41,459 489 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-22 21:50:41,466 496 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:50:41,468 498 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:50:41,468 498 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:50:41,468 498 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:50:41,471 501 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-22 21:50:41,473 503 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:50:41,477 507 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:50:41,480 510 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:50:41,485 515 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:50:41,488 518 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:50:41,488 518 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:50:41,488 518 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-22 21:50:41,488 518 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-22 21:50:41,488 518 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:50:41,491 521 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-22 21:50:41,493 523 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:50:41,493 523 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:50:41,493 523 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:50:41,493 523 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-22 21:50:41,557 587 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-22 21:50:41,557 587 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-22 21:50:41,612 642 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-22 21:50:41,613 643 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-22 21:50:41,824 854 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:41,834 864 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:41,844 874 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:41,858 888 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:41,867 897 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:41,876 906 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:41,891 921 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:41,899 929 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:41,906 936 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:41,913 943 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:41,920 950 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:41,927 957 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:41,929 959 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:50:41,929 959 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:50:41,943 973 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:41,944 974 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:50:41,944 974 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:50:41,951 981 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:41,952 982 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:50:41,952 982 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:50:41,959 989 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:41,962 992 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:50:41,962 992 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:50:41,971 1001 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:41,972 1002 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:50:41,973 1003 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:50:41,980 1010 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:41,980 1010 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:50:41,981 1011 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:50:41,988 1018 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:41,988 1018 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:50:41,988 1018 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:50:41,995 1025 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:41,996 1026 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-22 21:50:41,996 1026 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-22 21:50:42,004 1034 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:42,004 1034 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-22 21:50:42,004 1034 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-22 21:50:42,011 1041 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:42,012 1042 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-22 21:50:42,012 1042 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-22 21:50:42,019 1049 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:42,019 1049 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-22 21:50:42,019 1049 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-22 21:50:42,026 1056 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:42,028 1058 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:50:42,029 1059 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:50:42,035 1065 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:42,036 1066 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:50:42,036 1066 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:50:42,042 1072 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:42,042 1072 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:50:42,043 1073 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:50:42,049 1079 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:42,050 1080 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:50:42,050 1080 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:50:42,056 1086 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:42,056 1086 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:50:42,056 1086 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:50:42,062 1092 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:42,063 1093 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:50:42,063 1093 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:50:42,068 1098 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:42,070 1100 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:50:42,070 1100 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:50:42,076 1106 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:42,076 1106 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:50:42,077 1107 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:50:42,082 1112 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:42,083 1113 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:50:42,083 1113 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:50:42,088 1118 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:42,089 1119 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-22 21:50:42,090 1120 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-22 21:50:42,095 1125 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:42,096 1126 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-22 21:50:42,096 1126 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-22 21:50:42,101 1131 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:42,101 1131 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-22 21:50:42,102 1132 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-22 21:50:42,107 1137 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-22 21:50:42,107 1137 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-22 21:50:42,110 1140 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-22 21:50:42,111 1141 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-22 21:50:42,111 1141 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-22 21:50:42,111 1141 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-22 21:50:42,111 1141 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-22 21:50:42,111 1141 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-22 21:50:42,114 1144 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-23 10:23:09,682 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-23 10:23:09,699 18 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-23 10:23:09,760 79 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-23 10:23:09,765 84 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-23 10:23:09,774 93 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-23 10:23:09,775 94 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-23 10:23:09,775 94 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-23 10:23:09,775 94 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-23 10:23:10,211 530 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-23 10:23:10,222 541 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-23 10:23:10,223 542 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-23 10:23:10,223 542 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-23 10:23:10,231 550 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-23 10:23:10,232 551 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-23 10:23:10,233 552 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-23 10:23:10,233 552 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-23 10:23:10,236 555 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-23 10:23:10,237 556 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-23 10:23:10,241 560 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-23 10:23:10,245 564 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-23 10:23:10,249 568 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-23 10:23:10,252 571 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-23 10:23:10,252 571 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-23 10:23:10,252 571 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-23 10:23:10,252 571 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-23 10:23:10,252 571 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-23 10:23:10,255 574 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-23 10:23:10,257 576 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-23 10:23:10,257 576 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-23 10:23:10,257 576 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-23 10:23:10,257 576 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-23 10:23:10,321 640 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-23 10:23:10,322 641 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-23 10:23:10,375 694 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-23 10:23:10,377 696 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-23 10:23:10,588 907 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,599 918 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,609 928 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,623 942 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,633 952 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,642 961 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,658 977 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,666 985 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,674 993 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,682 1001 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,690 1009 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,697 1016 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,699 1018 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-23 10:23:10,699 1018 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-23 10:23:10,714 1033 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,715 1034 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-23 10:23:10,715 1034 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-23 10:23:10,723 1042 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,724 1043 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-23 10:23:10,724 1043 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-23 10:23:10,732 1051 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,735 1054 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-23 10:23:10,735 1054 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-23 10:23:10,745 1064 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,747 1066 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-23 10:23:10,747 1066 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-23 10:23:10,755 1074 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,756 1075 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-23 10:23:10,757 1076 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-23 10:23:10,767 1086 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,768 1087 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-23 10:23:10,768 1087 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-23 10:23:10,775 1094 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,776 1095 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-23 10:23:10,776 1095 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-23 10:23:10,784 1103 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,785 1104 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-23 10:23:10,785 1104 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-23 10:23:10,792 1111 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,793 1112 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-23 10:23:10,793 1112 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-23 10:23:10,800 1119 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,801 1120 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-23 10:23:10,801 1120 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-23 10:23:10,808 1127 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,811 1130 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-23 10:23:10,812 1131 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-23 10:23:10,823 1142 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,825 1144 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-23 10:23:10,825 1144 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-23 10:23:10,834 1153 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,834 1153 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-23 10:23:10,835 1154 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-23 10:23:10,842 1161 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,843 1162 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-23 10:23:10,843 1162 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-23 10:23:10,850 1169 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,850 1169 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-23 10:23:10,851 1170 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-23 10:23:10,857 1176 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,858 1177 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-23 10:23:10,858 1177 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-23 10:23:10,864 1183 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,865 1184 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-23 10:23:10,866 1185 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-23 10:23:10,871 1190 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,872 1191 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-23 10:23:10,872 1191 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-23 10:23:10,878 1197 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,879 1198 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-23 10:23:10,879 1198 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-23 10:23:10,885 1204 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,886 1205 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-23 10:23:10,886 1205 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-23 10:23:10,892 1211 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,893 1212 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-23 10:23:10,893 1212 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-23 10:23:10,899 1218 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,900 1219 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-23 10:23:10,900 1219 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-23 10:23:10,906 1225 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-23 10:23:10,906 1225 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-23 10:23:10,909 1228 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-23 10:23:10,910 1229 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-23 10:23:10,910 1229 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-23 10:23:10,911 1230 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-23 10:23:10,911 1230 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-23 10:23:10,911 1230 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-23 10:23:10,914 1233 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-23 10:43:22,614 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-23 10:43:22,636 23 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-23 10:43:22,709 96 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-23 10:43:22,714 101 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-23 10:43:22,726 113 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-23 10:43:22,726 113 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-23 10:43:22,726 113 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-23 10:43:22,726 113 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-23 10:43:23,142 529 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-23 10:43:23,153 540 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-23 10:43:23,153 540 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-23 10:43:23,153 540 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-23 10:43:23,161 548 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-23 10:43:23,163 550 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-23 10:43:23,163 550 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-23 10:43:23,163 550 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-23 10:43:23,166 553 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-23 10:43:23,167 554 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-23 10:43:23,172 559 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-23 10:43:23,175 562 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-23 10:43:23,180 567 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-23 10:43:23,183 570 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-23 10:43:23,183 570 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-23 10:43:23,183 570 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-23 10:43:23,183 570 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-23 10:43:23,183 570 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-23 10:43:23,186 573 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-23 10:43:23,187 574 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-23 10:43:23,188 575 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-23 10:43:23,188 575 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-23 10:43:23,188 575 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-23 10:43:23,253 640 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-23 10:43:23,253 640 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-23 10:43:23,311 698 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceChains" : { + "*" : [ "JVM" ] + }, + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-23 10:43:23,313 700 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-23 10:43:23,576 963 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,587 974 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,598 985 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,613 1000 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,623 1010 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,632 1019 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,648 1035 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,656 1043 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,663 1050 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,671 1058 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,678 1065 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,686 1073 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,688 1075 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-23 10:43:23,688 1075 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-23 10:43:23,705 1092 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,706 1093 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-23 10:43:23,706 1093 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-23 10:43:23,716 1103 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,717 1104 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-23 10:43:23,717 1104 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-23 10:43:23,726 1113 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,729 1116 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-23 10:43:23,730 1117 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-23 10:43:23,740 1127 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,742 1129 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-23 10:43:23,742 1129 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-23 10:43:23,751 1138 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,751 1138 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-23 10:43:23,752 1139 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-23 10:43:23,760 1147 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,760 1147 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-23 10:43:23,760 1147 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-23 10:43:23,768 1155 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,769 1156 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-23 10:43:23,769 1156 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-23 10:43:23,778 1165 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,778 1165 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-23 10:43:23,779 1166 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-23 10:43:23,786 1173 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,787 1174 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-23 10:43:23,787 1174 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-23 10:43:23,794 1181 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,795 1182 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-23 10:43:23,795 1182 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-23 10:43:23,803 1190 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,806 1193 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-23 10:43:23,806 1193 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-23 10:43:23,818 1205 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,819 1206 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-23 10:43:23,820 1207 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-23 10:43:23,833 1220 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,834 1221 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-23 10:43:23,835 1222 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-23 10:43:23,848 1235 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,850 1237 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-23 10:43:23,850 1237 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-23 10:43:23,863 1250 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,864 1251 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-23 10:43:23,864 1251 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-23 10:43:23,872 1259 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,873 1260 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-23 10:43:23,873 1260 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-23 10:43:23,881 1268 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,883 1270 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-23 10:43:23,883 1270 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-23 10:43:23,891 1278 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,891 1278 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-23 10:43:23,892 1279 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-23 10:43:23,899 1286 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,900 1287 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-23 10:43:23,900 1287 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-23 10:43:23,907 1294 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,909 1296 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-23 10:43:23,910 1297 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-23 10:43:23,920 1307 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,921 1308 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-23 10:43:23,921 1308 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-23 10:43:23,932 1319 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,933 1320 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-23 10:43:23,933 1320 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-23 10:43:23,940 1327 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ] +} +2013-04-23 10:43:23,940 1327 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-23 10:43:23,944 1331 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-23 10:43:23,946 1333 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-23 10:43:23,946 1333 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-23 10:43:23,946 1333 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-23 10:43:23,946 1333 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-23 10:43:23,947 1334 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-23 10:43:23,951 1338 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-24 19:30:28,536 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-24 19:30:28,562 27 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-24 19:30:28,641 106 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-24 19:30:28,647 112 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-24 19:30:28,658 123 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-24 19:30:28,658 123 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-24 19:30:28,659 124 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-24 19:30:28,659 124 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-24 19:30:29,123 588 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-24 19:30:29,135 600 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-24 19:30:29,136 601 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-24 19:30:29,136 601 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-24 19:30:29,144 609 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-24 19:30:29,147 612 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-24 19:30:29,147 612 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-24 19:30:29,147 612 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-24 19:30:29,151 616 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-24 19:30:29,152 617 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-24 19:30:29,157 622 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-24 19:30:29,161 626 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-24 19:30:29,166 631 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-24 19:30:29,169 634 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-24 19:30:29,169 634 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-24 19:30:29,170 635 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-24 19:30:29,170 635 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-24 19:30:29,170 635 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-24 19:30:29,172 637 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-24 19:30:29,174 639 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-24 19:30:29,174 639 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-24 19:30:29,175 640 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-24 19:30:29,175 640 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-24 19:30:29,241 706 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-24 19:30:29,241 706 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-24 19:30:29,297 762 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "controllerLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-24 19:30:29,299 764 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-24 19:30:29,536 1001 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,548 1013 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,559 1024 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,575 1040 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,586 1051 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,596 1061 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,613 1078 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,621 1086 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,630 1095 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,639 1104 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,647 1112 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,655 1120 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,657 1122 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-24 19:30:29,657 1122 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-24 19:30:29,673 1138 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,674 1139 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-24 19:30:29,674 1139 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-24 19:30:29,682 1147 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,683 1148 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-24 19:30:29,684 1149 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-24 19:30:29,693 1158 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,696 1161 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-24 19:30:29,696 1161 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-24 19:30:29,706 1171 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,708 1173 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-24 19:30:29,708 1173 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-24 19:30:29,719 1184 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,719 1184 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-24 19:30:29,720 1185 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-24 19:30:29,728 1193 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,729 1194 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-24 19:30:29,729 1194 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-24 19:30:29,737 1202 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,738 1203 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-24 19:30:29,739 1204 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-24 19:30:29,748 1213 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,749 1214 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-24 19:30:29,749 1214 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-24 19:30:29,757 1222 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,758 1223 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-24 19:30:29,758 1223 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-24 19:30:29,766 1231 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,767 1232 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-24 19:30:29,767 1232 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-24 19:30:29,775 1240 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,779 1244 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-24 19:30:29,779 1244 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-24 19:30:29,788 1253 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,789 1254 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-24 19:30:29,789 1254 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-24 19:30:29,797 1262 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,797 1262 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-24 19:30:29,798 1263 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-24 19:30:29,805 1270 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,806 1271 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-24 19:30:29,807 1272 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-24 19:30:29,814 1279 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,815 1280 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-24 19:30:29,815 1280 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-24 19:30:29,823 1288 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,823 1288 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-24 19:30:29,824 1289 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-24 19:30:29,831 1296 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,833 1298 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-24 19:30:29,833 1298 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-24 19:30:29,840 1305 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,841 1306 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-24 19:30:29,841 1306 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-24 19:30:29,848 1313 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,849 1314 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-24 19:30:29,849 1314 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-24 19:30:29,856 1321 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,858 1323 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-24 19:30:29,858 1323 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-24 19:30:29,869 1334 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,869 1334 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-24 19:30:29,870 1335 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-24 19:30:29,876 1341 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,877 1342 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-24 19:30:29,877 1342 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-24 19:30:29,884 1349 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-24 19:30:29,885 1350 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-24 19:30:29,888 1353 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-24 19:30:29,889 1354 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-24 19:30:29,889 1354 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-24 19:30:29,889 1354 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-24 19:30:29,890 1355 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-24 19:30:29,890 1355 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-24 19:30:29,893 1358 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-24 19:32:15,507 0 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-24 19:32:15,524 17 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-24 19:32:15,587 80 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-24 19:32:15,592 85 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-24 19:32:15,601 94 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-24 19:32:15,601 94 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-24 19:32:15,601 94 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-24 19:32:15,601 94 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-24 19:32:16,048 541 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-24 19:32:16,060 553 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-24 19:32:16,060 553 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-24 19:32:16,061 554 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-24 19:32:16,069 562 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-24 19:32:16,071 564 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-24 19:32:16,071 564 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-24 19:32:16,071 564 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-24 19:32:16,074 567 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-24 19:32:16,076 569 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-24 19:32:16,080 573 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-24 19:32:16,084 577 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-24 19:32:16,089 582 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-24 19:32:16,092 585 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-24 19:32:16,092 585 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-24 19:32:16,092 585 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-24 19:32:16,092 585 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-24 19:32:16,092 585 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-24 19:32:16,095 588 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-24 19:32:16,097 590 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-24 19:32:16,097 590 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-24 19:32:16,097 590 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-24 19:32:16,098 591 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-24 19:32:16,166 659 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-24 19:32:16,166 659 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-24 19:32:16,224 717 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "apiLoader" : null, + "modelBuilder" : null, + "modelCache" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceChains" : { + "*" : [ "JVM" ] + }, + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "factory" : null, + "settings" : null + }, + "controllerLoader" : null, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-24 19:32:16,225 718 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-24 19:32:16,451 944 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,461 954 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,471 964 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,486 979 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,495 988 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,504 997 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,519 1012 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,527 1020 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,534 1027 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,542 1035 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,548 1041 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,555 1048 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,557 1050 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-24 19:32:16,558 1051 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-24 19:32:16,571 1064 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,572 1065 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-24 19:32:16,572 1065 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-24 19:32:16,580 1073 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,580 1073 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-24 19:32:16,581 1074 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-24 19:32:16,588 1081 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,591 1084 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-24 19:32:16,591 1084 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-24 19:32:16,600 1093 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,601 1094 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-24 19:32:16,601 1094 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-24 19:32:16,608 1101 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,609 1102 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-24 19:32:16,609 1102 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-24 19:32:16,616 1109 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,617 1110 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-24 19:32:16,617 1110 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-24 19:32:16,624 1117 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,624 1117 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-24 19:32:16,625 1118 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-24 19:32:16,632 1125 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,633 1126 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-24 19:32:16,633 1126 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-24 19:32:16,640 1133 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,641 1134 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-24 19:32:16,641 1134 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-24 19:32:16,648 1141 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,649 1142 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-24 19:32:16,649 1142 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-24 19:32:16,656 1149 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,659 1152 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-24 19:32:16,659 1152 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-24 19:32:16,666 1159 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,667 1160 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-24 19:32:16,667 1160 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-24 19:32:16,673 1166 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,674 1167 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-24 19:32:16,674 1167 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-24 19:32:16,680 1173 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,681 1174 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-24 19:32:16,681 1174 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-24 19:32:16,686 1179 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,687 1180 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-24 19:32:16,687 1180 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-24 19:32:16,693 1186 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,693 1186 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-24 19:32:16,694 1187 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-24 19:32:16,699 1192 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,700 1193 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-24 19:32:16,701 1194 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-24 19:32:16,706 1199 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,707 1200 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-24 19:32:16,707 1200 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-24 19:32:16,712 1205 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,713 1206 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-24 19:32:16,713 1206 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-24 19:32:16,718 1211 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,719 1212 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-24 19:32:16,720 1213 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-24 19:32:16,725 1218 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,726 1219 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-24 19:32:16,726 1219 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-24 19:32:16,731 1224 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,731 1224 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-24 19:32:16,731 1224 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-24 19:32:16,736 1229 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-24 19:32:16,737 1230 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-24 19:32:16,740 1233 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-24 19:32:16,741 1234 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-24 19:32:16,741 1234 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-24 19:32:16,741 1234 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-24 19:32:16,742 1235 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-24 19:32:16,742 1235 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-24 19:32:16,744 1237 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 09:06:36,762 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 09:06:36,787 26 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 09:06:36,859 98 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-25 09:06:36,865 104 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-25 09:06:36,879 118 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 09:06:36,879 118 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 09:06:36,880 119 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 09:06:36,880 119 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-25 09:06:37,325 564 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 09:06:37,338 577 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 09:06:37,338 577 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-25 09:06:37,338 577 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-25 09:06:37,346 585 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 09:06:37,348 587 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 09:06:37,348 587 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 09:06:37,349 588 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 09:06:37,352 591 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 09:06:37,353 592 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 09:06:37,358 597 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 09:06:37,362 601 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 09:06:37,367 606 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 09:06:37,370 609 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 09:06:37,370 609 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 09:06:37,370 609 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-25 09:06:37,371 610 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-25 09:06:37,371 610 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 09:06:37,373 612 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 09:06:37,376 615 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 09:06:37,376 615 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 09:06:37,376 615 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 09:06:37,376 615 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-25 09:06:37,441 680 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-25 09:06:37,441 680 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-25 09:06:37,499 738 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "modelBuilder" : null, + "formatLoader" : null, + "modelCache" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models/" + } + } ], + "serviceChains" : { + "*" : [ "JVM" ] + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-25 09:06:37,501 740 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-25 09:06:37,729 968 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,740 979 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,750 989 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,764 1003 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,773 1012 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,783 1022 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,797 1036 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,806 1045 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,814 1053 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,823 1062 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,832 1071 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,842 1081 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,844 1083 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 09:06:37,845 1084 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 09:06:37,859 1098 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,860 1099 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 09:06:37,860 1099 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 09:06:37,869 1108 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,869 1108 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 09:06:37,870 1109 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 09:06:37,880 1119 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,884 1123 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 09:06:37,884 1123 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 09:06:37,894 1133 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,895 1134 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 09:06:37,896 1135 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 09:06:37,904 1143 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,904 1143 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 09:06:37,905 1144 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 09:06:37,913 1152 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,913 1152 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 09:06:37,913 1152 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 09:06:37,922 1161 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,923 1162 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-25 09:06:37,924 1163 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-25 09:06:37,936 1175 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,936 1175 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-25 09:06:37,937 1176 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-25 09:06:37,946 1185 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,947 1186 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-25 09:06:37,947 1186 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-25 09:06:37,955 1194 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,956 1195 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-25 09:06:37,956 1195 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-25 09:06:37,964 1203 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,968 1207 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 09:06:37,968 1207 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 09:06:37,975 1214 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,976 1215 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 09:06:37,977 1216 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 09:06:37,988 1227 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,989 1228 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 09:06:37,989 1228 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 09:06:37,996 1235 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:37,998 1237 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 09:06:37,998 1237 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 09:06:38,004 1243 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:38,005 1244 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 09:06:38,005 1244 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 09:06:38,012 1251 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:38,013 1252 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 09:06:38,013 1252 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 09:06:38,019 1258 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:38,021 1260 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 09:06:38,021 1260 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 09:06:38,027 1266 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:38,028 1267 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 09:06:38,028 1267 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 09:06:38,034 1273 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:38,035 1274 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 09:06:38,035 1274 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 09:06:38,042 1281 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:38,043 1282 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 09:06:38,043 1282 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 09:06:38,049 1288 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:38,049 1288 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 09:06:38,050 1289 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 09:06:38,055 1294 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:38,056 1295 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 09:06:38,056 1295 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 09:06:38,062 1301 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 09:06:38,062 1301 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-25 09:06:38,065 1304 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-25 09:06:38,066 1305 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 09:06:38,066 1305 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 09:06:38,067 1306 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 09:06:38,067 1306 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-25 09:06:38,067 1306 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-25 09:06:38,070 1309 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:12:50,971 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:12:50,995 25 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:12:51,077 107 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-25 15:12:51,084 114 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-25 15:12:51,099 129 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:12:51,099 129 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:12:51,099 129 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:12:51,100 130 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-25 15:12:51,572 602 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:12:51,586 616 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:12:51,586 616 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-25 15:12:51,586 616 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-25 15:12:51,597 627 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:12:51,601 631 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:12:51,601 631 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:12:51,601 631 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:12:51,607 637 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:12:51,609 639 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:12:51,615 645 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:12:51,619 649 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:12:51,625 655 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:12:51,628 658 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:12:51,628 658 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:12:51,629 659 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-25 15:12:51,629 659 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-25 15:12:51,629 659 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:12:51,632 662 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:12:51,634 664 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:12:51,634 664 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:12:51,635 665 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:12:51,635 665 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-25 15:12:51,687 717 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:12:51,687 717 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:12:51,687 717 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:12:51,688 718 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-25 15:12:51,688 718 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-25 15:12:51,691 721 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:23:01,804 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:23:01,822 19 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:23:01,900 97 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-25 15:23:01,906 103 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-25 15:23:01,916 113 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:23:01,916 113 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:23:01,916 113 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:23:01,916 113 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-25 15:23:02,410 607 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:23:02,422 619 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:23:02,422 619 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-25 15:23:02,422 619 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-25 15:23:02,430 627 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:23:02,432 629 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:23:02,432 629 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:23:02,432 629 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:23:02,436 633 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:23:02,437 634 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:23:02,442 639 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:23:02,446 643 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:23:02,451 648 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:23:02,454 651 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:23:02,454 651 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:23:02,454 651 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-25 15:23:02,454 651 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-25 15:23:02,455 652 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:23:02,457 654 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:23:02,459 656 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:23:02,459 656 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:23:02,459 656 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:23:02,459 656 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-25 15:23:02,505 702 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:23:02,506 703 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:23:02,506 703 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:23:02,506 703 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-25 15:23:02,506 703 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-25 15:23:02,509 706 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:24:53,203 0 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:24:53,226 23 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:24:53,291 88 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-25 15:24:53,296 93 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-25 15:24:53,306 103 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:24:53,306 103 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:24:53,306 103 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:24:53,307 104 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-25 15:24:53,693 490 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:24:53,704 501 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:24:53,704 501 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-25 15:24:53,705 502 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-25 15:24:53,712 509 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:24:53,714 511 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:24:53,715 512 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:24:53,715 512 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:24:53,718 515 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:24:53,719 516 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:24:53,724 521 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:24:53,727 524 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:24:53,732 529 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:24:53,734 531 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:24:53,735 532 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:24:53,735 532 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-25 15:24:53,735 532 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-25 15:24:53,735 532 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:24:53,738 535 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:24:53,739 536 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:24:53,740 537 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:24:53,740 537 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:24:53,740 537 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-25 15:24:53,800 597 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-25 15:24:53,800 597 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-25 15:24:53,856 653 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "apiLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceMapping" : { + "*" : "JVM" + }, + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-25 15:24:53,857 654 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-25 15:24:54,091 888 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,103 900 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,113 910 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,128 925 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,138 935 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,148 945 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,165 962 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,174 971 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,182 979 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,191 988 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,198 995 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,205 1002 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,207 1004 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:24:54,208 1005 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:24:54,224 1021 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,225 1022 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:24:54,225 1022 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:24:54,233 1030 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,234 1031 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:24:54,234 1031 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:24:54,242 1039 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,245 1042 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:24:54,245 1042 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:24:54,254 1051 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,256 1053 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:24:54,256 1053 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:24:54,263 1060 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,264 1061 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:24:54,264 1061 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:24:54,274 1071 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,275 1072 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:24:54,275 1072 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:24:54,283 1080 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,284 1081 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-25 15:24:54,284 1081 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-25 15:24:54,291 1088 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,292 1089 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-25 15:24:54,292 1089 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-25 15:24:54,300 1097 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,301 1098 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-25 15:24:54,301 1098 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-25 15:24:54,308 1105 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,309 1106 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-25 15:24:54,309 1106 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-25 15:24:54,317 1114 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,321 1118 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:24:54,321 1118 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:24:54,331 1128 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,332 1129 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:24:54,332 1129 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:24:54,339 1136 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,340 1137 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:24:54,340 1137 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:24:54,346 1143 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,347 1144 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:24:54,348 1145 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:24:54,353 1150 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,354 1151 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:24:54,354 1151 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:24:54,360 1157 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,361 1158 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:24:54,361 1158 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:24:54,366 1163 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,368 1165 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:24:54,368 1165 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:24:54,374 1171 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,375 1172 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:24:54,375 1172 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:24:54,380 1177 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,381 1178 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:24:54,381 1178 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:24:54,387 1184 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,388 1185 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:24:54,388 1185 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:24:54,394 1191 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,395 1192 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:24:54,395 1192 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:24:54,402 1199 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,402 1199 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:24:54,403 1200 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:24:54,409 1206 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:24:54,410 1207 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-25 15:24:54,413 1210 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-25 15:24:54,414 1211 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:24:54,414 1211 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:24:54,414 1211 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:24:54,415 1212 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-25 15:24:54,415 1212 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-25 15:24:54,418 1215 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:29:48,539 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:29:48,562 24 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:29:48,642 104 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-25 15:29:48,647 109 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-25 15:29:48,658 120 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:29:48,658 120 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:29:48,658 120 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:29:48,658 120 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-25 15:29:49,085 547 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:29:49,097 559 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:29:49,097 559 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-25 15:29:49,097 559 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-25 15:29:49,105 567 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:29:49,107 569 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:29:49,107 569 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:29:49,107 569 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:29:49,111 573 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:29:49,112 574 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:29:49,116 578 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:29:49,120 582 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:29:49,125 587 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:29:49,128 590 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:29:49,128 590 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:29:49,128 590 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-25 15:29:49,128 590 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-25 15:29:49,128 590 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:29:49,131 593 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:29:49,133 595 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:29:49,133 595 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:29:49,133 595 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:29:49,133 595 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-25 15:29:49,200 662 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-25 15:29:49,200 662 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-25 15:29:49,262 724 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-25 15:29:49,264 726 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-25 15:29:49,506 968 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,518 980 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,529 991 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,544 1006 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,555 1017 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,568 1030 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,585 1047 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,596 1058 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,608 1070 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,617 1079 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,625 1087 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,633 1095 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,635 1097 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:29:49,635 1097 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:29:49,655 1117 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,662 1124 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:29:49,662 1124 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:29:49,672 1134 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,673 1135 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:29:49,673 1135 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:29:49,683 1145 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,686 1148 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:29:49,686 1148 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:29:49,698 1160 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,699 1161 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:29:49,700 1162 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:29:49,709 1171 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,710 1172 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:29:49,710 1172 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:29:49,719 1181 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,719 1181 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:29:49,720 1182 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:29:49,728 1190 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,729 1191 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-25 15:29:49,729 1191 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-25 15:29:49,739 1201 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,740 1202 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-25 15:29:49,740 1202 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-25 15:29:49,753 1215 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,754 1216 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-25 15:29:49,754 1216 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-25 15:29:49,762 1224 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,763 1225 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-25 15:29:49,763 1225 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-25 15:29:49,771 1233 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,775 1237 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:29:49,775 1237 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:29:49,783 1245 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,784 1246 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:29:49,784 1246 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:29:49,792 1254 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,793 1255 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:29:49,793 1255 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:29:49,801 1263 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,802 1264 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:29:49,803 1265 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:29:49,810 1272 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,810 1272 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:29:49,811 1273 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:29:49,818 1280 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,819 1281 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:29:49,819 1281 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:29:49,825 1287 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,827 1289 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:29:49,827 1289 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:29:49,834 1296 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,834 1296 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:29:49,835 1297 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:29:49,841 1303 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,842 1304 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:29:49,842 1304 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:29:49,848 1310 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,850 1312 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:29:49,850 1312 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:29:49,857 1319 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,858 1320 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:29:49,858 1320 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:29:49,865 1327 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,865 1327 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:29:49,866 1328 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:29:49,872 1334 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:29:49,873 1335 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-25 15:29:49,876 1338 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-25 15:29:49,877 1339 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:29:49,877 1339 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:29:49,878 1340 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:29:49,878 1340 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-25 15:29:49,878 1340 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-25 15:29:49,881 1343 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:37:47,500 2 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:37:47,525 27 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:37:47,614 116 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-25 15:37:47,622 124 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-25 15:37:47,636 138 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:37:47,636 138 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:37:47,637 139 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:37:47,637 139 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-25 15:37:48,079 581 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:37:48,091 593 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:37:48,092 594 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-25 15:37:48,092 594 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-25 15:37:48,101 603 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:37:48,103 605 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:37:48,103 605 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:37:48,103 605 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:37:48,106 608 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:37:48,108 610 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:37:48,113 615 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:37:48,118 620 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:37:48,123 625 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:37:48,127 629 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:37:48,127 629 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:37:48,128 630 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-25 15:37:48,128 630 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-25 15:37:48,128 630 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:37:48,132 634 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:37:48,135 637 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:37:48,136 638 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:37:48,136 638 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:37:48,136 638 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-25 15:37:48,226 728 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-25 15:37:48,227 729 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-25 15:37:48,298 800 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "modelBuilder" : null, + "modelCache" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-25 15:37:48,300 802 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-25 15:37:48,565 1067 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,577 1079 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,588 1090 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,603 1105 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,614 1116 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,624 1126 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,640 1142 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,649 1151 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,657 1159 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,666 1168 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,673 1175 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,680 1182 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,682 1184 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:37:48,683 1185 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:37:48,699 1201 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,700 1202 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:37:48,700 1202 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:37:48,708 1210 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,708 1210 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:37:48,709 1211 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:37:48,716 1218 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,719 1221 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:37:48,720 1222 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:37:48,729 1231 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,730 1232 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:37:48,730 1232 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:37:48,738 1240 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,738 1240 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:37:48,739 1241 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:37:48,746 1248 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,747 1249 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:37:48,747 1249 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:37:48,757 1259 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,757 1259 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-25 15:37:48,758 1260 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-25 15:37:48,765 1267 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,765 1267 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-25 15:37:48,766 1268 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-25 15:37:48,773 1275 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,774 1276 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-25 15:37:48,774 1276 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-25 15:37:48,782 1284 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,783 1285 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-25 15:37:48,783 1285 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-25 15:37:48,792 1294 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,795 1297 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:37:48,796 1298 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:37:48,803 1305 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,805 1307 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:37:48,805 1307 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:37:48,813 1315 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,814 1316 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:37:48,814 1316 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:37:48,822 1324 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,823 1325 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:37:48,824 1326 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:37:48,831 1333 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,832 1334 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:37:48,832 1334 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:37:48,840 1342 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,841 1343 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:37:48,841 1343 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:37:48,852 1354 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,855 1357 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:37:48,855 1357 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:37:48,865 1367 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,866 1368 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:37:48,866 1368 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:37:48,874 1376 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,875 1377 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:37:48,875 1377 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:37:48,886 1388 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,888 1390 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:37:48,889 1391 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:37:48,900 1402 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,901 1403 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:37:48,901 1403 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:37:48,913 1415 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,914 1416 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:37:48,914 1416 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:37:48,926 1428 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-25 15:37:48,927 1429 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-25 15:37:48,932 1434 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-25 15:37:48,934 1436 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:37:48,934 1436 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:37:48,935 1437 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:37:48,935 1437 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-25 15:37:48,936 1438 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-25 15:37:48,940 1442 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:54:56,646 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:54:56,664 19 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:54:56,734 89 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-25 15:54:56,739 94 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-25 15:54:56,749 104 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:54:56,749 104 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:54:56,749 104 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:54:56,750 105 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-25 15:54:57,301 656 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:54:57,314 669 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:54:57,314 669 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-25 15:54:57,314 669 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-25 15:54:57,324 679 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:54:57,326 681 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:54:57,326 681 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:54:57,326 681 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:54:57,330 685 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:54:57,331 686 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:54:57,338 693 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:54:57,344 699 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:54:57,353 708 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:54:57,358 713 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:54:57,358 713 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:54:57,358 713 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-25 15:54:57,358 713 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-25 15:54:57,359 714 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:54:57,361 716 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:54:57,364 719 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:54:57,364 719 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:54:57,364 719 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:54:57,364 719 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-25 15:54:57,435 790 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-25 15:54:57,436 791 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-25 15:54:57,495 850 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "apiLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-25 15:54:57,496 851 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-25 15:54:57,780 1135 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:57,792 1147 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:57,804 1159 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:57,820 1175 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:57,831 1186 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:57,847 1202 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:57,874 1229 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:57,885 1240 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:57,895 1250 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:57,906 1261 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:57,919 1274 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:57,933 1288 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:57,935 1290 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:54:57,936 1291 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:54:57,984 1339 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:57,986 1341 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:54:57,986 1341 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:54:58,003 1358 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,004 1359 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:54:58,005 1360 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:54:58,098 1453 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,103 1458 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:54:58,103 1458 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:54:58,133 1488 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,135 1490 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:54:58,135 1490 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:54:58,165 1520 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,167 1522 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:54:58,167 1522 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:54:58,184 1539 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,185 1540 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:54:58,185 1540 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:54:58,202 1557 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,203 1558 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-25 15:54:58,204 1559 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-25 15:54:58,218 1573 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,220 1575 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-25 15:54:58,220 1575 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-25 15:54:58,236 1591 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,236 1591 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-25 15:54:58,237 1592 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-25 15:54:58,249 1604 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,250 1605 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-25 15:54:58,251 1606 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-25 15:54:58,265 1620 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,270 1625 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:54:58,270 1625 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:54:58,280 1635 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,282 1637 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:54:58,282 1637 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:54:58,290 1645 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,291 1646 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:54:58,291 1646 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:54:58,301 1656 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,303 1658 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:54:58,303 1658 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:54:58,315 1670 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,316 1671 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:54:58,316 1671 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:54:58,327 1682 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,328 1683 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:54:58,328 1683 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:54:58,338 1693 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,340 1695 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:54:58,341 1696 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:54:58,351 1706 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,352 1707 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:54:58,352 1707 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:54:58,360 1715 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,361 1716 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:54:58,361 1716 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:54:58,371 1726 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,372 1727 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:54:58,372 1727 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:54:58,382 1737 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,383 1738 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:54:58,383 1738 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:54:58,391 1746 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,392 1747 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:54:58,393 1748 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:54:58,403 1758 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:54:58,404 1759 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-25 15:54:58,408 1763 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-25 15:54:58,410 1765 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:54:58,410 1765 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:54:58,410 1765 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:54:58,410 1765 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-25 15:54:58,411 1766 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-25 15:54:58,414 1769 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:56:33,112 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:56:33,130 19 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:56:33,201 90 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-25 15:56:33,207 96 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-25 15:56:33,218 107 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:56:33,218 107 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:56:33,218 107 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:56:33,219 108 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-25 15:56:33,656 545 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:56:33,668 557 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:56:33,668 557 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-25 15:56:33,669 558 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-25 15:56:33,676 565 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:56:33,678 567 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:56:33,679 568 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:56:33,679 568 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:56:33,682 571 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:56:33,683 572 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:56:33,688 577 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:56:33,692 581 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:56:33,697 586 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:56:33,700 589 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:56:33,700 589 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:56:33,701 590 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-25 15:56:33,701 590 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-25 15:56:33,701 590 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:56:33,704 593 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:56:33,706 595 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:56:33,706 595 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:56:33,706 595 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:56:33,706 595 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-25 15:56:33,771 660 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-25 15:56:33,772 661 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-25 15:56:33,829 718 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceMapping" : { + "*" : "JVM" + }, + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-25 15:56:33,831 720 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-25 15:56:34,070 959 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,083 972 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,094 983 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,110 999 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,121 1010 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,132 1021 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,149 1038 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,158 1047 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,167 1056 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,175 1064 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,183 1072 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,192 1081 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,194 1083 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:56:34,194 1083 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:56:34,212 1101 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,213 1102 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:56:34,213 1102 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:56:34,223 1112 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,224 1113 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:56:34,224 1113 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:56:34,234 1123 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,238 1127 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:56:34,238 1127 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:56:34,249 1138 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,250 1139 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:56:34,251 1140 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:56:34,260 1149 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,260 1149 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:56:34,261 1150 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:56:34,269 1158 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,270 1159 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:56:34,270 1159 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:56:34,279 1168 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,279 1168 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-25 15:56:34,280 1169 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-25 15:56:34,288 1177 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,289 1178 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-25 15:56:34,289 1178 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-25 15:56:34,298 1187 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,299 1188 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-25 15:56:34,299 1188 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-25 15:56:34,308 1197 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,309 1198 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-25 15:56:34,309 1198 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-25 15:56:34,319 1208 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,322 1211 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:56:34,323 1212 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:56:34,332 1221 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,333 1222 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:56:34,333 1222 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:56:34,342 1231 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,343 1232 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:56:34,343 1232 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:56:34,351 1240 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,352 1241 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:56:34,353 1242 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:56:34,360 1249 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,361 1250 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:56:34,361 1250 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:56:34,368 1257 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,369 1258 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:56:34,369 1258 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:56:34,376 1265 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,378 1267 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:56:34,378 1267 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:56:34,385 1274 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,385 1274 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:56:34,385 1274 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:56:34,392 1281 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,393 1282 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:56:34,393 1282 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:56:34,399 1288 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,400 1289 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:56:34,401 1290 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:56:34,407 1296 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,407 1296 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:56:34,408 1297 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:56:34,413 1302 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,414 1303 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:56:34,414 1303 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:56:34,430 1319 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-25 15:56:34,431 1320 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-25 15:56:34,434 1323 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-25 15:56:34,435 1324 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:56:34,435 1324 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:56:34,435 1324 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:56:34,435 1324 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-25 15:56:34,436 1325 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-25 15:56:34,438 1327 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:58:19,843 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:58:19,861 19 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:58:19,931 89 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-25 15:58:19,936 94 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-25 15:58:19,948 106 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:58:19,948 106 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:58:19,948 106 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:58:19,948 106 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-25 15:58:20,360 518 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:58:20,372 530 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:58:20,372 530 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-25 15:58:20,372 530 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-25 15:58:20,380 538 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:58:20,382 540 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:58:20,382 540 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:58:20,382 540 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:58:20,386 544 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-25 15:58:20,387 545 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:58:20,391 549 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:58:20,395 553 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:58:20,400 558 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:58:20,403 561 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:58:20,403 561 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:58:20,403 561 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-25 15:58:20,404 562 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-25 15:58:20,404 562 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:58:20,406 564 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-25 15:58:20,408 566 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:58:20,408 566 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:58:20,408 566 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:58:20,409 567 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-25 15:58:20,469 627 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-25 15:58:20,469 627 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-25 15:58:20,523 681 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-25 15:58:20,524 682 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-25 15:58:20,747 905 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,759 917 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,769 927 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,783 941 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,793 951 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,803 961 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,818 976 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,827 985 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,835 993 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,844 1002 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,853 1011 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,860 1018 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,862 1020 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:58:20,862 1020 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:58:20,876 1034 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,877 1035 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:58:20,877 1035 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:58:20,885 1043 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,886 1044 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:58:20,886 1044 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:58:20,896 1054 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,900 1058 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:58:20,901 1059 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:58:20,911 1069 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,913 1071 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:58:20,913 1071 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:58:20,921 1079 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,922 1080 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:58:20,922 1080 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:58:20,930 1088 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,931 1089 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:58:20,931 1089 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:58:20,939 1097 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,940 1098 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-25 15:58:20,940 1098 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-25 15:58:20,947 1105 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,948 1106 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-25 15:58:20,948 1106 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-25 15:58:20,957 1115 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,958 1116 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-25 15:58:20,958 1116 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-25 15:58:20,966 1124 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,966 1124 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-25 15:58:20,967 1125 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-25 15:58:20,974 1132 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,977 1135 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:58:20,977 1135 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:58:20,984 1142 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,985 1143 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:58:20,985 1143 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:58:20,991 1149 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:20,992 1150 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:58:20,992 1150 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:58:20,999 1157 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:21,000 1158 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:58:21,000 1158 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:58:21,009 1167 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:21,009 1167 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:58:21,010 1168 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:58:21,017 1175 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:21,017 1175 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:58:21,017 1175 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:58:21,023 1181 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:21,025 1183 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:58:21,025 1183 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:58:21,032 1190 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:21,032 1190 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:58:21,033 1191 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:58:21,042 1200 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:21,043 1201 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:58:21,043 1201 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:58:21,050 1208 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:21,051 1209 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-25 15:58:21,051 1209 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-25 15:58:21,057 1215 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:21,058 1216 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-25 15:58:21,058 1216 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-25 15:58:21,064 1222 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:21,064 1222 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-25 15:58:21,065 1223 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-25 15:58:21,070 1228 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-25 15:58:21,071 1229 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-25 15:58:21,074 1232 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-25 15:58:21,074 1232 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-25 15:58:21,075 1233 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-25 15:58:21,075 1233 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-25 15:58:21,075 1233 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-25 15:58:21,075 1233 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-25 15:58:21,078 1236 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 09:15:36,853 2 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 09:15:36,875 24 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 09:15:36,946 95 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-26 09:15:36,951 100 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-26 09:15:36,962 111 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 09:15:36,962 111 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 09:15:36,963 112 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 09:15:36,963 112 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-26 09:15:37,379 528 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 09:15:37,390 539 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 09:15:37,391 540 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-26 09:15:37,391 540 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-26 09:15:37,399 548 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 09:15:37,401 550 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 09:15:37,401 550 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 09:15:37,401 550 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 09:15:37,404 553 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 09:15:37,405 554 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 09:15:37,410 559 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 09:15:37,414 563 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 09:15:37,419 568 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 09:15:37,423 572 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 09:15:37,423 572 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 09:15:37,423 572 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-26 09:15:37,423 572 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-26 09:15:37,423 572 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 09:15:37,426 575 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 09:15:37,428 577 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 09:15:37,429 578 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 09:15:37,429 578 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 09:15:37,429 578 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-26 09:15:37,497 646 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-26 09:15:37,497 646 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-26 09:15:37,551 700 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-26 09:15:37,552 701 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-26 09:15:37,795 944 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:37,808 957 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:37,820 969 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:37,836 985 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:37,847 996 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:37,858 1007 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:37,876 1025 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:37,886 1035 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:37,895 1044 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:37,904 1053 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:37,912 1061 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:37,920 1069 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:37,922 1071 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 09:15:37,923 1072 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 09:15:37,941 1090 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:37,942 1091 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 09:15:37,942 1091 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 09:15:37,951 1100 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:37,952 1101 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 09:15:37,952 1101 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 09:15:37,962 1111 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:37,965 1114 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 09:15:37,965 1114 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 09:15:37,975 1124 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:37,977 1126 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 09:15:37,977 1126 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 09:15:37,986 1135 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:37,986 1135 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 09:15:37,987 1136 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 09:15:37,995 1144 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:37,995 1144 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 09:15:37,996 1145 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 09:15:38,004 1153 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:38,004 1153 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-26 09:15:38,005 1154 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-26 09:15:38,013 1162 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:38,013 1162 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-26 09:15:38,014 1163 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-26 09:15:38,023 1172 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:38,024 1173 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-26 09:15:38,024 1173 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-26 09:15:38,032 1181 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:38,033 1182 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-26 09:15:38,033 1182 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-26 09:15:38,041 1190 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:38,044 1193 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 09:15:38,045 1194 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 09:15:38,053 1202 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:38,054 1203 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 09:15:38,054 1203 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 09:15:38,061 1210 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:38,062 1211 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 09:15:38,062 1211 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 09:15:38,070 1219 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:38,071 1220 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 09:15:38,071 1220 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 09:15:38,078 1227 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:38,078 1227 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 09:15:38,079 1228 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 09:15:38,086 1235 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:38,086 1235 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 09:15:38,087 1236 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 09:15:38,093 1242 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:38,095 1244 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 09:15:38,096 1245 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 09:15:38,102 1251 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:38,103 1252 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 09:15:38,103 1252 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 09:15:38,110 1259 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:38,111 1260 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 09:15:38,111 1260 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 09:15:38,118 1267 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:38,120 1269 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 09:15:38,120 1269 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 09:15:38,127 1276 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:38,128 1277 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 09:15:38,128 1277 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 09:15:38,135 1284 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:38,136 1285 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 09:15:38,136 1285 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 09:15:38,142 1291 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 09:15:38,143 1292 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-26 09:15:38,146 1295 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-26 09:15:38,147 1296 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 09:15:38,147 1296 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 09:15:38,147 1296 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 09:15:38,147 1296 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-26 09:15:38,148 1297 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-26 09:15:38,151 1300 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 09:24:35,234 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 09:24:35,249 16 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 09:24:35,310 77 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-26 09:24:35,315 82 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for resourceId http://api.caprica.wrml.org +2013-04-26 09:24:35,326 93 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 09:24:35,326 93 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 09:24:35,326 93 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 09:24:35,326 93 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-26 09:24:35,717 484 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 09:24:35,729 496 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 09:24:35,729 496 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-26 09:24:35,729 496 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-26 09:24:35,737 504 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:210) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 09:24:35,739 506 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 09:24:35,739 506 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 09:24:35,739 506 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 09:24:35,742 509 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:191) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 09:24:35,744 511 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 09:24:35,748 515 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 09:24:35,752 519 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 09:24:35,757 524 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 09:24:35,759 526 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 09:24:35,760 527 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 09:24:35,760 527 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-26 09:24:35,760 527 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-26 09:24:35,760 527 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 09:24:35,763 530 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 09:24:35,764 531 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 09:24:35,764 531 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 09:24:35,765 532 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 09:24:35,765 532 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-26 09:24:35,823 590 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-26 09:24:35,823 590 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-26 09:24:35,874 641 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "modelCache" : null, + "apiLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-26 09:24:35,875 642 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-26 09:24:36,088 855 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,099 866 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,110 877 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,124 891 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,134 901 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,144 911 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,159 926 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,167 934 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,175 942 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,184 951 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,191 958 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,198 965 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,200 967 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 09:24:36,200 967 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 09:24:36,214 981 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,215 982 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 09:24:36,215 982 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 09:24:36,223 990 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,224 991 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 09:24:36,224 991 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 09:24:36,232 999 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,234 1001 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 09:24:36,235 1002 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 09:24:36,244 1011 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,245 1012 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 09:24:36,245 1012 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 09:24:36,253 1020 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,254 1021 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 09:24:36,254 1021 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 09:24:36,263 1030 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,263 1030 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 09:24:36,263 1030 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 09:24:36,271 1038 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,272 1039 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-26 09:24:36,272 1039 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-26 09:24:36,280 1047 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,281 1048 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-26 09:24:36,281 1048 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-26 09:24:36,290 1057 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,290 1057 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-26 09:24:36,290 1057 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-26 09:24:36,298 1065 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,298 1065 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-26 09:24:36,299 1066 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-26 09:24:36,306 1073 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,308 1075 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 09:24:36,309 1076 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 09:24:36,315 1082 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,316 1083 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 09:24:36,316 1083 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 09:24:36,323 1090 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,324 1091 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 09:24:36,324 1091 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 09:24:36,330 1097 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,331 1098 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 09:24:36,332 1099 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 09:24:36,338 1105 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,338 1105 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 09:24:36,338 1105 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 09:24:36,344 1111 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,345 1112 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 09:24:36,345 1112 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 09:24:36,351 1118 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,352 1119 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 09:24:36,353 1120 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 09:24:36,359 1126 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,359 1126 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 09:24:36,359 1126 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 09:24:36,365 1132 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,366 1133 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 09:24:36,366 1133 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 09:24:36,372 1139 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,373 1140 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 09:24:36,373 1140 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 09:24:36,379 1146 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,379 1146 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 09:24:36,379 1146 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 09:24:36,385 1152 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,386 1153 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 09:24:36,386 1153 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 09:24:36,391 1158 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ], + "parameters" : [ ] +} +2013-04-26 09:24:36,392 1159 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-26 09:24:36,394 1161 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-26 09:24:36,395 1162 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 09:24:36,395 1162 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 09:24:36,395 1162 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 09:24:36,395 1162 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-26 09:24:36,396 1163 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-26 09:24:36,398 1165 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:33:07,619 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 10:33:07,635 17 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:33:07,697 79 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-26 10:33:07,702 84 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-26 10:33:07,712 94 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 10:33:07,712 94 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 10:33:07,712 94 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 10:33:07,712 94 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-26 10:33:08,173 555 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:33:08,185 567 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:33:08,185 567 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-26 10:33:08,185 567 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-26 10:33:08,193 575 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 10:33:08,195 577 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 10:33:08,195 577 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 10:33:08,195 577 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 10:33:08,198 580 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 10:33:08,200 582 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:33:08,204 586 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:33:08,208 590 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:33:08,213 595 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:33:08,216 598 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 10:33:08,216 598 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 10:33:08,216 598 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-26 10:33:08,216 598 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-26 10:33:08,216 598 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 10:33:08,219 601 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:33:08,221 603 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 10:33:08,221 603 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 10:33:08,221 603 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 10:33:08,221 603 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-26 10:33:08,279 661 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-26 10:33:08,280 662 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-26 10:33:08,330 712 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceMapping" : { + "*" : "JVM" + }, + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-26 10:33:08,332 714 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-26 10:33:08,545 927 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,556 938 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,566 948 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,580 962 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,590 972 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,600 982 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,615 997 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,624 1006 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,632 1014 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,640 1022 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,647 1029 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,654 1036 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,656 1038 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:33:08,656 1038 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:33:08,671 1053 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,672 1054 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:33:08,672 1054 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:33:08,682 1064 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,683 1065 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:33:08,683 1065 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:33:08,692 1074 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,695 1077 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:33:08,695 1077 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:33:08,704 1086 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,705 1087 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:33:08,705 1087 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:33:08,713 1095 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,714 1096 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:33:08,714 1096 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:33:08,721 1103 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,722 1104 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:33:08,722 1104 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:33:08,729 1111 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,730 1112 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-26 10:33:08,730 1112 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-26 10:33:08,737 1119 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,738 1120 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-26 10:33:08,738 1120 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-26 10:33:08,746 1128 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,747 1129 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-26 10:33:08,747 1129 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-26 10:33:08,755 1137 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,755 1137 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-26 10:33:08,755 1137 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-26 10:33:08,763 1145 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,765 1147 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:33:08,766 1148 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:33:08,773 1155 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,774 1156 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:33:08,775 1157 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:33:08,783 1165 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,783 1165 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:33:08,784 1166 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:33:08,790 1172 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,791 1173 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:33:08,792 1174 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:33:08,798 1180 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,798 1180 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:33:08,799 1181 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:33:08,805 1187 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,805 1187 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:33:08,806 1188 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:33:08,811 1193 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,813 1195 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:33:08,813 1195 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:33:08,819 1201 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,820 1202 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:33:08,820 1202 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:33:08,826 1208 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,826 1208 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:33:08,826 1208 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:33:08,832 1214 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,833 1215 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:33:08,833 1215 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:33:08,839 1221 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,839 1221 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:33:08,839 1221 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:33:08,844 1226 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,845 1227 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:33:08,845 1227 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:33:08,850 1232 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-26 10:33:08,851 1233 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-26 10:33:08,853 1235 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-26 10:33:08,854 1236 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 10:33:08,854 1236 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 10:33:08,854 1236 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 10:33:08,854 1236 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-26 10:33:08,855 1237 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-26 10:33:08,857 1239 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:33:57,482 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 10:33:57,498 17 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:33:57,556 75 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-26 10:33:57,561 80 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-26 10:33:57,570 89 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 10:33:57,570 89 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 10:33:57,570 89 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 10:33:57,571 90 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-26 10:33:57,946 465 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:33:57,957 476 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:33:57,957 476 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-26 10:33:57,957 476 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-26 10:33:57,965 484 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 10:33:57,967 486 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 10:33:57,967 486 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 10:33:57,967 486 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 10:33:57,970 489 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 10:33:57,971 490 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:33:57,976 495 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:33:57,979 498 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:33:57,984 503 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:33:57,986 505 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 10:33:57,987 506 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 10:33:57,987 506 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-26 10:33:57,987 506 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-26 10:33:57,987 506 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 10:33:57,990 509 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:33:57,991 510 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 10:33:57,992 511 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 10:33:57,992 511 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 10:33:57,992 511 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-26 10:33:58,050 569 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-26 10:33:58,050 569 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-26 10:33:58,101 620 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "modelBuilder" : null, + "modelCache" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceMapping" : { + "*" : "JVM" + }, + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-26 10:33:58,103 622 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-26 10:33:58,315 834 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,327 846 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,337 856 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,351 870 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,361 880 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,370 889 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,385 904 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,393 912 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,402 921 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,410 929 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,417 936 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,424 943 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,426 945 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:33:58,426 945 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:33:58,440 959 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,441 960 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:33:58,441 960 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:33:58,449 968 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,450 969 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:33:58,450 969 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:33:58,458 977 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,460 979 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:33:58,461 980 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:33:58,470 989 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,471 990 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:33:58,471 990 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:33:58,479 998 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,479 998 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:33:58,480 999 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:33:58,487 1006 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,488 1007 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:33:58,488 1007 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:33:58,496 1015 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,496 1015 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-26 10:33:58,496 1015 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-26 10:33:58,504 1023 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,504 1023 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-26 10:33:58,504 1023 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-26 10:33:58,512 1031 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,513 1032 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-26 10:33:58,513 1032 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-26 10:33:58,520 1039 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,521 1040 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-26 10:33:58,521 1040 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-26 10:33:58,527 1046 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,530 1049 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:33:58,530 1049 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:33:58,537 1056 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,538 1057 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:33:58,538 1057 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:33:58,544 1063 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,545 1064 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:33:58,545 1064 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:33:58,552 1071 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,553 1072 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:33:58,553 1072 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:33:58,559 1078 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,560 1079 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:33:58,560 1079 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:33:58,566 1085 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,567 1086 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:33:58,567 1086 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:33:58,573 1092 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,575 1094 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:33:58,575 1094 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:33:58,581 1100 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,581 1100 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:33:58,581 1100 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:33:58,587 1106 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,588 1107 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:33:58,588 1107 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:33:58,598 1117 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,600 1119 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:33:58,600 1119 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:33:58,606 1125 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,606 1125 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:33:58,607 1126 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:33:58,612 1131 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,612 1131 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:33:58,613 1132 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:33:58,618 1137 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 10:33:58,618 1137 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-26 10:33:58,621 1140 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-26 10:33:58,622 1141 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 10:33:58,622 1141 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 10:33:58,622 1141 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 10:33:58,622 1141 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-26 10:33:58,622 1141 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-26 10:33:58,625 1144 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:42:30,779 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 10:42:30,795 17 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:42:30,854 76 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-26 10:42:30,859 81 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-26 10:42:30,868 90 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 10:42:30,869 91 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 10:42:30,869 91 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 10:42:30,869 91 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-26 10:42:31,246 468 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:42:31,257 479 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:42:31,257 479 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-26 10:42:31,258 480 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-26 10:42:31,265 487 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 10:42:31,267 489 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 10:42:31,267 489 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 10:42:31,267 489 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 10:42:31,271 493 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 10:42:31,272 494 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:42:31,276 498 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:42:31,280 502 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:42:31,284 506 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:42:31,287 509 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 10:42:31,287 509 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 10:42:31,287 509 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-26 10:42:31,288 510 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-26 10:42:31,288 510 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 10:42:31,290 512 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:42:31,292 514 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 10:42:31,292 514 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 10:42:31,292 514 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 10:42:31,293 515 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-26 10:42:31,352 574 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-26 10:42:31,352 574 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-26 10:42:31,403 625 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-26 10:42:31,404 626 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-26 10:42:31,618 840 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,629 851 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,639 861 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,653 875 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,663 885 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,673 895 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,687 909 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,696 918 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,704 926 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,712 934 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,719 941 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,726 948 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,728 950 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:42:31,729 951 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:42:31,743 965 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,743 965 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:42:31,744 966 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:42:31,751 973 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,752 974 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:42:31,752 974 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:42:31,760 982 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,762 984 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:42:31,763 985 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:42:31,771 993 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,773 995 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:42:31,773 995 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:42:31,780 1002 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,781 1003 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:42:31,781 1003 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:42:31,788 1010 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,789 1011 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:42:31,789 1011 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:42:31,796 1018 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,797 1019 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-26 10:42:31,797 1019 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-26 10:42:31,804 1026 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,805 1027 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-26 10:42:31,805 1027 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-26 10:42:31,813 1035 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,813 1035 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-26 10:42:31,814 1036 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-26 10:42:31,821 1043 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,821 1043 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-26 10:42:31,821 1043 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-26 10:42:31,828 1050 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,830 1052 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:42:31,831 1053 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:42:31,837 1059 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,838 1060 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:42:31,838 1060 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:42:31,845 1067 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,845 1067 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:42:31,846 1068 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:42:31,852 1074 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,853 1075 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:42:31,854 1076 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:42:31,860 1082 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,860 1082 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:42:31,860 1082 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:42:31,867 1089 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,867 1089 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:42:31,867 1089 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:42:31,873 1095 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,875 1097 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:42:31,875 1097 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:42:31,881 1103 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,881 1103 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:42:31,881 1103 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:42:31,887 1109 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,888 1110 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:42:31,888 1110 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:42:31,894 1116 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,895 1117 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:42:31,895 1117 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:42:31,901 1123 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,901 1123 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:42:31,901 1123 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:42:31,907 1129 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,908 1130 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:42:31,908 1130 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:42:31,913 1135 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-26 10:42:31,914 1136 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-26 10:42:31,916 1138 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-26 10:42:31,917 1139 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 10:42:31,917 1139 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 10:42:31,917 1139 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 10:42:31,917 1139 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-26 10:42:31,918 1140 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-26 10:42:31,920 1142 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:52:05,120 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 10:52:05,136 17 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:52:05,197 78 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-26 10:52:05,202 83 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-26 10:52:05,211 92 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 10:52:05,211 92 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 10:52:05,211 92 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 10:52:05,212 93 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-26 10:52:05,621 502 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:52:05,632 513 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:52:05,633 514 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-26 10:52:05,633 514 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-26 10:52:05,640 521 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 10:52:05,642 523 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 10:52:05,643 524 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 10:52:05,643 524 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 10:52:05,646 527 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 10:52:05,647 528 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:52:05,652 533 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:52:05,655 536 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:52:05,659 540 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:52:05,662 543 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 10:52:05,662 543 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 10:52:05,662 543 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-26 10:52:05,663 544 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-26 10:52:05,663 544 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 10:52:05,665 546 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 10:52:05,667 548 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 10:52:05,667 548 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 10:52:05,667 548 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 10:52:05,667 548 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-26 10:52:05,727 608 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-26 10:52:05,727 608 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-26 10:52:05,778 659 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-26 10:52:05,780 661 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-26 10:52:05,993 874 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,004 885 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,015 896 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,029 910 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,039 920 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,048 929 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,064 945 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,072 953 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,080 961 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,089 970 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,096 977 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,103 984 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,104 985 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:52:06,105 986 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:52:06,119 1000 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,120 1001 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:52:06,120 1001 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:52:06,127 1008 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,128 1009 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:52:06,128 1009 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:52:06,136 1017 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,139 1020 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:52:06,139 1020 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:52:06,148 1029 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,149 1030 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:52:06,149 1030 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:52:06,157 1038 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,157 1038 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:52:06,157 1038 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:52:06,165 1046 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,165 1046 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:52:06,166 1047 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:52:06,173 1054 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,174 1055 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-26 10:52:06,174 1055 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-26 10:52:06,181 1062 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,181 1062 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-26 10:52:06,182 1063 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-26 10:52:06,190 1071 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,190 1071 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-26 10:52:06,190 1071 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-26 10:52:06,197 1078 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,198 1079 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-26 10:52:06,198 1079 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-26 10:52:06,204 1085 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,207 1088 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:52:06,207 1088 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:52:06,214 1095 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,215 1096 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:52:06,215 1096 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:52:06,221 1102 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,222 1103 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:52:06,222 1103 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:52:06,229 1110 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,230 1111 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:52:06,230 1111 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:52:06,236 1117 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,236 1117 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:52:06,237 1118 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:52:06,243 1124 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,243 1124 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:52:06,244 1125 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:52:06,249 1130 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,251 1132 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:52:06,251 1132 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:52:06,257 1138 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,258 1139 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:52:06,258 1139 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:52:06,264 1145 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,265 1146 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:52:06,265 1146 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:52:06,271 1152 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,272 1153 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 10:52:06,273 1154 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 10:52:06,279 1160 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,279 1160 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 10:52:06,279 1160 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 10:52:06,285 1166 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,286 1167 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 10:52:06,286 1167 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 10:52:06,291 1172 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 10:52:06,292 1173 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-26 10:52:06,294 1175 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-26 10:52:06,295 1176 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 10:52:06,295 1176 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 10:52:06,296 1177 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 10:52:06,296 1177 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-26 10:52:06,296 1177 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-26 10:52:06,299 1180 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 11:39:18,717 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 11:39:18,736 20 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 11:39:18,802 86 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-26 11:39:18,807 91 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-26 11:39:18,816 100 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 11:39:18,817 101 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 11:39:18,817 101 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 11:39:18,817 101 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-26 11:39:19,249 533 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 11:39:19,260 544 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 11:39:19,261 545 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-26 11:39:19,261 545 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-26 11:39:19,269 553 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 11:39:19,271 555 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 11:39:19,271 555 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 11:39:19,271 555 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 11:39:19,274 558 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 11:39:19,275 559 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 11:39:19,280 564 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 11:39:19,283 567 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 11:39:19,288 572 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 11:39:19,291 575 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 11:39:19,291 575 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 11:39:19,291 575 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-26 11:39:19,291 575 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-26 11:39:19,291 575 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 11:39:19,294 578 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 11:39:19,296 580 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 11:39:19,296 580 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 11:39:19,296 580 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 11:39:19,296 580 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-26 11:39:19,359 643 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-26 11:39:19,360 644 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-26 11:39:19,411 695 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-26 11:39:19,413 697 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-26 11:39:19,628 912 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,640 924 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,650 934 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,664 948 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,674 958 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,684 968 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,699 983 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,707 991 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,716 1000 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,724 1008 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,731 1015 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,738 1022 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,740 1024 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 11:39:19,740 1024 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 11:39:19,754 1038 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,755 1039 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 11:39:19,755 1039 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 11:39:19,763 1047 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,763 1047 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 11:39:19,763 1047 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 11:39:19,771 1055 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,774 1058 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 11:39:19,774 1058 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 11:39:19,783 1067 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,784 1068 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 11:39:19,784 1068 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 11:39:19,792 1076 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,793 1077 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 11:39:19,793 1077 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 11:39:19,800 1084 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,801 1085 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 11:39:19,801 1085 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 11:39:19,808 1092 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,809 1093 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-26 11:39:19,809 1093 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-26 11:39:19,816 1100 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,817 1101 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-26 11:39:19,817 1101 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-26 11:39:19,825 1109 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,826 1110 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-26 11:39:19,826 1110 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-26 11:39:19,833 1117 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,834 1118 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-26 11:39:19,834 1118 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-26 11:39:19,840 1124 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,843 1127 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 11:39:19,843 1127 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 11:39:19,849 1133 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,850 1134 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 11:39:19,851 1135 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 11:39:19,857 1141 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,858 1142 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 11:39:19,858 1142 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 11:39:19,864 1148 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,866 1150 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 11:39:19,866 1150 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 11:39:19,872 1156 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,872 1156 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 11:39:19,872 1156 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 11:39:19,879 1163 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,879 1163 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 11:39:19,879 1163 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 11:39:19,885 1169 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,887 1171 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 11:39:19,887 1171 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 11:39:19,893 1177 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,893 1177 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 11:39:19,894 1178 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 11:39:19,899 1183 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,900 1184 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 11:39:19,900 1184 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 11:39:19,906 1190 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,907 1191 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 11:39:19,908 1192 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 11:39:19,913 1197 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,914 1198 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 11:39:19,914 1198 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 11:39:19,920 1204 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,920 1204 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 11:39:19,921 1205 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 11:39:19,926 1210 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-26 11:39:19,927 1211 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-26 11:39:19,929 1213 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-26 11:39:19,930 1214 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 11:39:19,930 1214 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 11:39:19,930 1214 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 11:39:19,930 1214 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-26 11:39:19,931 1215 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-26 11:39:19,933 1217 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 14:29:54,431 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 14:29:54,448 18 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 14:29:54,507 77 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-26 14:29:54,513 83 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-26 14:29:54,523 93 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 14:29:54,523 93 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 14:29:54,523 93 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 14:29:54,523 93 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-26 14:29:54,961 531 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 14:29:54,973 543 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 14:29:54,973 543 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-26 14:29:54,973 543 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-26 14:29:54,981 551 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 14:29:54,983 553 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 14:29:54,983 553 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 14:29:54,983 553 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 14:29:54,986 556 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 14:29:54,988 558 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 14:29:54,992 562 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 14:29:54,996 566 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 14:29:55,000 570 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 14:29:55,003 573 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 14:29:55,003 573 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 14:29:55,003 573 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-26 14:29:55,004 574 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-26 14:29:55,004 574 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 14:29:55,006 576 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 14:29:55,008 578 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 14:29:55,008 578 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 14:29:55,008 578 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 14:29:55,008 578 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-26 14:29:55,068 638 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-26 14:29:55,068 638 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-26 14:29:55,120 690 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceMapping" : { + "*" : "JVM" + }, + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-26 14:29:55,122 692 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-26 14:29:55,338 908 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,350 920 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,360 930 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,374 944 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,385 955 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,394 964 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,409 979 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,419 989 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,430 1000 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,438 1008 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,445 1015 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,452 1022 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,454 1024 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 14:29:55,455 1025 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 14:29:55,469 1039 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,470 1040 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 14:29:55,470 1040 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 14:29:55,478 1048 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,479 1049 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 14:29:55,479 1049 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 14:29:55,487 1057 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,490 1060 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 14:29:55,490 1060 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 14:29:55,499 1069 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,501 1071 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 14:29:55,501 1071 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 14:29:55,509 1079 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,509 1079 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 14:29:55,509 1079 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 14:29:55,517 1087 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,518 1088 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 14:29:55,518 1088 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 14:29:55,530 1100 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,531 1101 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-26 14:29:55,531 1101 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-26 14:29:55,541 1111 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,542 1112 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-26 14:29:55,542 1112 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-26 14:29:55,550 1120 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,551 1121 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-26 14:29:55,551 1121 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-26 14:29:55,558 1128 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,558 1128 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-26 14:29:55,559 1129 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-26 14:29:55,566 1136 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,568 1138 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 14:29:55,569 1139 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 14:29:55,575 1145 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,576 1146 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 14:29:55,576 1146 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 14:29:55,582 1152 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,583 1153 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 14:29:55,583 1153 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 14:29:55,589 1159 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,590 1160 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 14:29:55,590 1160 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 14:29:55,596 1166 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,597 1167 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 14:29:55,597 1167 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 14:29:55,603 1173 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,604 1174 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 14:29:55,604 1174 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 14:29:55,610 1180 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,611 1181 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 14:29:55,612 1182 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 14:29:55,617 1187 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,618 1188 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 14:29:55,618 1188 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 14:29:55,624 1194 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,625 1195 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 14:29:55,625 1195 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 14:29:55,631 1201 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,632 1202 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 14:29:55,632 1202 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 14:29:55,638 1208 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,639 1209 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 14:29:55,639 1209 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 14:29:55,644 1214 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,645 1215 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 14:29:55,645 1215 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 14:29:55,650 1220 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-26 14:29:55,651 1221 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-26 14:29:55,653 1223 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-26 14:29:55,654 1224 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 14:29:55,654 1224 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 14:29:55,654 1224 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 14:29:55,655 1225 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-26 14:29:55,655 1225 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-26 14:29:55,657 1227 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 15:26:47,858 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 15:26:47,878 21 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 15:26:47,942 85 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-26 15:26:47,947 90 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-26 15:26:47,957 100 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 15:26:47,957 100 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 15:26:47,957 100 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 15:26:47,957 100 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-26 15:26:48,346 489 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 15:26:48,357 500 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 15:26:48,357 500 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-26 15:26:48,358 501 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-26 15:26:48,365 508 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 15:26:48,367 510 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 15:26:48,367 510 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 15:26:48,367 510 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 15:26:48,371 514 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-26 15:26:48,372 515 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 15:26:48,377 520 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 15:26:48,380 523 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 15:26:48,385 528 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 15:26:48,388 531 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 15:26:48,388 531 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 15:26:48,388 531 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-26 15:26:48,389 532 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-26 15:26:48,389 532 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 15:26:48,392 535 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-26 15:26:48,394 537 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 15:26:48,394 537 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 15:26:48,394 537 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 15:26:48,394 537 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-26 15:26:48,462 605 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-26 15:26:48,462 605 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-26 15:26:48,521 664 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-26 15:26:48,523 666 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-26 15:26:48,765 908 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:48,777 920 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:48,789 932 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:48,805 948 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:48,816 959 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:48,827 970 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:48,845 988 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:48,857 1000 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:48,866 1009 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:48,875 1018 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:48,883 1026 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:48,891 1034 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:48,892 1035 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 15:26:48,893 1036 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 15:26:48,913 1056 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:48,914 1057 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 15:26:48,914 1057 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 15:26:48,924 1067 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:48,925 1068 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 15:26:48,925 1068 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 15:26:48,935 1078 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:48,938 1081 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 15:26:48,938 1081 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 15:26:48,949 1092 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:48,951 1094 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 15:26:48,951 1094 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 15:26:48,960 1103 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:48,960 1103 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 15:26:48,961 1104 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 15:26:48,970 1113 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:48,970 1113 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 15:26:48,970 1113 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 15:26:48,979 1122 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:48,980 1123 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-26 15:26:48,980 1123 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-26 15:26:48,988 1131 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:48,988 1131 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-26 15:26:48,989 1132 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-26 15:26:48,999 1142 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:49,000 1143 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-26 15:26:49,001 1144 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-26 15:26:49,009 1152 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:49,010 1153 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-26 15:26:49,010 1153 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-26 15:26:49,017 1160 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:49,020 1163 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 15:26:49,020 1163 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 15:26:49,027 1170 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:49,028 1171 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 15:26:49,028 1171 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 15:26:49,036 1179 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:49,037 1180 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 15:26:49,037 1180 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 15:26:49,045 1188 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:49,046 1189 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 15:26:49,047 1190 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 15:26:49,054 1197 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:49,055 1198 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 15:26:49,055 1198 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 15:26:49,063 1206 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:49,063 1206 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 15:26:49,064 1207 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 15:26:49,071 1214 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:49,073 1216 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 15:26:49,073 1216 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 15:26:49,081 1224 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:49,081 1224 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 15:26:49,081 1224 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 15:26:49,089 1232 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:49,090 1233 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 15:26:49,090 1233 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 15:26:49,096 1239 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:49,098 1241 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-26 15:26:49,098 1241 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-26 15:26:49,106 1249 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:49,106 1249 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-26 15:26:49,106 1249 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-26 15:26:49,112 1255 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:49,113 1256 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-26 15:26:49,113 1256 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-26 15:26:49,119 1262 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-26 15:26:49,119 1262 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-26 15:26:49,122 1265 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-26 15:26:49,123 1266 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-26 15:26:49,123 1266 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-26 15:26:49,123 1266 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-26 15:26:49,124 1267 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-26 15:26:49,124 1267 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-26 15:26:49,127 1270 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 08:55:03,165 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 08:55:03,182 18 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 08:55:03,247 83 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 08:55:03,253 89 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 08:55:03,263 99 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 08:55:03,263 99 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 08:55:03,263 99 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 08:55:03,264 100 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-27 08:55:03,679 515 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 08:55:03,691 527 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 08:55:03,691 527 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-27 08:55:03,691 527 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-27 08:55:03,698 534 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 08:55:03,700 536 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 08:55:03,700 536 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 08:55:03,701 537 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 08:55:03,704 540 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 08:55:03,705 541 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 08:55:03,709 545 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 08:55:03,713 549 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 08:55:03,717 553 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 08:55:03,720 556 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 08:55:03,720 556 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 08:55:03,720 556 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-27 08:55:03,720 556 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-27 08:55:03,720 556 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 08:55:03,723 559 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 08:55:03,725 561 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 08:55:03,725 561 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 08:55:03,725 561 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 08:55:03,725 561 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-27 08:55:03,783 619 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-27 08:55:03,783 619 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-27 08:55:03,834 670 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-27 08:55:03,835 671 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-27 08:55:04,051 887 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,063 899 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,073 909 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,087 923 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,097 933 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,107 943 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,122 958 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,130 966 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,138 974 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,146 982 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,154 990 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,161 997 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,162 998 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 08:55:04,163 999 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 08:55:04,177 1013 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,177 1013 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 08:55:04,178 1014 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 08:55:04,185 1021 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,186 1022 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 08:55:04,186 1022 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 08:55:04,194 1030 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,197 1033 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 08:55:04,197 1033 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 08:55:04,206 1042 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,208 1044 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 08:55:04,208 1044 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 08:55:04,216 1052 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,216 1052 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 08:55:04,216 1052 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 08:55:04,224 1060 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,225 1061 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 08:55:04,225 1061 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 08:55:04,233 1069 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,233 1069 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 08:55:04,234 1070 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 08:55:04,241 1077 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,242 1078 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 08:55:04,242 1078 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 08:55:04,250 1086 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,251 1087 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 08:55:04,251 1087 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 08:55:04,258 1094 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,259 1095 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 08:55:04,259 1095 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 08:55:04,266 1102 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,268 1104 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 08:55:04,269 1105 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 08:55:04,275 1111 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,276 1112 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 08:55:04,277 1113 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 08:55:04,283 1119 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,284 1120 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 08:55:04,284 1120 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 08:55:04,291 1127 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,292 1128 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 08:55:04,292 1128 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 08:55:04,298 1134 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,299 1135 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 08:55:04,299 1135 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 08:55:04,306 1142 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,306 1142 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 08:55:04,306 1142 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 08:55:04,312 1148 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,314 1150 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 08:55:04,314 1150 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 08:55:04,320 1156 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,321 1157 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 08:55:04,321 1157 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 08:55:04,327 1163 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,328 1164 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 08:55:04,328 1164 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 08:55:04,334 1170 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,335 1171 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 08:55:04,336 1172 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 08:55:04,341 1177 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,342 1178 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 08:55:04,342 1178 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 08:55:04,348 1184 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,349 1185 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 08:55:04,349 1185 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 08:55:04,354 1190 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "parameters" : [ ], + "locale" : null +} +2013-04-27 08:55:04,355 1191 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-27 08:55:04,357 1193 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-27 08:55:04,358 1194 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 08:55:04,358 1194 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 08:55:04,359 1195 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 08:55:04,359 1195 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-27 08:55:04,359 1195 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-27 08:55:04,362 1198 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 09:32:40,144 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 09:32:40,161 18 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 09:32:40,219 76 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 09:32:40,224 81 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 09:32:40,234 91 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 09:32:40,235 92 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 09:32:40,235 92 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 09:32:40,235 92 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-27 09:32:40,623 480 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 09:32:40,635 492 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 09:32:40,635 492 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-27 09:32:40,635 492 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-27 09:32:40,643 500 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 09:32:40,645 502 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 09:32:40,645 502 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 09:32:40,645 502 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 09:32:40,648 505 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 09:32:40,649 506 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 09:32:40,654 511 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 09:32:40,657 514 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 09:32:40,662 519 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 09:32:40,665 522 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 09:32:40,665 522 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 09:32:40,665 522 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-27 09:32:40,665 522 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-27 09:32:40,665 522 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 09:32:40,668 525 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 09:32:40,670 527 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 09:32:40,670 527 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 09:32:40,670 527 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 09:32:40,670 527 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-27 09:32:40,728 585 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-27 09:32:40,728 585 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-27 09:32:40,781 638 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-27 09:32:40,782 639 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-27 09:32:40,995 852 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,006 863 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,017 874 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,030 887 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,041 898 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,050 907 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,065 922 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,074 931 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,082 939 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,090 947 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,097 954 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,104 961 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,106 963 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 09:32:41,106 963 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 09:32:41,121 978 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,121 978 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 09:32:41,121 978 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 09:32:41,129 986 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,130 987 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 09:32:41,130 987 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 09:32:41,138 995 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,140 997 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 09:32:41,141 998 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 09:32:41,149 1006 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,151 1008 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 09:32:41,151 1008 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 09:32:41,158 1015 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,159 1016 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 09:32:41,159 1016 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 09:32:41,167 1024 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,167 1024 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 09:32:41,167 1024 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 09:32:41,175 1032 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,175 1032 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 09:32:41,176 1033 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 09:32:41,183 1040 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,183 1040 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 09:32:41,184 1041 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 09:32:41,191 1048 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,192 1049 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 09:32:41,192 1049 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 09:32:41,199 1056 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,200 1057 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 09:32:41,200 1057 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 09:32:41,206 1063 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,209 1066 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 09:32:41,209 1066 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 09:32:41,215 1072 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,216 1073 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 09:32:41,216 1073 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 09:32:41,223 1080 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,224 1081 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 09:32:41,224 1081 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 09:32:41,230 1087 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,231 1088 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 09:32:41,232 1089 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 09:32:41,237 1094 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,238 1095 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 09:32:41,238 1095 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 09:32:41,244 1101 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,245 1102 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 09:32:41,245 1102 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 09:32:41,251 1108 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,252 1109 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 09:32:41,253 1110 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 09:32:41,258 1115 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,259 1116 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 09:32:41,259 1116 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 09:32:41,265 1122 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,266 1123 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 09:32:41,266 1123 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 09:32:41,271 1128 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,273 1130 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 09:32:41,273 1130 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 09:32:41,278 1135 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,279 1136 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 09:32:41,279 1136 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 09:32:41,285 1142 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,285 1142 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 09:32:41,285 1142 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 09:32:41,291 1148 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "referrerUri" : null, + "excludedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 09:32:41,291 1148 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-27 09:32:41,294 1151 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-27 09:32:41,295 1152 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 09:32:41,295 1152 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 09:32:41,295 1152 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 09:32:41,295 1152 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-27 09:32:41,295 1152 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-27 09:32:41,298 1155 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 09:41:13,277 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 09:41:13,293 17 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 09:41:13,354 78 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 09:41:13,360 84 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 09:41:13,369 93 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 09:41:13,370 94 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 09:41:13,370 94 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 09:41:13,370 94 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-27 09:41:13,743 467 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 09:41:13,755 479 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 09:41:13,755 479 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-27 09:41:13,755 479 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-27 09:41:13,763 487 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 09:41:13,765 489 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 09:41:13,765 489 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 09:41:13,765 489 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 09:41:13,768 492 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 09:41:13,769 493 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 09:41:13,774 498 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 09:41:13,777 501 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 09:41:13,782 506 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 09:41:13,784 508 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 09:41:13,785 509 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 09:41:13,785 509 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-27 09:41:13,785 509 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-27 09:41:13,785 509 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 09:41:13,788 512 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 09:41:13,789 513 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 09:41:13,790 514 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 09:41:13,790 514 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 09:41:13,790 514 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-27 09:41:13,848 572 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-27 09:41:13,848 572 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-27 09:41:13,899 623 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceMapping" : { + "*" : "JVM" + }, + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "formatLoader" : null, + "apiLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-27 09:41:13,900 624 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-27 09:41:14,115 839 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,126 850 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,136 860 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,150 874 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,160 884 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,169 893 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,184 908 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,193 917 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,201 925 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,209 933 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,216 940 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,223 947 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,225 949 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 09:41:14,225 949 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 09:41:14,240 964 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,240 964 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 09:41:14,240 964 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 09:41:14,248 972 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,249 973 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 09:41:14,249 973 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 09:41:14,257 981 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,259 983 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 09:41:14,260 984 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 09:41:14,268 992 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,270 994 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 09:41:14,270 994 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 09:41:14,277 1001 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,278 1002 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 09:41:14,278 1002 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 09:41:14,286 1010 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,286 1010 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 09:41:14,286 1010 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 09:41:14,294 1018 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,294 1018 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 09:41:14,294 1018 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 09:41:14,302 1026 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,302 1026 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 09:41:14,302 1026 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 09:41:14,310 1034 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,311 1035 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 09:41:14,311 1035 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 09:41:14,318 1042 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,319 1043 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 09:41:14,319 1043 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 09:41:14,326 1050 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,328 1052 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 09:41:14,329 1053 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 09:41:14,335 1059 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,336 1060 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 09:41:14,336 1060 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 09:41:14,342 1066 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,343 1067 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 09:41:14,343 1067 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 09:41:14,350 1074 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,351 1075 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 09:41:14,351 1075 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 09:41:14,357 1081 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,358 1082 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 09:41:14,358 1082 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 09:41:14,364 1088 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,365 1089 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 09:41:14,365 1089 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 09:41:14,370 1094 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,372 1096 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 09:41:14,372 1096 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 09:41:14,378 1102 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,378 1102 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 09:41:14,379 1103 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 09:41:14,384 1108 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,385 1109 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 09:41:14,385 1109 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 09:41:14,391 1115 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,392 1116 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 09:41:14,392 1116 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 09:41:14,398 1122 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,398 1122 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 09:41:14,399 1123 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 09:41:14,404 1128 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,405 1129 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 09:41:14,405 1129 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 09:41:14,410 1134 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 09:41:14,411 1135 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-27 09:41:14,413 1137 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-27 09:41:14,414 1138 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 09:41:14,414 1138 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 09:41:14,414 1138 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 09:41:14,415 1139 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-27 09:41:14,415 1139 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-27 09:41:14,417 1141 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 11:47:56,465 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 11:47:56,484 20 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 11:47:56,544 80 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 11:47:56,550 86 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 11:47:56,563 99 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 11:47:56,563 99 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 11:47:56,564 100 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 11:47:56,564 100 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-27 11:47:56,969 505 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 11:47:56,981 517 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 11:47:56,981 517 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-27 11:47:56,982 518 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-27 11:47:56,989 525 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 11:47:56,991 527 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 11:47:56,991 527 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 11:47:56,991 527 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 11:47:56,995 531 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 11:47:56,996 532 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 11:47:57,000 536 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 11:47:57,004 540 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 11:47:57,009 545 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 11:47:57,012 548 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 11:47:57,012 548 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 11:47:57,012 548 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-27 11:47:57,012 548 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-27 11:47:57,012 548 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 11:47:57,015 551 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 11:47:57,016 552 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 11:47:57,017 553 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 11:47:57,017 553 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 11:47:57,017 553 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-27 11:47:57,076 612 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-27 11:47:57,076 612 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-27 11:47:57,127 663 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "apiLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceMapping" : { + "*" : "JVM" + }, + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-27 11:47:57,129 665 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-27 11:47:57,343 879 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,355 891 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,365 901 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,379 915 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,389 925 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,398 934 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,413 949 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,422 958 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,430 966 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,438 974 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,445 981 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,453 989 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,454 990 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 11:47:57,455 991 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 11:47:57,469 1005 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,470 1006 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 11:47:57,470 1006 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 11:47:57,477 1013 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,478 1014 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 11:47:57,478 1014 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 11:47:57,487 1023 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,490 1026 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 11:47:57,491 1027 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 11:47:57,502 1038 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,503 1039 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 11:47:57,503 1039 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 11:47:57,513 1049 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,513 1049 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 11:47:57,514 1050 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 11:47:57,522 1058 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,523 1059 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 11:47:57,523 1059 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 11:47:57,532 1068 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,532 1068 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 11:47:57,533 1069 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 11:47:57,541 1077 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,541 1077 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 11:47:57,542 1078 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 11:47:57,550 1086 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,551 1087 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 11:47:57,551 1087 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 11:47:57,559 1095 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,560 1096 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 11:47:57,560 1096 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 11:47:57,567 1103 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,570 1106 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 11:47:57,570 1106 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 11:47:57,577 1113 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,578 1114 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 11:47:57,578 1114 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 11:47:57,585 1121 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,586 1122 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 11:47:57,586 1122 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 11:47:57,593 1129 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,594 1130 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 11:47:57,594 1130 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 11:47:57,601 1137 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,601 1137 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 11:47:57,602 1138 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 11:47:57,608 1144 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,609 1145 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 11:47:57,609 1145 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 11:47:57,615 1151 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,617 1153 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 11:47:57,617 1153 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 11:47:57,624 1160 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,624 1160 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 11:47:57,625 1161 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 11:47:57,631 1167 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,632 1168 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 11:47:57,632 1168 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 11:47:57,639 1175 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,640 1176 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 11:47:57,640 1176 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 11:47:57,646 1182 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,646 1182 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 11:47:57,646 1182 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 11:47:57,652 1188 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,652 1188 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 11:47:57,653 1189 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 11:47:57,658 1194 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 11:47:57,659 1195 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-27 11:47:57,661 1197 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-27 11:47:57,662 1198 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 11:47:57,662 1198 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 11:47:57,663 1199 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 11:47:57,663 1199 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-27 11:47:57,663 1199 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-27 11:47:57,666 1202 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 11:49:07,361 0 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 11:49:07,377 16 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 11:49:07,436 75 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 11:49:07,442 81 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 11:49:07,451 90 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 11:49:07,451 90 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 11:49:07,451 90 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 11:49:07,452 91 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-27 11:49:07,863 502 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 11:49:07,875 514 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 11:49:07,875 514 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-27 11:49:07,875 514 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-27 11:49:07,883 522 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 11:49:07,885 524 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 11:49:07,885 524 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 11:49:07,885 524 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 11:49:07,888 527 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 11:49:07,889 528 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 11:49:07,894 533 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 11:49:07,897 536 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 11:49:07,902 541 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 11:49:07,904 543 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 11:49:07,904 543 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 11:49:07,905 544 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-27 11:49:07,905 544 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-27 11:49:07,905 544 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 11:49:07,907 546 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 11:49:07,909 548 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 11:49:07,909 548 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 11:49:07,909 548 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 11:49:07,910 549 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-27 11:49:07,969 608 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-27 11:49:07,969 608 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-27 11:49:08,019 658 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceMapping" : { + "*" : "JVM" + }, + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-27 11:49:08,021 660 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-27 11:49:08,236 875 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,247 886 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,257 896 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,271 910 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,280 919 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,290 929 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,305 944 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,313 952 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,321 960 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,329 968 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,336 975 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,344 983 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,345 984 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 11:49:08,346 985 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 11:49:08,360 999 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,360 999 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 11:49:08,361 1000 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 11:49:08,368 1007 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,369 1008 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 11:49:08,369 1008 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 11:49:08,377 1016 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,380 1019 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 11:49:08,380 1019 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 11:49:08,389 1028 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,390 1029 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 11:49:08,391 1030 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 11:49:08,399 1038 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,399 1038 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 11:49:08,399 1038 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 11:49:08,408 1047 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,408 1047 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 11:49:08,408 1047 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 11:49:08,416 1055 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,416 1055 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 11:49:08,417 1056 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 11:49:08,424 1063 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,424 1063 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 11:49:08,425 1064 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 11:49:08,433 1072 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,433 1072 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 11:49:08,434 1073 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 11:49:08,441 1080 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,442 1081 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 11:49:08,442 1081 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 11:49:08,449 1088 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,452 1091 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 11:49:08,452 1091 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 11:49:08,459 1098 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,460 1099 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 11:49:08,460 1099 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 11:49:08,466 1105 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,467 1106 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 11:49:08,467 1106 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 11:49:08,474 1113 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,475 1114 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 11:49:08,475 1114 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 11:49:08,481 1120 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,482 1121 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 11:49:08,482 1121 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 11:49:08,488 1127 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,489 1128 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 11:49:08,489 1128 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 11:49:08,495 1134 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,496 1135 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 11:49:08,497 1136 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 11:49:08,502 1141 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,503 1142 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 11:49:08,503 1142 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 11:49:08,509 1148 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,510 1149 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 11:49:08,510 1149 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 11:49:08,516 1155 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,517 1156 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 11:49:08,517 1156 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 11:49:08,523 1162 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,524 1163 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 11:49:08,524 1163 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 11:49:08,530 1169 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,531 1170 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 11:49:08,531 1170 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 11:49:08,537 1176 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 11:49:08,537 1176 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-27 11:49:08,540 1179 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-27 11:49:08,541 1180 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 11:49:08,541 1180 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 11:49:08,542 1181 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 11:49:08,542 1181 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-27 11:49:08,542 1181 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-27 11:49:08,545 1184 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 12:12:17,344 0 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 12:12:17,360 16 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 12:12:17,419 75 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 12:12:17,424 80 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 12:12:17,433 89 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 12:12:17,434 90 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 12:12:17,434 90 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 12:12:17,434 90 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-27 12:12:17,830 486 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 12:12:17,842 498 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 12:12:17,842 498 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-27 12:12:17,842 498 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-27 12:12:17,850 506 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 12:12:17,852 508 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 12:12:17,852 508 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 12:12:17,852 508 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 12:12:17,855 511 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 12:12:17,857 513 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 12:12:17,861 517 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 12:12:17,865 521 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 12:12:17,870 526 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 12:12:17,872 528 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 12:12:17,873 529 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 12:12:17,873 529 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-27 12:12:17,873 529 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-27 12:12:17,873 529 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 12:12:17,875 531 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 12:12:17,877 533 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 12:12:17,877 533 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 12:12:17,877 533 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 12:12:17,878 534 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-27 12:12:17,937 593 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-27 12:12:17,937 593 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-27 12:12:17,988 644 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-27 12:12:17,990 646 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-27 12:12:18,206 862 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,218 874 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,228 884 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,242 898 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,252 908 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,261 917 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,277 933 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,286 942 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,294 950 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,302 958 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,309 965 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,316 972 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,318 974 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 12:12:18,318 974 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 12:12:18,333 989 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,334 990 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 12:12:18,334 990 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 12:12:18,341 997 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,342 998 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 12:12:18,342 998 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 12:12:18,350 1006 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,353 1009 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 12:12:18,353 1009 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 12:12:18,362 1018 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,363 1019 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 12:12:18,364 1020 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 12:12:18,371 1027 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,372 1028 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 12:12:18,372 1028 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 12:12:18,379 1035 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,380 1036 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 12:12:18,380 1036 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 12:12:18,387 1043 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,388 1044 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 12:12:18,388 1044 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 12:12:18,395 1051 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,396 1052 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 12:12:18,396 1052 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 12:12:18,404 1060 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,405 1061 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 12:12:18,405 1061 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 12:12:18,412 1068 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,412 1068 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 12:12:18,413 1069 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 12:12:18,419 1075 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,422 1078 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 12:12:18,422 1078 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 12:12:18,428 1084 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,429 1085 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 12:12:18,429 1085 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 12:12:18,435 1091 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,436 1092 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 12:12:18,436 1092 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 12:12:18,442 1098 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,443 1099 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 12:12:18,443 1099 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 12:12:18,449 1105 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,449 1105 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 12:12:18,450 1106 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 12:12:18,456 1112 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,456 1112 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 12:12:18,457 1113 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 12:12:18,462 1118 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,464 1120 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 12:12:18,464 1120 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 12:12:18,470 1126 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,471 1127 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 12:12:18,471 1127 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 12:12:18,477 1133 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,477 1133 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 12:12:18,478 1134 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 12:12:18,483 1139 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,484 1140 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 12:12:18,484 1140 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 12:12:18,489 1145 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,489 1145 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 12:12:18,490 1146 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 12:12:18,494 1150 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,495 1151 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 12:12:18,495 1151 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 12:12:18,500 1156 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 12:12:18,501 1157 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-27 12:12:18,503 1159 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-27 12:12:18,504 1160 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 12:12:18,504 1160 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 12:12:18,504 1160 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 12:12:18,504 1160 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-27 12:12:18,505 1161 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-27 12:12:18,507 1163 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 14:52:07,860 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 14:52:07,879 20 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 14:52:07,961 102 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 14:52:07,969 110 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 14:52:07,985 126 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 14:52:07,985 126 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 14:52:07,986 127 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 14:52:07,986 127 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-27 14:52:08,512 653 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 14:52:08,524 665 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 14:52:08,524 665 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-27 14:52:08,525 666 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-27 14:52:08,532 673 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 14:52:08,534 675 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 14:52:08,534 675 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 14:52:08,534 675 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 14:52:08,538 679 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 14:52:08,539 680 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 14:52:08,544 685 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 14:52:08,547 688 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 14:52:08,554 695 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 14:52:08,558 699 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 14:52:08,558 699 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 14:52:08,559 700 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-27 14:52:08,559 700 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-27 14:52:08,559 700 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 14:52:08,563 704 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 14:52:08,565 706 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 14:52:08,565 706 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 14:52:08,566 707 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 14:52:08,566 707 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-27 14:52:08,629 770 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-27 14:52:08,629 770 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-27 14:52:08,685 826 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "modelBuilder" : null, + "modelCache" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-27 14:52:08,686 827 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-27 14:52:08,921 1062 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:08,934 1075 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:08,946 1087 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:08,963 1104 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:08,974 1115 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:08,984 1125 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,000 1141 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,009 1150 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,017 1158 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,026 1167 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,034 1175 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,042 1183 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,044 1185 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 14:52:09,044 1185 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 14:52:09,059 1200 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,060 1201 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 14:52:09,060 1201 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 14:52:09,068 1209 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,069 1210 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 14:52:09,069 1210 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 14:52:09,079 1220 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,083 1224 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 14:52:09,084 1225 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 14:52:09,098 1239 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,099 1240 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 14:52:09,100 1241 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 14:52:09,110 1251 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,110 1251 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 14:52:09,111 1252 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 14:52:09,119 1260 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,119 1260 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 14:52:09,120 1261 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 14:52:09,127 1268 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,128 1269 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 14:52:09,128 1269 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 14:52:09,136 1277 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,137 1278 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 14:52:09,137 1278 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 14:52:09,146 1287 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,147 1288 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 14:52:09,147 1288 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 14:52:09,160 1301 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,160 1301 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 14:52:09,161 1302 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 14:52:09,171 1312 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,176 1317 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 14:52:09,176 1317 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 14:52:09,188 1329 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,189 1330 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 14:52:09,189 1330 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 14:52:09,201 1342 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,202 1343 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 14:52:09,202 1343 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 14:52:09,211 1352 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,212 1353 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 14:52:09,212 1353 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 14:52:09,218 1359 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,219 1360 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 14:52:09,219 1360 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 14:52:09,228 1369 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,229 1370 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 14:52:09,229 1370 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 14:52:09,238 1379 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,240 1381 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 14:52:09,240 1381 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 14:52:09,246 1387 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,247 1388 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 14:52:09,247 1388 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 14:52:09,252 1393 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,253 1394 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 14:52:09,253 1394 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 14:52:09,258 1399 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,259 1400 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 14:52:09,259 1400 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 14:52:09,264 1405 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,265 1406 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 14:52:09,265 1406 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 14:52:09,270 1411 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,271 1412 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 14:52:09,271 1412 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 14:52:09,276 1417 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-27 14:52:09,277 1418 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-27 14:52:09,280 1421 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-27 14:52:09,281 1422 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 14:52:09,281 1422 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 14:52:09,281 1422 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 14:52:09,281 1422 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-27 14:52:09,282 1423 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-27 14:52:09,285 1426 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 15:02:28,371 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 15:02:28,388 18 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 15:02:28,453 83 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 15:02:28,458 88 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 15:02:28,468 98 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 15:02:28,468 98 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 15:02:28,468 98 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 15:02:28,468 98 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-27 15:02:28,859 489 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 15:02:28,871 501 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 15:02:28,871 501 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-27 15:02:28,871 501 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-27 15:02:28,878 508 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 15:02:28,880 510 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 15:02:28,881 511 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 15:02:28,881 511 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 15:02:28,884 514 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 15:02:28,885 515 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 15:02:28,890 520 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 15:02:28,893 523 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 15:02:28,898 528 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 15:02:28,901 531 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 15:02:28,901 531 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 15:02:28,901 531 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-27 15:02:28,901 531 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-27 15:02:28,901 531 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 15:02:28,904 534 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 15:02:28,906 536 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 15:02:28,906 536 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 15:02:28,906 536 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 15:02:28,906 536 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-27 15:02:28,967 597 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-27 15:02:28,967 597 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-27 15:02:29,025 655 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceMapping" : { + "*" : "JVM" + }, + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-27 15:02:29,027 657 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-27 15:02:29,250 880 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,262 892 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,273 903 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,288 918 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,298 928 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,308 938 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,325 955 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,333 963 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,341 971 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,350 980 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,357 987 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,365 995 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,367 997 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 15:02:29,368 998 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 15:02:29,383 1013 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,384 1014 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 15:02:29,384 1014 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 15:02:29,392 1022 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,392 1022 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 15:02:29,393 1023 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 15:02:29,401 1031 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,403 1033 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 15:02:29,404 1034 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 15:02:29,413 1043 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,414 1044 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 15:02:29,414 1044 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 15:02:29,422 1052 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,423 1053 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 15:02:29,423 1053 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 15:02:29,431 1061 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,431 1061 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 15:02:29,431 1061 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 15:02:29,439 1069 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,439 1069 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 15:02:29,440 1070 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 15:02:29,447 1077 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,447 1077 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 15:02:29,448 1078 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 15:02:29,455 1085 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,456 1086 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 15:02:29,456 1086 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 15:02:29,463 1093 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,464 1094 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 15:02:29,464 1094 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 15:02:29,470 1100 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,473 1103 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 15:02:29,473 1103 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 15:02:29,479 1109 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,480 1110 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 15:02:29,481 1111 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 15:02:29,487 1117 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,488 1118 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 15:02:29,488 1118 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 15:02:29,494 1124 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,495 1125 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 15:02:29,496 1126 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 15:02:29,501 1131 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,502 1132 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 15:02:29,502 1132 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 15:02:29,508 1138 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,509 1139 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 15:02:29,509 1139 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 15:02:29,515 1145 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,517 1147 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 15:02:29,517 1147 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 15:02:29,523 1153 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,523 1153 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 15:02:29,523 1153 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 15:02:29,529 1159 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,530 1160 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 15:02:29,530 1160 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 15:02:29,536 1166 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,537 1167 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 15:02:29,537 1167 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 15:02:29,543 1173 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,544 1174 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 15:02:29,544 1174 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 15:02:29,550 1180 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,550 1180 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 15:02:29,550 1180 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 15:02:29,556 1186 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 15:02:29,556 1186 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-27 15:02:29,559 1189 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-27 15:02:29,560 1190 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 15:02:29,560 1190 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 15:02:29,560 1190 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 15:02:29,560 1190 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-27 15:02:29,560 1190 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-27 15:02:29,563 1193 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 15:31:18,183 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 15:31:18,202 20 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 15:31:18,275 93 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 15:31:18,284 102 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 15:31:18,298 116 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 15:31:18,299 117 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 15:31:18,299 117 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 15:31:18,299 117 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-27 15:31:18,756 574 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 15:31:18,767 585 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 15:31:18,767 585 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-27 15:31:18,768 586 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-27 15:31:18,776 594 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 15:31:18,777 595 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 15:31:18,778 596 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 15:31:18,778 596 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 15:31:18,781 599 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 15:31:18,782 600 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 15:31:18,787 605 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 15:31:18,790 608 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 15:31:18,795 613 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 15:31:18,798 616 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 15:31:18,798 616 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 15:31:18,798 616 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-27 15:31:18,799 617 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-27 15:31:18,799 617 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 15:31:18,801 619 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 15:31:18,803 621 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 15:31:18,803 621 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 15:31:18,803 621 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 15:31:18,803 621 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-27 15:31:18,865 683 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-27 15:31:18,866 684 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-27 15:31:18,922 740 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-27 15:31:18,924 742 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-27 15:31:19,158 976 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,170 988 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,181 999 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,196 1014 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,207 1025 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,217 1035 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,233 1051 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,242 1060 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,250 1068 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,258 1076 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,266 1084 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,273 1091 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,275 1093 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 15:31:19,275 1093 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 15:31:19,290 1108 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,291 1109 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 15:31:19,291 1109 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 15:31:19,299 1117 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,300 1118 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 15:31:19,300 1118 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 15:31:19,308 1126 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,311 1129 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 15:31:19,311 1129 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 15:31:19,321 1139 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,323 1141 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 15:31:19,323 1141 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 15:31:19,331 1149 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,332 1150 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 15:31:19,332 1150 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 15:31:19,344 1162 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,344 1162 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 15:31:19,345 1163 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 15:31:19,356 1174 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,357 1175 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 15:31:19,357 1175 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 15:31:19,368 1186 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,369 1187 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 15:31:19,370 1188 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 15:31:19,381 1199 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,381 1199 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 15:31:19,382 1200 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 15:31:19,390 1208 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,390 1208 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 15:31:19,390 1208 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 15:31:19,398 1216 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,401 1219 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 15:31:19,401 1219 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 15:31:19,408 1226 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,409 1227 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 15:31:19,409 1227 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 15:31:19,416 1234 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,417 1235 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 15:31:19,417 1235 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 15:31:19,423 1241 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,425 1243 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 15:31:19,425 1243 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 15:31:19,431 1249 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,432 1250 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 15:31:19,432 1250 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 15:31:19,439 1257 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,439 1257 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 15:31:19,440 1258 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 15:31:19,446 1264 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,447 1265 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 15:31:19,448 1266 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 15:31:19,454 1272 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,455 1273 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 15:31:19,455 1273 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 15:31:19,462 1280 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,462 1280 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 15:31:19,463 1281 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 15:31:19,469 1287 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,470 1288 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 15:31:19,470 1288 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 15:31:19,477 1295 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,478 1296 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 15:31:19,478 1296 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 15:31:19,485 1303 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,486 1304 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 15:31:19,486 1304 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 15:31:19,492 1310 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-27 15:31:19,492 1310 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-27 15:31:19,495 1313 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-27 15:31:19,496 1314 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 15:31:19,496 1314 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 15:31:19,496 1314 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 15:31:19,497 1315 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-27 15:31:19,497 1315 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-27 15:31:19,500 1318 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:01:39,433 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 22:01:39,452 20 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:01:39,512 80 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 22:01:39,517 85 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 22:01:39,528 96 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 22:01:39,528 96 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 22:01:39,529 97 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 22:01:39,529 97 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-27 22:01:39,951 519 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:01:39,963 531 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:01:39,963 531 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-27 22:01:39,963 531 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-27 22:01:39,971 539 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 22:01:39,973 541 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 22:01:39,973 541 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 22:01:39,973 541 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 22:01:39,976 544 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 22:01:39,977 545 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:01:39,982 550 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:01:39,985 553 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:01:39,990 558 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:01:39,992 560 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 22:01:39,993 561 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 22:01:39,993 561 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-27 22:01:39,993 561 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-27 22:01:39,993 561 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 22:01:39,996 564 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:01:39,997 565 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 22:01:39,997 565 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 22:01:39,998 566 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 22:01:39,998 566 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-27 22:01:40,058 626 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-27 22:01:40,059 627 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-27 22:01:40,110 678 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-27 22:01:40,112 680 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-27 22:01:40,332 900 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,344 912 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,354 922 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,368 936 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,378 946 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,389 957 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,405 973 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,413 981 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,422 990 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,430 998 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,437 1005 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,444 1012 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,446 1014 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 22:01:40,446 1014 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 22:01:40,461 1029 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,461 1029 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 22:01:40,461 1029 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 22:01:40,469 1037 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,470 1038 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:01:40,470 1038 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:01:40,478 1046 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,480 1048 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:01:40,481 1049 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:01:40,489 1057 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,491 1059 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 22:01:40,491 1059 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 22:01:40,498 1066 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,499 1067 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 22:01:40,499 1067 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 22:01:40,507 1075 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,507 1075 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:01:40,508 1076 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:01:40,515 1083 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,515 1083 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 22:01:40,516 1084 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 22:01:40,523 1091 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,523 1091 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 22:01:40,523 1091 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 22:01:40,531 1099 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,532 1100 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 22:01:40,532 1100 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 22:01:40,539 1107 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,540 1108 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 22:01:40,540 1108 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 22:01:40,546 1114 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,548 1116 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 22:01:40,549 1117 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 22:01:40,555 1123 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,556 1124 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 22:01:40,556 1124 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 22:01:40,563 1131 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,563 1131 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:01:40,564 1132 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:01:40,570 1138 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,571 1139 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 22:01:40,571 1139 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 22:01:40,578 1146 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,578 1146 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 22:01:40,579 1147 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 22:01:40,585 1153 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,586 1154 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:01:40,586 1154 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:01:40,592 1160 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,594 1162 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 22:01:40,594 1162 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 22:01:40,600 1168 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,601 1169 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 22:01:40,601 1169 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 22:01:40,607 1175 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,608 1176 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:01:40,608 1176 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:01:40,615 1183 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,616 1184 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 22:01:40,616 1184 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 22:01:40,623 1191 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,624 1192 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 22:01:40,624 1192 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 22:01:40,630 1198 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,630 1198 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:01:40,631 1199 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:01:40,637 1205 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "includedSlotNames" : [ ], + "excludedSlotNames" : [ ] +} +2013-04-27 22:01:40,637 1205 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-27 22:01:40,640 1208 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-27 22:01:40,641 1209 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 22:01:40,641 1209 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 22:01:40,641 1209 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 22:01:40,641 1209 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-27 22:01:40,642 1210 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-27 22:01:40,644 1212 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:18:23,661 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 22:18:23,676 16 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:18:23,735 75 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 22:18:23,740 80 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 22:18:23,750 90 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 22:18:23,750 90 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 22:18:23,751 91 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 22:18:23,751 91 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-27 22:18:24,132 472 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:18:24,143 483 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:18:24,144 484 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-27 22:18:24,144 484 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-27 22:18:24,151 491 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 22:18:24,153 493 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 22:18:24,153 493 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 22:18:24,153 493 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 22:18:24,157 497 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 22:18:24,158 498 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:18:24,162 502 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:18:24,166 506 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:18:24,170 510 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:18:24,173 513 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 22:18:24,173 513 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 22:18:24,173 513 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-27 22:18:24,173 513 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-27 22:18:24,173 513 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 22:18:24,176 516 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:18:24,178 518 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 22:18:24,178 518 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 22:18:24,178 518 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 22:18:24,178 518 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-27 22:18:24,238 578 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-27 22:18:24,238 578 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-27 22:18:24,289 629 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "apiLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-27 22:18:24,291 631 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-27 22:18:24,509 849 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,521 861 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,531 871 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,545 885 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,556 896 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,566 906 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,581 921 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,590 930 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,598 938 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,606 946 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,613 953 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,620 960 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,622 962 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 22:18:24,622 962 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 22:18:24,636 976 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,637 977 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 22:18:24,637 977 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 22:18:24,645 985 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,645 985 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:18:24,646 986 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:18:24,653 993 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,656 996 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:18:24,656 996 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:18:24,665 1005 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,666 1006 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 22:18:24,667 1007 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 22:18:24,674 1014 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,675 1015 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 22:18:24,675 1015 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 22:18:24,682 1022 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,683 1023 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:18:24,683 1023 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:18:24,691 1031 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,691 1031 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 22:18:24,691 1031 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 22:18:24,698 1038 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,699 1039 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 22:18:24,699 1039 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 22:18:24,707 1047 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,708 1048 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 22:18:24,708 1048 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 22:18:24,715 1055 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,715 1055 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 22:18:24,716 1056 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 22:18:24,722 1062 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,725 1065 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 22:18:24,725 1065 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 22:18:24,731 1071 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,732 1072 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 22:18:24,733 1073 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 22:18:24,739 1079 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,740 1080 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:18:24,740 1080 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:18:24,746 1086 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,748 1088 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 22:18:24,748 1088 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 22:18:24,754 1094 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,755 1095 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 22:18:24,755 1095 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 22:18:24,761 1101 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,762 1102 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:18:24,762 1102 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:18:24,767 1107 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,769 1109 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 22:18:24,769 1109 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 22:18:24,775 1115 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,776 1116 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 22:18:24,776 1116 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 22:18:24,782 1122 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,782 1122 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:18:24,783 1123 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:18:24,788 1128 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,790 1130 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 22:18:24,790 1130 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 22:18:24,795 1135 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,796 1136 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 22:18:24,796 1136 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 22:18:24,802 1142 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,802 1142 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:18:24,803 1143 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:18:24,808 1148 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-27 22:18:24,808 1148 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-27 22:18:24,811 1151 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-27 22:18:24,812 1152 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 22:18:24,812 1152 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 22:18:24,812 1152 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 22:18:24,812 1152 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-27 22:18:24,813 1153 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-27 22:18:24,815 1155 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:27:03,398 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 22:27:03,416 19 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:27:03,482 85 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 22:27:03,487 90 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-27 22:27:03,499 102 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 22:27:03,499 102 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 22:27:03,500 103 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 22:27:03,500 103 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-27 22:27:03,904 507 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:27:03,916 519 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:27:03,917 520 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-27 22:27:03,917 520 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-27 22:27:03,925 528 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 22:27:03,927 530 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 22:27:03,927 530 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 22:27:03,927 530 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 22:27:03,930 533 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-27 22:27:03,932 535 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:27:03,936 539 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:27:03,940 543 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:27:03,944 547 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:27:03,947 550 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 22:27:03,947 550 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 22:27:03,948 551 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-27 22:27:03,948 551 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-27 22:27:03,948 551 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 22:27:03,951 554 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-27 22:27:03,953 556 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 22:27:03,953 556 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 22:27:03,953 556 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 22:27:03,953 556 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-27 22:27:04,016 619 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-27 22:27:04,016 619 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-27 22:27:04,070 673 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "modelBuilder" : null, + "modelCache" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-27 22:27:04,072 675 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-27 22:27:04,306 909 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,317 920 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,328 931 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,343 946 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,353 956 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,363 966 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,379 982 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,388 991 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,397 1000 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,405 1008 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,412 1015 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,420 1023 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,421 1024 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 22:27:04,422 1025 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 22:27:04,436 1039 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,437 1040 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 22:27:04,437 1040 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 22:27:04,445 1048 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,446 1049 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:27:04,446 1049 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:27:04,454 1057 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,457 1060 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:27:04,457 1060 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:27:04,467 1070 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,468 1071 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 22:27:04,468 1071 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 22:27:04,476 1079 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,476 1079 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 22:27:04,477 1080 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 22:27:04,485 1088 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,485 1088 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:27:04,486 1089 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:27:04,493 1096 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,494 1097 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 22:27:04,494 1097 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 22:27:04,502 1105 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,503 1106 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 22:27:04,503 1106 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 22:27:04,511 1114 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,512 1115 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-27 22:27:04,512 1115 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-27 22:27:04,520 1123 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,520 1123 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-27 22:27:04,521 1124 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-27 22:27:04,527 1130 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,530 1133 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 22:27:04,530 1133 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 22:27:04,537 1140 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,538 1141 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 22:27:04,538 1141 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 22:27:04,545 1148 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,546 1149 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:27:04,546 1149 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:27:04,553 1156 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,554 1157 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 22:27:04,555 1158 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 22:27:04,561 1164 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,562 1165 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 22:27:04,562 1165 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 22:27:04,569 1172 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,569 1172 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:27:04,569 1172 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:27:04,575 1178 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,577 1180 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 22:27:04,577 1180 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 22:27:04,584 1187 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,584 1187 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 22:27:04,584 1187 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 22:27:04,590 1193 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,591 1194 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:27:04,591 1194 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:27:04,598 1201 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,599 1202 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-27 22:27:04,599 1202 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-27 22:27:04,605 1208 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,606 1209 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-27 22:27:04,606 1209 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-27 22:27:04,612 1215 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,612 1215 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-27 22:27:04,613 1216 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-27 22:27:04,618 1221 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "locale" : null, + "parameters" : [ ] +} +2013-04-27 22:27:04,619 1222 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-27 22:27:04,622 1225 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-27 22:27:04,623 1226 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-27 22:27:04,623 1226 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-27 22:27:04,623 1226 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-27 22:27:04,623 1226 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-27 22:27:04,623 1226 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-27 22:27:04,626 1229 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 08:27:50,587 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-28 08:27:50,605 19 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 08:27:50,672 86 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-28 08:27:50,677 91 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-28 08:27:50,687 101 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 08:27:50,688 102 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 08:27:50,688 102 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 08:27:50,688 102 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-28 08:27:51,152 566 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 08:27:51,164 578 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 08:27:51,164 578 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-28 08:27:51,164 578 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-28 08:27:51,172 586 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-28 08:27:51,173 587 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 08:27:51,174 588 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 08:27:51,174 588 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 08:27:51,177 591 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-28 08:27:51,178 592 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 08:27:51,183 597 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 08:27:51,186 600 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 08:27:51,191 605 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 08:27:51,193 607 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 08:27:51,193 607 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 08:27:51,194 608 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-28 08:27:51,194 608 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-28 08:27:51,194 608 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 08:27:51,196 610 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 08:27:51,198 612 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 08:27:51,198 612 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 08:27:51,199 613 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 08:27:51,199 613 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-28 08:27:51,259 673 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-28 08:27:51,259 673 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-28 08:27:51,310 724 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "formatLoader" : null, + "apiLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-28 08:27:51,311 725 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-28 08:27:51,530 944 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,541 955 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,551 965 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,565 979 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,575 989 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,584 998 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,599 1013 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,608 1022 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,616 1030 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,624 1038 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,631 1045 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,639 1053 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,640 1054 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 08:27:51,641 1055 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 08:27:51,655 1069 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,656 1070 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 08:27:51,656 1070 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 08:27:51,663 1077 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,664 1078 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 08:27:51,664 1078 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 08:27:51,672 1086 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,675 1089 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 08:27:51,676 1090 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 08:27:51,685 1099 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,686 1100 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 08:27:51,687 1101 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 08:27:51,695 1109 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,695 1109 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 08:27:51,696 1110 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 08:27:51,704 1118 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,704 1118 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 08:27:51,704 1118 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 08:27:51,712 1126 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,713 1127 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-28 08:27:51,713 1127 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-28 08:27:51,720 1134 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,721 1135 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-28 08:27:51,721 1135 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-28 08:27:51,730 1144 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,730 1144 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-28 08:27:51,731 1145 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-28 08:27:51,738 1152 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,739 1153 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-28 08:27:51,739 1153 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-28 08:27:51,746 1160 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,749 1163 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 08:27:51,749 1163 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 08:27:51,756 1170 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,757 1171 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 08:27:51,757 1171 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 08:27:51,764 1178 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,765 1179 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 08:27:51,765 1179 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 08:27:51,772 1186 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,774 1188 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 08:27:51,774 1188 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 08:27:51,781 1195 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,781 1195 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 08:27:51,781 1195 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 08:27:51,788 1202 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,789 1203 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 08:27:51,789 1203 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 08:27:51,796 1210 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,798 1212 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 08:27:51,798 1212 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 08:27:51,805 1219 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,806 1220 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 08:27:51,806 1220 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 08:27:51,813 1227 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,814 1228 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 08:27:51,814 1228 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 08:27:51,821 1235 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,822 1236 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 08:27:51,823 1237 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 08:27:51,830 1244 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,830 1244 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 08:27:51,830 1244 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 08:27:51,837 1251 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,837 1251 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 08:27:51,837 1251 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 08:27:51,843 1257 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 08:27:51,844 1258 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-28 08:27:51,847 1261 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-28 08:27:51,848 1262 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 08:27:51,848 1262 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 08:27:51,848 1262 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 08:27:51,848 1262 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-28 08:27:51,848 1262 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-28 08:27:51,851 1265 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 08:49:39,516 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-28 08:49:39,531 16 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 08:49:39,598 83 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-28 08:49:39,604 89 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-28 08:49:39,615 100 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 08:49:39,615 100 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 08:49:39,616 101 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 08:49:39,616 101 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-28 08:49:40,075 560 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 08:49:40,086 571 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 08:49:40,087 572 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-28 08:49:40,087 572 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-28 08:49:40,095 580 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-28 08:49:40,096 581 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 08:49:40,097 582 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 08:49:40,097 582 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 08:49:40,100 585 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-28 08:49:40,101 586 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 08:49:40,106 591 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 08:49:40,109 594 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 08:49:40,114 599 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 08:49:40,116 601 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 08:49:40,116 601 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 08:49:40,117 602 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-28 08:49:40,117 602 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-28 08:49:40,117 602 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 08:49:40,119 604 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 08:49:40,121 606 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 08:49:40,121 606 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 08:49:40,121 606 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 08:49:40,122 607 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-28 08:49:40,181 666 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-28 08:49:40,182 667 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-28 08:49:40,233 718 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceMapping" : { + "*" : "JVM" + }, + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-28 08:49:40,235 720 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-28 08:49:40,453 938 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,465 950 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,475 960 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,489 974 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,499 984 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,509 994 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,524 1009 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,532 1017 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,540 1025 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,548 1033 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,555 1040 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,563 1048 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,564 1049 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 08:49:40,565 1050 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 08:49:40,579 1064 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,580 1065 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 08:49:40,580 1065 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 08:49:40,587 1072 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,588 1073 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 08:49:40,588 1073 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 08:49:40,596 1081 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,599 1084 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 08:49:40,599 1084 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 08:49:40,608 1093 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,609 1094 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 08:49:40,609 1094 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 08:49:40,616 1101 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,617 1102 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 08:49:40,617 1102 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 08:49:40,625 1110 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,625 1110 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 08:49:40,626 1111 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 08:49:40,633 1118 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,633 1118 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-28 08:49:40,634 1119 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-28 08:49:40,641 1126 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,641 1126 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-28 08:49:40,641 1126 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-28 08:49:40,649 1134 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,650 1135 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-28 08:49:40,650 1135 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-28 08:49:40,657 1142 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,658 1143 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-28 08:49:40,658 1143 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-28 08:49:40,664 1149 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,667 1152 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 08:49:40,668 1153 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 08:49:40,675 1160 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,676 1161 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 08:49:40,676 1161 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 08:49:40,683 1168 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,684 1169 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 08:49:40,684 1169 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 08:49:40,692 1177 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,693 1178 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 08:49:40,693 1178 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 08:49:40,700 1185 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,701 1186 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 08:49:40,701 1186 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 08:49:40,708 1193 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,709 1194 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 08:49:40,709 1194 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 08:49:40,715 1200 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,717 1202 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 08:49:40,717 1202 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 08:49:40,724 1209 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,724 1209 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 08:49:40,725 1210 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 08:49:40,731 1216 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,732 1217 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 08:49:40,732 1217 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 08:49:40,738 1223 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,740 1225 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 08:49:40,740 1225 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 08:49:40,746 1231 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,747 1232 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 08:49:40,747 1232 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 08:49:40,754 1239 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,754 1239 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 08:49:40,754 1239 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 08:49:40,760 1245 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 08:49:40,761 1246 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-28 08:49:40,764 1249 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-28 08:49:40,765 1250 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 08:49:40,765 1250 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 08:49:40,765 1250 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 08:49:40,765 1250 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-28 08:49:40,765 1250 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-28 08:49:40,768 1253 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 10:30:40,487 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-28 10:30:40,502 16 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 10:30:40,560 74 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-28 10:30:40,565 79 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-28 10:30:40,576 90 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 10:30:40,576 90 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 10:30:40,576 90 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 10:30:40,577 91 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-28 10:30:41,034 548 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 10:30:41,046 560 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 10:30:41,047 561 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-28 10:30:41,047 561 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-28 10:30:41,055 569 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-28 10:30:41,056 570 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 10:30:41,057 571 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 10:30:41,057 571 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 10:30:41,060 574 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-28 10:30:41,061 575 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 10:30:41,066 580 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 10:30:41,069 583 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 10:30:41,074 588 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 10:30:41,077 591 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 10:30:41,077 591 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 10:30:41,077 591 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-28 10:30:41,078 592 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-28 10:30:41,078 592 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 10:30:41,080 594 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 10:30:41,082 596 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 10:30:41,082 596 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 10:30:41,082 596 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 10:30:41,082 596 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-28 10:30:41,142 656 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-28 10:30:41,142 656 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-28 10:30:41,193 707 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceMapping" : { + "*" : "JVM" + }, + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-28 10:30:41,194 708 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-28 10:30:41,407 921 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,418 932 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,429 943 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,443 957 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,453 967 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,462 976 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,478 992 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,486 1000 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,494 1008 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,503 1017 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,510 1024 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,517 1031 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,519 1033 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 10:30:41,519 1033 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 10:30:41,534 1048 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,534 1048 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 10:30:41,534 1048 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 10:30:41,542 1056 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,543 1057 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 10:30:41,543 1057 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 10:30:41,551 1065 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,553 1067 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 10:30:41,554 1068 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 10:30:41,563 1077 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,565 1079 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 10:30:41,565 1079 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 10:30:41,573 1087 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,574 1088 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 10:30:41,574 1088 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 10:30:41,581 1095 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,582 1096 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 10:30:41,582 1096 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 10:30:41,589 1103 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,590 1104 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-28 10:30:41,590 1104 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-28 10:30:41,597 1111 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,598 1112 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-28 10:30:41,598 1112 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-28 10:30:41,606 1120 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,606 1120 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-28 10:30:41,606 1120 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-28 10:30:41,613 1127 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,614 1128 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-28 10:30:41,614 1128 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-28 10:30:41,620 1134 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,622 1136 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 10:30:41,622 1136 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 10:30:41,628 1142 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,629 1143 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 10:30:41,630 1144 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 10:30:41,636 1150 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,636 1150 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 10:30:41,637 1151 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 10:30:41,642 1156 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,644 1158 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 10:30:41,644 1158 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 10:30:41,650 1164 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,651 1165 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 10:30:41,651 1165 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 10:30:41,657 1171 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,658 1172 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 10:30:41,658 1172 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 10:30:41,664 1178 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,666 1180 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 10:30:41,666 1180 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 10:30:41,672 1186 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,673 1187 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 10:30:41,673 1187 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 10:30:41,679 1193 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,679 1193 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 10:30:41,680 1194 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 10:30:41,685 1199 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,686 1200 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 10:30:41,687 1201 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 10:30:41,692 1206 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,693 1207 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 10:30:41,693 1207 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 10:30:41,699 1213 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,699 1213 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 10:30:41,699 1213 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 10:30:41,705 1219 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 10:30:41,705 1219 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-28 10:30:41,708 1222 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-28 10:30:41,708 1222 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 10:30:41,709 1223 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 10:30:41,709 1223 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 10:30:41,709 1223 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-28 10:30:41,709 1223 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-28 10:30:41,712 1226 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 14:05:46,156 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-28 14:05:46,174 19 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 14:05:46,243 88 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-28 14:05:46,248 93 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-28 14:05:46,260 105 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 14:05:46,260 105 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 14:05:46,260 105 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 14:05:46,260 105 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-28 14:05:46,697 542 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 14:05:46,709 554 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 14:05:46,709 554 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-28 14:05:46,709 554 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-28 14:05:46,717 562 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-28 14:05:46,719 564 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 14:05:46,719 564 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 14:05:46,719 564 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 14:05:46,723 568 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-28 14:05:46,724 569 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 14:05:46,729 574 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 14:05:46,732 577 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 14:05:46,737 582 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 14:05:46,740 585 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 14:05:46,740 585 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 14:05:46,740 585 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-28 14:05:46,741 586 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-28 14:05:46,741 586 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 14:05:46,743 588 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 14:05:46,745 590 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 14:05:46,745 590 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 14:05:46,745 590 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 14:05:46,745 590 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-28 14:05:46,807 652 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-28 14:05:46,808 653 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-28 14:05:46,861 706 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-28 14:05:46,862 707 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-28 14:05:47,094 939 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,106 951 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,117 962 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,133 978 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,144 989 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,155 1000 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,173 1018 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,183 1028 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,192 1037 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,200 1045 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,208 1053 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,216 1061 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,217 1062 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 14:05:47,218 1063 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 14:05:47,233 1078 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,234 1079 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 14:05:47,234 1079 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 14:05:47,242 1087 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,243 1088 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 14:05:47,243 1088 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 14:05:47,251 1096 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,254 1099 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 14:05:47,254 1099 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 14:05:47,264 1109 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,265 1110 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 14:05:47,266 1111 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 14:05:47,274 1119 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,275 1120 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 14:05:47,275 1120 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 14:05:47,283 1128 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,284 1129 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 14:05:47,284 1129 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 14:05:47,292 1137 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,293 1138 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-28 14:05:47,293 1138 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-28 14:05:47,301 1146 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,301 1146 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-28 14:05:47,301 1146 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-28 14:05:47,310 1155 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,310 1155 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-28 14:05:47,311 1156 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-28 14:05:47,318 1163 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,319 1164 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-28 14:05:47,319 1164 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-28 14:05:47,327 1172 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,330 1175 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 14:05:47,330 1175 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 14:05:47,337 1182 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,338 1183 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 14:05:47,339 1184 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 14:05:47,346 1191 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,346 1191 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 14:05:47,347 1192 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 14:05:47,353 1198 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,355 1200 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 14:05:47,355 1200 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 14:05:47,362 1207 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,363 1208 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 14:05:47,363 1208 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 14:05:47,370 1215 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,371 1216 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 14:05:47,371 1216 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 14:05:47,378 1223 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,380 1225 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 14:05:47,380 1225 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 14:05:47,386 1231 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,387 1232 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 14:05:47,387 1232 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 14:05:47,394 1239 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,394 1239 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 14:05:47,394 1239 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 14:05:47,401 1246 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,402 1247 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 14:05:47,402 1247 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 14:05:47,408 1253 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,408 1253 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 14:05:47,408 1253 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 14:05:47,413 1258 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,414 1259 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 14:05:47,414 1259 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 14:05:47,419 1264 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-28 14:05:47,420 1265 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-28 14:05:47,422 1267 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-28 14:05:47,423 1268 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 14:05:47,423 1268 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 14:05:47,423 1268 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 14:05:47,424 1269 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-28 14:05:47,424 1269 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-28 14:05:47,426 1271 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 14:12:56,001 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-28 14:12:56,017 17 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 14:12:56,078 78 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-28 14:12:56,083 83 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-28 14:12:56,093 93 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 14:12:56,094 94 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 14:12:56,094 94 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 14:12:56,094 94 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-28 14:12:56,630 630 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 14:12:56,643 643 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 14:12:56,643 643 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-28 14:12:56,644 644 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-28 14:12:56,652 652 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-28 14:12:56,654 654 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 14:12:56,654 654 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 14:12:56,655 655 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 14:12:56,658 658 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-28 14:12:56,659 659 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 14:12:56,666 666 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 14:12:56,673 673 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 14:12:56,682 682 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 14:12:56,687 687 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 14:12:56,687 687 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 14:12:56,687 687 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-28 14:12:56,688 688 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-28 14:12:56,688 688 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 14:12:56,691 691 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 14:12:56,693 693 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 14:12:56,693 693 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 14:12:56,694 694 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 14:12:56,694 694 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-28 14:12:56,773 773 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-28 14:12:56,773 773 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-28 14:12:56,827 827 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-28 14:12:56,829 829 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-28 14:12:57,071 1071 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,083 1083 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,094 1094 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,109 1109 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,120 1120 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,129 1129 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,145 1145 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,154 1154 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,162 1162 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,171 1171 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,178 1178 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,185 1185 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,187 1187 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 14:12:57,187 1187 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 14:12:57,203 1203 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,203 1203 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 14:12:57,204 1204 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 14:12:57,213 1213 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,214 1214 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 14:12:57,215 1215 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 14:12:57,227 1227 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,232 1232 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 14:12:57,232 1232 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 14:12:57,244 1244 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,246 1246 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 14:12:57,246 1246 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 14:12:57,258 1258 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,259 1259 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 14:12:57,259 1259 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 14:12:57,268 1268 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,268 1268 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 14:12:57,269 1269 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 14:12:57,277 1277 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,278 1278 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-28 14:12:57,278 1278 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-28 14:12:57,286 1286 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,287 1287 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-28 14:12:57,287 1287 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-28 14:12:57,297 1297 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,297 1297 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-28 14:12:57,298 1298 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-28 14:12:57,307 1307 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,308 1308 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-28 14:12:57,308 1308 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-28 14:12:57,319 1319 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,323 1323 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 14:12:57,323 1323 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 14:12:57,331 1331 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,332 1332 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 14:12:57,332 1332 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 14:12:57,340 1340 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,341 1341 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 14:12:57,341 1341 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 14:12:57,349 1349 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,352 1352 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 14:12:57,352 1352 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 14:12:57,363 1363 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,364 1364 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 14:12:57,364 1364 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 14:12:57,377 1377 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,378 1378 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 14:12:57,378 1378 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 14:12:57,390 1390 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,392 1392 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 14:12:57,393 1393 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 14:12:57,405 1405 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,407 1407 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 14:12:57,407 1407 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 14:12:57,418 1418 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,420 1420 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 14:12:57,420 1420 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 14:12:57,428 1428 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,429 1429 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 14:12:57,429 1429 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 14:12:57,438 1438 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,438 1438 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 14:12:57,439 1439 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 14:12:57,445 1445 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,446 1446 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 14:12:57,446 1446 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 14:12:57,452 1452 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ] +} +2013-04-28 14:12:57,453 1453 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-28 14:12:57,456 1456 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-28 14:12:57,457 1457 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 14:12:57,457 1457 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 14:12:57,457 1457 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 14:12:57,458 1458 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-28 14:12:57,458 1458 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-28 14:12:57,461 1461 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 23:56:13,025 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-28 23:56:13,044 20 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 23:56:13,121 97 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-28 23:56:13,129 105 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-28 23:56:13,144 120 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 23:56:13,144 120 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 23:56:13,144 120 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 23:56:13,145 121 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-28 23:56:13,561 537 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 23:56:13,572 548 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 23:56:13,573 549 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-28 23:56:13,573 549 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-28 23:56:13,581 557 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-28 23:56:13,583 559 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 23:56:13,583 559 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 23:56:13,583 559 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 23:56:13,586 562 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-28 23:56:13,587 563 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 23:56:13,592 568 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 23:56:13,596 572 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 23:56:13,600 576 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 23:56:13,604 580 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 23:56:13,604 580 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 23:56:13,604 580 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-28 23:56:13,604 580 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-28 23:56:13,604 580 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 23:56:13,607 583 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-28 23:56:13,609 585 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 23:56:13,609 585 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 23:56:13,609 585 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 23:56:13,609 585 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-28 23:56:13,675 651 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-28 23:56:13,675 651 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-28 23:56:13,727 703 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "modelBuilder" : null, + "modelCache" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-28 23:56:13,729 705 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-28 23:56:13,953 929 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:13,964 940 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:13,975 951 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:13,989 965 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:13,999 975 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,009 985 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,024 1000 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,033 1009 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,041 1017 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,049 1025 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,057 1033 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,064 1040 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,065 1041 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 23:56:14,066 1042 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 23:56:14,082 1058 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,082 1058 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 23:56:14,082 1058 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 23:56:14,092 1068 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,093 1069 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 23:56:14,093 1069 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 23:56:14,103 1079 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,107 1083 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 23:56:14,107 1083 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 23:56:14,121 1097 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,123 1099 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 23:56:14,123 1099 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 23:56:14,135 1111 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,136 1112 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 23:56:14,136 1112 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 23:56:14,144 1120 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,145 1121 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 23:56:14,145 1121 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 23:56:14,153 1129 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,154 1130 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-28 23:56:14,154 1130 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-28 23:56:14,165 1141 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,165 1141 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-28 23:56:14,166 1142 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-28 23:56:14,175 1151 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,175 1151 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-28 23:56:14,175 1151 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-28 23:56:14,183 1159 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,184 1160 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-28 23:56:14,184 1160 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-28 23:56:14,192 1168 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,195 1171 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 23:56:14,196 1172 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 23:56:14,204 1180 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,205 1181 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 23:56:14,205 1181 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 23:56:14,214 1190 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,215 1191 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 23:56:14,215 1191 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 23:56:14,223 1199 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,225 1201 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 23:56:14,225 1201 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 23:56:14,232 1208 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,233 1209 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 23:56:14,233 1209 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 23:56:14,240 1216 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,241 1217 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 23:56:14,241 1217 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 23:56:14,247 1223 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,249 1225 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 23:56:14,249 1225 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 23:56:14,256 1232 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,256 1232 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 23:56:14,257 1233 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 23:56:14,263 1239 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,264 1240 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 23:56:14,264 1240 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 23:56:14,270 1246 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,271 1247 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-28 23:56:14,272 1248 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-28 23:56:14,278 1254 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,279 1255 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-28 23:56:14,279 1255 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-28 23:56:14,285 1261 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,286 1262 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-28 23:56:14,286 1262 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-28 23:56:14,292 1268 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-28 23:56:14,292 1268 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-28 23:56:14,295 1271 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-28 23:56:14,296 1272 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-28 23:56:14,296 1272 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-28 23:56:14,297 1273 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-28 23:56:14,297 1273 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-28 23:56:14,297 1273 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-28 23:56:14,300 1276 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 00:27:14,933 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-29 00:27:14,951 19 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 00:27:15,022 90 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-29 00:27:15,028 96 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-29 00:27:15,038 106 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-29 00:27:15,039 107 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-29 00:27:15,039 107 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-29 00:27:15,039 107 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-29 00:27:15,449 517 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 00:27:15,461 529 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 00:27:15,461 529 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-29 00:27:15,461 529 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-29 00:27:15,469 537 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-29 00:27:15,471 539 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-29 00:27:15,471 539 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-29 00:27:15,471 539 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-29 00:27:15,474 542 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-29 00:27:15,475 543 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 00:27:15,480 548 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 00:27:15,484 552 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 00:27:15,489 557 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 00:27:15,492 560 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-29 00:27:15,492 560 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-29 00:27:15,492 560 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-29 00:27:15,492 560 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-29 00:27:15,492 560 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-29 00:27:15,495 563 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 00:27:15,497 565 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-29 00:27:15,497 565 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-29 00:27:15,497 565 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-29 00:27:15,497 565 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-29 00:27:15,561 629 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-29 00:27:15,561 629 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-29 00:27:15,618 686 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-29 00:27:15,620 688 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-29 00:27:15,834 902 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:15,846 914 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:15,856 924 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:15,870 938 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:15,881 949 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:15,890 958 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:15,906 974 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:15,915 983 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:15,923 991 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:15,932 1000 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:15,939 1007 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:15,947 1015 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:15,948 1016 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-29 00:27:15,949 1017 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-29 00:27:15,964 1032 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:15,965 1033 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-29 00:27:15,965 1033 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-29 00:27:15,973 1041 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:15,974 1042 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 00:27:15,974 1042 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 00:27:15,982 1050 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:15,985 1053 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 00:27:15,985 1053 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 00:27:15,994 1062 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:15,995 1063 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-29 00:27:15,996 1064 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-29 00:27:16,003 1071 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:16,004 1072 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-29 00:27:16,004 1072 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-29 00:27:16,012 1080 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:16,012 1080 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 00:27:16,012 1080 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 00:27:16,020 1088 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:16,021 1089 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-29 00:27:16,021 1089 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-29 00:27:16,028 1096 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:16,029 1097 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-29 00:27:16,029 1097 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-29 00:27:16,037 1105 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:16,038 1106 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-29 00:27:16,038 1106 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-29 00:27:16,045 1113 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:16,046 1114 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-29 00:27:16,046 1114 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-29 00:27:16,053 1121 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:16,056 1124 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-29 00:27:16,056 1124 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-29 00:27:16,063 1131 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:16,064 1132 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-29 00:27:16,064 1132 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-29 00:27:16,070 1138 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:16,071 1139 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 00:27:16,071 1139 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 00:27:16,077 1145 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:16,079 1147 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-29 00:27:16,079 1147 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-29 00:27:16,085 1153 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:16,086 1154 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-29 00:27:16,086 1154 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-29 00:27:16,093 1161 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:16,093 1161 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 00:27:16,093 1161 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 00:27:16,100 1168 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:16,101 1169 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-29 00:27:16,101 1169 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-29 00:27:16,108 1176 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:16,108 1176 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-29 00:27:16,108 1176 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-29 00:27:16,114 1182 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:16,115 1183 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 00:27:16,115 1183 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 00:27:16,121 1189 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:16,122 1190 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-29 00:27:16,122 1190 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-29 00:27:16,128 1196 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:16,128 1196 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-29 00:27:16,129 1197 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-29 00:27:16,134 1202 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:16,135 1203 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 00:27:16,135 1203 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 00:27:16,140 1208 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "locale" : null, + "parameters" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-04-29 00:27:16,141 1209 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-29 00:27:16,144 1212 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-29 00:27:16,145 1213 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-29 00:27:16,145 1213 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-29 00:27:16,145 1213 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-29 00:27:16,145 1213 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-29 00:27:16,146 1214 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-29 00:27:16,148 1216 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 10:09:36,459 0 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-29 10:09:36,477 18 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 10:09:36,532 73 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-29 10:09:36,537 78 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-29 10:09:36,547 88 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-29 10:09:36,547 88 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-29 10:09:36,547 88 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-29 10:09:36,547 88 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-29 10:09:36,939 480 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 10:09:36,951 492 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 10:09:36,951 492 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-29 10:09:36,951 492 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-29 10:09:36,959 500 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-29 10:09:36,961 502 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-29 10:09:36,961 502 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-29 10:09:36,961 502 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-29 10:09:36,964 505 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-29 10:09:36,965 506 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 10:09:36,970 511 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 10:09:36,973 514 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 10:09:36,978 519 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 10:09:36,981 522 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-29 10:09:36,981 522 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-29 10:09:36,981 522 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-29 10:09:36,981 522 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-29 10:09:36,981 522 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-29 10:09:36,984 525 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 10:09:36,986 527 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-29 10:09:36,986 527 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-29 10:09:36,986 527 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-29 10:09:36,986 527 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-29 10:09:37,047 588 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-29 10:09:37,047 588 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-29 10:09:37,098 639 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-29 10:09:37,099 640 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-29 10:09:37,316 857 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,327 868 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,337 878 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,351 892 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,361 902 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,371 912 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,387 928 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,396 937 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,404 945 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,412 953 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,420 961 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,428 969 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,429 970 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-29 10:09:37,430 971 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-29 10:09:37,444 985 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,445 986 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-29 10:09:37,445 986 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-29 10:09:37,453 994 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,454 995 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 10:09:37,454 995 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 10:09:37,463 1004 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,466 1007 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 10:09:37,466 1007 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 10:09:37,476 1017 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,477 1018 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-29 10:09:37,478 1019 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-29 10:09:37,486 1027 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,487 1028 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-29 10:09:37,487 1028 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-29 10:09:37,495 1036 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,496 1037 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 10:09:37,496 1037 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 10:09:37,504 1045 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,504 1045 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-29 10:09:37,505 1046 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-29 10:09:37,512 1053 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,513 1054 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-29 10:09:37,513 1054 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-29 10:09:37,521 1062 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,522 1063 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-29 10:09:37,522 1063 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-29 10:09:37,530 1071 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,531 1072 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-29 10:09:37,531 1072 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-29 10:09:37,538 1079 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,541 1082 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-29 10:09:37,542 1083 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-29 10:09:37,549 1090 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,550 1091 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-29 10:09:37,551 1092 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-29 10:09:37,559 1100 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,560 1101 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 10:09:37,560 1101 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 10:09:37,568 1109 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,569 1110 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-29 10:09:37,569 1110 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-29 10:09:37,576 1117 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,576 1117 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-29 10:09:37,577 1118 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-29 10:09:37,583 1124 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,584 1125 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 10:09:37,584 1125 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 10:09:37,590 1131 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,592 1133 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-29 10:09:37,592 1133 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-29 10:09:37,598 1139 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,599 1140 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-29 10:09:37,599 1140 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-29 10:09:37,605 1146 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,605 1146 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 10:09:37,606 1147 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 10:09:37,612 1153 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,613 1154 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-29 10:09:37,613 1154 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-29 10:09:37,619 1160 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,619 1160 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-29 10:09:37,619 1160 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-29 10:09:37,625 1166 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,625 1166 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 10:09:37,625 1166 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 10:09:37,630 1171 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null +} +2013-04-29 10:09:37,631 1172 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-29 10:09:37,634 1175 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-29 10:09:37,635 1176 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-29 10:09:37,635 1176 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-29 10:09:37,635 1176 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-29 10:09:37,635 1176 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-29 10:09:37,636 1177 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-29 10:09:37,639 1180 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 10:16:51,500 2 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-29 10:16:51,528 30 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 10:16:51,607 109 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-29 10:16:51,612 114 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-29 10:16:51,622 124 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-29 10:16:51,623 125 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-29 10:16:51,623 125 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-29 10:16:51,623 125 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-29 10:16:52,055 557 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 10:16:52,067 569 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 10:16:52,067 569 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-29 10:16:52,067 569 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-29 10:16:52,075 577 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-29 10:16:52,077 579 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-29 10:16:52,077 579 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-29 10:16:52,077 579 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-29 10:16:52,080 582 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-29 10:16:52,082 584 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 10:16:52,086 588 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 10:16:52,090 592 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 10:16:52,095 597 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 10:16:52,097 599 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-29 10:16:52,098 600 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-29 10:16:52,098 600 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-29 10:16:52,098 600 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-29 10:16:52,098 600 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-29 10:16:52,100 602 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-29 10:16:52,102 604 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-29 10:16:52,102 604 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-29 10:16:52,102 604 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-29 10:16:52,103 605 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-29 10:16:52,164 666 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-29 10:16:52,164 666 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-29 10:16:52,219 721 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "apiLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceMapping" : { + "*" : "JVM" + }, + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-29 10:16:52,221 723 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-29 10:16:52,472 974 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,486 988 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,499 1001 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,517 1019 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,530 1032 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,542 1044 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,564 1066 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,576 1078 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,587 1089 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,598 1100 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,606 1108 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,616 1118 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,619 1121 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-29 10:16:52,619 1121 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-29 10:16:52,639 1141 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,640 1142 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-29 10:16:52,640 1142 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-29 10:16:52,652 1154 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,654 1156 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 10:16:52,654 1156 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 10:16:52,666 1168 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,670 1172 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 10:16:52,670 1172 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 10:16:52,682 1184 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,684 1186 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-29 10:16:52,684 1186 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-29 10:16:52,697 1199 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,698 1200 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-29 10:16:52,698 1200 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-29 10:16:52,712 1214 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,713 1215 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 10:16:52,713 1215 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 10:16:52,723 1225 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,724 1226 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-29 10:16:52,724 1226 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-29 10:16:52,733 1235 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,734 1236 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-29 10:16:52,734 1236 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-29 10:16:52,745 1247 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,746 1248 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-29 10:16:52,746 1248 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-29 10:16:52,761 1263 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,762 1264 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-29 10:16:52,762 1264 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-29 10:16:52,773 1275 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,778 1280 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-29 10:16:52,778 1280 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-29 10:16:52,790 1292 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,792 1294 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-29 10:16:52,792 1294 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-29 10:16:52,801 1303 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,801 1303 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 10:16:52,802 1304 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 10:16:52,809 1311 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,811 1313 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-29 10:16:52,811 1313 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-29 10:16:52,822 1324 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,823 1325 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-29 10:16:52,823 1325 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-29 10:16:52,832 1334 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,832 1334 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 10:16:52,833 1335 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 10:16:52,842 1344 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,845 1347 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-29 10:16:52,845 1347 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-29 10:16:52,854 1356 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,855 1357 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-29 10:16:52,855 1357 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-29 10:16:52,863 1365 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,864 1366 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 10:16:52,864 1366 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 10:16:52,870 1372 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,872 1374 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-29 10:16:52,872 1374 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-29 10:16:52,877 1379 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,878 1380 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-29 10:16:52,878 1380 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-29 10:16:52,884 1386 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,885 1387 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-29 10:16:52,885 1387 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-29 10:16:52,891 1393 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "locale" : null, + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "embeddedLinkSlotNames" : [ ], + "additionalMetadata" : [ ] +} +2013-04-29 10:16:52,891 1393 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-29 10:16:52,894 1396 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-29 10:16:52,895 1397 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-29 10:16:52,895 1397 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-29 10:16:52,895 1397 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-29 10:16:52,896 1398 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-29 10:16:52,896 1398 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-29 10:16:52,899 1401 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-30 18:51:14,075 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-30 18:51:14,091 17 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-30 18:51:14,151 77 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-30 18:51:14,158 84 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-30 18:51:14,167 93 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-30 18:51:14,167 93 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-30 18:51:14,167 93 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-30 18:51:14,168 94 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-30 18:51:14,545 471 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-30 18:51:14,556 482 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-30 18:51:14,557 483 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-30 18:51:14,557 483 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-30 18:51:14,564 490 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-30 18:51:14,566 492 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-30 18:51:14,566 492 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-30 18:51:14,567 493 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-30 18:51:14,570 496 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-30 18:51:14,571 497 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-30 18:51:14,575 501 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-30 18:51:14,579 505 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-30 18:51:14,583 509 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-30 18:51:14,586 512 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-30 18:51:14,586 512 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-30 18:51:14,587 513 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-30 18:51:14,587 513 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-30 18:51:14,587 513 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-30 18:51:14,589 515 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-30 18:51:14,591 517 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-30 18:51:14,591 517 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-30 18:51:14,592 518 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-30 18:51:14,592 518 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-30 18:51:14,652 578 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-30 18:51:14,653 579 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-30 18:51:14,704 630 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "apiLoader" : null, + "formatLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-30 18:51:14,706 632 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-30 18:51:14,928 854 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:14,939 865 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:14,950 876 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:14,964 890 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:14,974 900 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:14,984 910 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,000 926 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,008 934 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,016 942 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,025 951 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,032 958 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,039 965 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,041 967 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-30 18:51:15,041 967 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-30 18:51:15,055 981 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,056 982 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-30 18:51:15,056 982 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-30 18:51:15,063 989 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,064 990 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-30 18:51:15,064 990 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-30 18:51:15,072 998 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,075 1001 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-30 18:51:15,075 1001 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-30 18:51:15,084 1010 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,085 1011 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-30 18:51:15,085 1011 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-30 18:51:15,093 1019 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,094 1020 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-30 18:51:15,094 1020 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-30 18:51:15,101 1027 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,102 1028 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-30 18:51:15,102 1028 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-30 18:51:15,109 1035 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,110 1036 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-30 18:51:15,110 1036 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-30 18:51:15,117 1043 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,118 1044 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-30 18:51:15,118 1044 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-30 18:51:15,126 1052 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,126 1052 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-30 18:51:15,127 1053 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-30 18:51:15,134 1060 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "element", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,134 1060 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-30 18:51:15,134 1060 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-30 18:51:15,141 1067 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "child", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,143 1069 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-30 18:51:15,144 1070 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-30 18:51:15,150 1076 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,151 1077 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-30 18:51:15,151 1077 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-30 18:51:15,157 1083 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,158 1084 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-30 18:51:15,158 1084 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-30 18:51:15,165 1091 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,166 1092 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-30 18:51:15,166 1092 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-30 18:51:15,172 1098 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,173 1099 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-30 18:51:15,173 1099 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-30 18:51:15,179 1105 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,180 1106 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-30 18:51:15,180 1106 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-30 18:51:15,186 1112 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,188 1114 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-30 18:51:15,188 1114 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-30 18:51:15,194 1120 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,194 1120 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-30 18:51:15,194 1120 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-30 18:51:15,200 1126 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,201 1127 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-30 18:51:15,201 1127 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-30 18:51:15,207 1133 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,208 1134 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-30 18:51:15,208 1134 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-30 18:51:15,214 1140 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "delete", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,214 1140 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-30 18:51:15,215 1141 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-30 18:51:15,220 1146 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "save", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,221 1147 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-30 18:51:15,221 1147 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-30 18:51:15,226 1152 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "localName" : "self", + "namespace" : "org/wrml/relation" + } +} + - Dimensions: +{ + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "parameters" : [ ], + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:51:15,227 1153 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-30 18:51:15,229 1155 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-30 18:51:15,230 1156 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-30 18:51:15,231 1157 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-30 18:51:15,231 1157 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-30 18:51:15,231 1157 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-30 18:51:15,231 1157 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-30 18:51:15,234 1160 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-30 18:54:54,303 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-30 18:54:54,321 19 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-30 18:54:54,380 78 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-30 18:54:54,391 89 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-04-30 18:54:54,403 101 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-30 18:54:54,403 101 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-30 18:54:54,403 101 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-30 18:54:54,403 101 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-04-30 18:54:54,798 496 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-30 18:54:54,809 507 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-30 18:54:54,810 508 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-04-30 18:54:54,810 508 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-04-30 18:54:54,817 515 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-30 18:54:54,819 517 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-30 18:54:54,820 518 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-30 18:54:54,820 518 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-30 18:54:54,823 521 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-04-30 18:54:54,824 522 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-30 18:54:54,829 527 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-30 18:54:54,832 530 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-30 18:54:54,837 535 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-30 18:54:54,839 537 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-30 18:54:54,839 537 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-30 18:54:54,840 538 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-04-30 18:54:54,840 538 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-04-30 18:54:54,840 538 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-30 18:54:54,842 540 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-04-30 18:54:54,844 542 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-30 18:54:54,844 542 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-30 18:54:54,845 543 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-30 18:54:54,845 543 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-04-30 18:54:54,906 604 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-04-30 18:54:54,906 604 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-04-30 18:54:54,959 657 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "formatLoader" : null, + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "services" : [ { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "serviceMapping" : { + "*" : "JVM" + }, + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-04-30 18:54:54,961 659 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-04-30 18:54:55,302 1000 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,314 1012 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,326 1024 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,341 1039 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,352 1050 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,362 1060 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,378 1076 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,387 1085 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,394 1092 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,403 1101 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,411 1109 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,418 1116 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,420 1118 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-30 18:54:55,420 1118 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-30 18:54:55,435 1133 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,436 1134 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-30 18:54:55,436 1134 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-30 18:54:55,444 1142 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,444 1142 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-30 18:54:55,445 1143 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-30 18:54:55,452 1150 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,455 1153 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-30 18:54:55,455 1153 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-30 18:54:55,464 1162 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,466 1164 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-30 18:54:55,466 1164 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-30 18:54:55,473 1171 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,474 1172 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-30 18:54:55,474 1172 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-30 18:54:55,482 1180 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,482 1180 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-30 18:54:55,483 1181 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-30 18:54:55,490 1188 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,491 1189 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-30 18:54:55,491 1189 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-30 18:54:55,498 1196 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,498 1196 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-30 18:54:55,499 1197 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-30 18:54:55,507 1205 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,507 1205 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-04-30 18:54:55,507 1205 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-04-30 18:54:55,514 1212 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,515 1213 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-04-30 18:54:55,515 1213 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-04-30 18:54:55,522 1220 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,524 1222 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-30 18:54:55,524 1222 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-30 18:54:55,531 1229 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,532 1230 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-30 18:54:55,532 1230 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-30 18:54:55,539 1237 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,540 1238 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-30 18:54:55,540 1238 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-30 18:54:55,547 1245 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,548 1246 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-30 18:54:55,549 1247 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-30 18:54:55,555 1253 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,556 1254 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-30 18:54:55,556 1254 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-30 18:54:55,563 1261 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,563 1261 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-30 18:54:55,563 1261 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-30 18:54:55,570 1268 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,571 1269 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-30 18:54:55,571 1269 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-30 18:54:55,578 1276 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,578 1276 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-30 18:54:55,578 1276 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-30 18:54:55,585 1283 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,585 1283 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-30 18:54:55,586 1284 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-30 18:54:55,592 1290 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,593 1291 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-04-30 18:54:55,594 1292 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-04-30 18:54:55,600 1298 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,601 1299 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-04-30 18:54:55,601 1299 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-04-30 18:54:55,607 1305 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,608 1306 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-04-30 18:54:55,608 1306 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-04-30 18:54:55,614 1312 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation", + "excludedSlotNames" : [ ], + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null +} +2013-04-30 18:54:55,615 1313 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-04-30 18:54:55,617 1315 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-04-30 18:54:55,618 1316 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-04-30 18:54:55,618 1316 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-04-30 18:54:55,619 1317 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-04-30 18:54:55,619 1317 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-04-30 18:54:55,619 1317 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-04-30 18:54:55,622 1320 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-05-01 22:16:28,960 1 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, moose::/squirrel:/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 10: //[moose::/squirrel:/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader(WrmlServletTest.java:422) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-05-01 22:16:28,978 19 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-05-01 22:16:29,046 87 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-05-01 22:16:29,052 93 [main] DEBUG org.wrml.server.WrmlServlet getRequestSchemaUri - Falling back to resource default for uri: http://api.caprica.wrml.org +2013-05-01 22:16:29,064 105 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-05-01 22:16:29,064 105 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-05-01 22:16:29,064 105 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-05-01 22:16:29,065 106 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrmlbad.json +2013-05-01 22:16:29,504 545 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-05-01 22:16:29,516 557 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-05-01 22:16:29,517 558 [main] ERROR org.wrml.server.WrmlServlet service - Returning error. +2013-05-01 22:16:29,517 558 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +2013-05-01 22:16:29,525 566 [main] ERROR org.wrml.server.WrmlServlet writeException - An exception was thrown during request processing. +java.lang.Exception: No Schemas associated with requested URI of http://api.caprica.wrml.org/capricas/6 + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:206) + at org.wrml.server.WrmlServletTest.requestNoAcceptHeaderNoDefault(WrmlServletTest.java:237) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-05-01 22:16:29,527 568 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-05-01 22:16:29,527 568 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-05-01 22:16:29,527 568 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-05-01 22:16:29,531 572 [main] ERROR org.wrml.server.WrmlServlet service - Unable to create new URI with params null, http://localhost:8080/, null, /capricas/6 +java.net.URISyntaxException: Expected closing bracket for IPv6 address at index 8: //[http://localhost:8080/]/capricas/6 + at java.net.URI$Parser.fail(URI.java:2829) + at java.net.URI$Parser.failExpecting(URI.java:2835) + at java.net.URI$Parser.parseServer(URI.java:3212) + at java.net.URI$Parser.parseAuthority(URI.java:3136) + at java.net.URI$Parser.parseHierarchical(URI.java:3078) + at java.net.URI$Parser.parse(URI.java:3044) + at java.net.URI.(URI.java:680) + at org.wrml.server.WrmlServlet.service(WrmlServlet.java:187) + at org.wrml.server.WrmlServletTest.requestWithBadHostHeader2(WrmlServletTest.java:461) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) + at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) + at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) + at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) + at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) + at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) + at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) + at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) + at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) + at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) + at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) + at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) + at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) + at org.junit.runners.ParentRunner.run(ParentRunner.java:309) + at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35) + at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115) + at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:601) + at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103) + at $Proxy0.invoke(Unknown Source) + at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150) + at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91) + at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69) +2013-05-01 22:16:29,532 573 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-05-01 22:16:29,537 578 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-05-01 22:16:29,541 582 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-05-01 22:16:29,546 587 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-05-01 22:16:29,549 590 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-05-01 22:16:29,549 590 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-05-01 22:16:29,549 590 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 1 is null +2013-05-01 22:16:29,550 591 [main] DEBUG org.wrml.server.WrmlServlet init - Parameter 2 is null +2013-05-01 22:16:29,550 591 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-05-01 22:16:29,552 593 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] +2013-05-01 22:16:29,554 595 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-05-01 22:16:29,554 595 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-05-01 22:16:29,554 595 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-05-01 22:16:29,554 595 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location wrml.json +2013-05-01 22:16:29,619 660 [main] INFO org.wrml.runtime.DefaultEngine - + __ __ ______ __ __ __ + /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + \ \ \/ ".\ \ \ \ __< \ \ \-./\ \ \ \ \____ + \ \__/".~\_\ \ \_\ \_\ \ \_\ \ \_\ \ \_____\ + \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + +2013-05-01 22:16:29,619 660 [main] INFO org.wrml.runtime.DefaultEngine - Greetings Program! +2013-05-01 22:16:29,674 715 [main] INFO org.wrml.runtime.DefaultEngine init - Creating Engine with config: +{ + "context" : { + "modelCache" : null, + "modelBuilder" : null, + "schemaLoader" : null, + "serviceLoader" : { + "serviceMapping" : { + "*" : "JVM" + }, + "services" : [ { + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "name" : "JVM", + "settings" : { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } ], + "factory" : null, + "settings" : null + }, + "syntaxLoader" : null, + "apiLoader" : null, + "formatLoader" : null, + "factory" : null, + "settings" : null + }, + "settings" : null +} +2013-05-01 22:16:29,675 716 [main] INFO org.wrml.runtime.DefaultContext - Creating new instance of: org.wrml.runtime.DefaultContext +2013-05-01 22:16:30,027 1068 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,039 1080 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,050 1091 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,065 1106 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,076 1117 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,086 1127 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,102 1143 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,112 1153 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,121 1162 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,129 1170 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,136 1177 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,146 1187 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self" +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,148 1189 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-05-01 22:16:30,149 1190 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-05-01 22:16:30,164 1205 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,164 1205 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-05-01 22:16:30,165 1206 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-05-01 22:16:30,173 1214 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,174 1215 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-05-01 22:16:30,174 1215 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-05-01 22:16:30,183 1224 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,186 1227 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-05-01 22:16:30,186 1227 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-05-01 22:16:30,197 1238 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,198 1239 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-05-01 22:16:30,199 1240 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-05-01 22:16:30,208 1249 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,209 1250 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-05-01 22:16:30,209 1250 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-05-01 22:16:30,219 1260 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,219 1260 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-05-01 22:16:30,220 1261 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-05-01 22:16:30,228 1269 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,229 1270 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-05-01 22:16:30,229 1270 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-05-01 22:16:30,238 1279 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,239 1280 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-05-01 22:16:30,239 1280 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-05-01 22:16:30,248 1289 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,249 1290 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/element +2013-05-01 22:16:30,249 1290 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/element" matches *1* results. +2013-05-01 22:16:30,258 1299 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/element", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "element" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,259 1300 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/child +2013-05-01 22:16:30,259 1300 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/child" matches *1* results. +2013-05-01 22:16:30,267 1308 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/child", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "child" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,270 1311 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-05-01 22:16:30,270 1311 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-05-01 22:16:30,278 1319 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,280 1321 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-05-01 22:16:30,280 1321 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-05-01 22:16:30,288 1329 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,289 1330 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-05-01 22:16:30,289 1330 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-05-01 22:16:30,297 1338 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,299 1340 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-05-01 22:16:30,299 1340 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-05-01 22:16:30,306 1347 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,307 1348 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-05-01 22:16:30,307 1348 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-05-01 22:16:30,315 1356 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,316 1357 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-05-01 22:16:30,316 1357 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-05-01 22:16:30,324 1365 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,326 1367 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-05-01 22:16:30,326 1367 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-05-01 22:16:30,333 1374 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,334 1375 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-05-01 22:16:30,334 1375 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-05-01 22:16:30,342 1383 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,343 1384 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-05-01 22:16:30,343 1384 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-05-01 22:16:30,350 1391 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,352 1393 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/delete +2013-05-01 22:16:30,352 1393 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/delete" matches *1* results. +2013-05-01 22:16:30,360 1401 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/delete", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "delete" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,360 1401 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/save +2013-05-01 22:16:30,361 1402 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/save" matches *1* results. +2013-05-01 22:16:30,368 1409 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/save", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "save" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,368 1409 [main] INFO org.wrml.runtime.rest.ApiNavigator match - Attempting match on URI http://relation.api.wrml.org/org/wrml/relation/self +2013-05-01 22:16:30,368 1409 [main] DEBUG org.wrml.runtime.rest.ApiNavigator matchPath - The path "/org/wrml/relation/self" matches *1* results. +2013-05-01 22:16:30,375 1416 [main] DEBUG org.wrml.runtime.DefaultContext getModel - Getting Model + - Keys: +{ + "http://schema.api.wrml.org/org/wrml/model/rest/Document" : "http://relation.api.wrml.org/org/wrml/relation/self", + "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" : { + "namespace" : "org/wrml/relation", + "localName" : "self" + } +} + - Dimensions: +{ + "parameters" : [ ], + "locale" : null, + "additionalMetadata" : [ ], + "embeddedLinkSlotNames" : [ ], + "excludedSlotNames" : [ ], + "includedSlotNames" : [ ], + "referrerUri" : null, + "schemaUri" : "http://schema.api.wrml.org/org/wrml/model/rest/LinkRelation" +} +2013-05-01 22:16:30,376 1417 [main] INFO org.wrml.runtime.service.DefaultServiceLoader loadConfiguredService - Creating and configuring service JVM from configuration. +2013-05-01 22:16:30,379 1420 [main] INFO org.wrml.server.WrmlServlet init - WRML SERVLET INITIALIZED -------------------------------------------------- +2013-05-01 22:16:30,380 1421 [main] DEBUG org.wrml.server.WrmlServlet init - Servlet Name null +2013-05-01 22:16:30,380 1421 [main] DEBUG org.wrml.server.WrmlServlet init - Parameters names passed [ +2013-05-01 22:16:30,380 1421 [main] DEBUG org.wrml.server.WrmlServlet init - ] +2013-05-01 22:16:30,380 1421 [main] INFO org.wrml.server.WrmlServlet init - Extracted configuration location abcdefg +2013-05-01 22:16:30,381 1422 [main] ERROR org.wrml.server.WrmlServlet init - No file found at abcdefg +2013-05-01 22:16:30,384 1425 [main] DEBUG org.wrml.server.WrmlServlet readModel - This type of request does not carry a payload [Get] diff --git a/server/server-core/pom.xml b/server/server-core/pom.xml new file mode 100644 index 0000000..cc857ec --- /dev/null +++ b/server/server-core/pom.xml @@ -0,0 +1,85 @@ + + 4.0.0 + + org.wrml + server + 1.0-SNAPSHOT + + + + Mark Masse (OSS project WRML.org) + http://www.wrml.org + + + server-core + wrml-server-core + The server for the wrml engine. + + + + org.wrml + core + + + javax.servlet + javax.servlet-api + provided + + + junit + junit + test + jar + + + org.mockito + mockito-all + test + + + org.springframework + spring-test + test + + + + + + + com.mycila.maven-license-plugin + maven-license-plugin + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + org.apache.maven.plugins + maven-eclipse-plugin + + + org.apache.maven.plugins + maven-compiler-plugin + + + org.jacoco + jacoco-maven-plugin + + + + + + 100 + 75 + 60 + 75 + 50 + 95 + + ../../core/src/main/resources/headers + + diff --git a/server/server-core/server-core.iml b/server/server-core/server-core.iml new file mode 100644 index 0000000..b0e622b --- /dev/null +++ b/server/server-core/server-core.iml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/server/server-core/src/main/java/org/wrml/server/WrmlServlet.java b/server/server-core/src/main/java/org/wrml/server/WrmlServlet.java new file mode 100644 index 0000000..447eeb3 --- /dev/null +++ b/server/server-core/src/main/java/org/wrml/server/WrmlServlet.java @@ -0,0 +1,949 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.server; + +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.http.HttpHeaders; +import org.apache.http.entity.ContentType; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.wrml.model.Model; +import org.wrml.model.format.Format; +import org.wrml.model.rest.Api; +import org.wrml.model.rest.Method; +import org.wrml.runtime.*; +import org.wrml.runtime.format.FormatLoader; +import org.wrml.runtime.format.ModelReadingException; +import org.wrml.runtime.format.ModelWriterException; +import org.wrml.runtime.rest.*; +import org.wrml.runtime.rest.MediaType.MediaTypeException; +import org.wrml.util.PropertyUtil; + +import javax.servlet.ServletConfig; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.*; + +/** + * The WRML engine's HTTP server adapter. + */ +public class WrmlServlet extends HttpServlet +{ + + /** + * TODO: Javadoc this. + *

+ * TODO: Consider removing the X- prefix, see: + * "Deprecating the "X-" Prefix and Similar Constructs in Application Protocols" + * http://www.ietf.org/rfc/rfc6648.txt + */ + public static final String WRML_HOST_HEADER_NAME = "X-WRML-Host"; + + /** + * TODO: Javadoc this. + *

+ * TODO: Consider removing the X- prefix, see: + * "Deprecating the "X-" Prefix and Similar Constructs in Application Protocols" + * http://www.ietf.org/rfc/rfc6648.txt + */ + public static final String WRML_PORT_HEADER_NAME = "X-WRML-Port"; + + /** + * TODO: Javadoc this. + *

+ * TODO: Consider removing the X- prefix, see: + * "Deprecating the "X-" Prefix and Similar Constructs in Application Protocols" + * http://www.ietf.org/rfc/rfc6648.txt + */ + public static final String WRML_SCHEME_HEADER_NAME = "X-WRML-Scheme"; + + public static final String WRML_CONFIGURATION_FILE_PATH_INIT_PARAM_NAME = "wrml-config-file-path"; + + public static final String WRML_CONFIGURATION_RESOURCE_PATH_INIT_PARAM_NAME = "wrml-config-resource-path"; + + private static final Logger LOGGER = LoggerFactory.getLogger(WrmlServlet.class); + + private static final long serialVersionUID = 1L; + + private Engine _Engine; + + /** + * Creates a new instance of the {@link WrmlServlet}. + * + * @see #init(javax.servlet.ServletConfig) + */ + public WrmlServlet() + { + + } + + @Override + public void init(final ServletConfig servletConfig) throws ServletException + { + + LOGGER.debug("Servlet Name {}", servletConfig.getServletName()); + + if (LOGGER.isDebugEnabled()) + { + + LOGGER.debug("Parameters names passed ["); + List paramList = new ArrayList<>(); + Enumeration params = servletConfig.getInitParameterNames(); + while (params.hasMoreElements()) + { + String paramName = params.nextElement(); + paramList.add(String.format("%s=%s", paramName, servletConfig.getInitParameter(paramName))); + } + LOGGER.debug("Parameters names passed={}", Arrays.toString(paramList.toArray())); + } + + super.init(servletConfig); + + final String configFileLocation = PropertyUtil.getSystemProperty( + EngineConfiguration.WRML_CONFIGURATION_FILE_PATH_PROPERTY_NAME, + servletConfig.getInitParameter(WRML_CONFIGURATION_FILE_PATH_INIT_PARAM_NAME)); + + + String configResourceLocation = null; + if (configFileLocation == null) + { + configResourceLocation = servletConfig.getInitParameter(WRML_CONFIGURATION_RESOURCE_PATH_INIT_PARAM_NAME); + } + + try + { + + final EngineConfiguration engineConfig; + + if (configFileLocation != null) + { + LOGGER.info("Extracted configuration file location: {}", configFileLocation); + engineConfig = EngineConfiguration.load(configFileLocation); + } + else if (configResourceLocation != null) + { + LOGGER.info("Extracted configuration resource location: {}", configResourceLocation); + engineConfig = EngineConfiguration.load(getClass(), configResourceLocation); + } + else + { + throw new ServletException("The WRML engine configuration is null. Unable to initialize servlet."); + } + + final Engine engine = new DefaultEngine(); + engine.init(engineConfig); + setEngine(engine); + } + catch (IOException ex) + { + throw new ServletException("Unable to initialize servlet.", ex); + } + + // + // TODO: Uncomment this when the broken merge is unbroken + // + /* + String exceptionMapConfigFilePath = servletConfig.getInitParameter(EXCEPTION_MAP_CONFIG_KEY); + if (!StringUtils.isEmpty(exceptionMapConfigFilePath)) + { + ObjectMapper mapper = new ObjectMapper(); + try + { + InputStream is = new FileInputStream(exceptionMapConfigFilePath); + this.exceptionMap = mapper.readValue(is, ExceptionMap.class); + } + catch (Exception e) + { + throw new ServletException("Error reading exception map config file", e); + } + } + */ + + + LOGGER.info("WRML SERVLET INITIALIZED --------------------------------------------------"); + } + + /** + * The WRML {@link Engine} that is wrapped by this {@link WrmlServlet}. + * + * @return The WRML {@link Engine} that is wrapped by this {@link WrmlServlet}. + */ + public Engine getEngine() + { + + return _Engine; + } + + /** + * Sets the {@link WrmlServlet}'s {@link Engine} programatically. + * + * @param engine The WRML {@link Engine} to be used by this {@link WrmlServlet}. + */ + public void setEngine(final Engine engine) + { + + _Engine = engine; + } + + /** + * The current {@link Context} associated with the {@link Engine} that is wrapped by this {@link WrmlServlet}. + * + * @return The current {@link Context} associated with the {@link Engine} that is wrapped by this {@link WrmlServlet}. + */ + public Context getContext() + { + + final Context context = getEngine().getContext(); + return context; + + } + + @Override + protected void service(final HttpServletRequest request, final HttpServletResponse response) throws IOException + { + + final Context context = getContext(); + final ApiLoader apiLoader = context.getApiLoader(); + + // Determine the HTTP interaction method. + final Method method = Method.fromProtocolGivenName(request.getMethod().toUpperCase()); + + try + { + // Determine the identity of the request's resource "endpoint". + final URI requestUri = getRequestUri(request); + + final ApiNavigator apiNavigator = apiLoader.getParentApiNavigator(requestUri); + if (apiNavigator == null) + { + throw new ServletException("A 404. No parent WRML REST API was found for requested URI: " + requestUri); + } + + final Api api = apiNavigator.getApi(); + + LOGGER.debug("Request is associated with REST API: {}.", api.getTitle()); + + final Resource endpointResource = apiNavigator.getResource(requestUri); + if (endpointResource == null) + { + throw new ServletException("A 404. The WRML REST API (" + api.getTitle() + ") doesn't define a resource that matches the requested URI: " + requestUri); + } + + final String acceptHeaderStringValue = request.getHeader(HttpHeaders.ACCEPT); + final List acceptableMediaTypes = new AcceptableMediaTypeList(acceptHeaderStringValue); + + // Build the Model query object's; the Keys (URI and other identities) and Dimensions ("header" metadata). + final Dimensions dimensions = buildDimensions(request, method, requestUri, api, acceptableMediaTypes); + final Keys keys = apiLoader.buildDocumentKeys(requestUri, dimensions.getSchemaUri()); + + LOGGER.debug("Request Keys: {}.", keys); + LOGGER.debug("Request Dimensions: {}.", dimensions); + + // Read the request entity (with PUT or POST) as a model that will be passed as a parameter. + final Model parameterModel = readModelFromRequestEntity(request, method, requestUri); + + //LOGGER.debug("Request method [" + method.getProtocolGivenName() + "] passed parameter Model\n: " + parameterModel); + + // Delegate to the WRML runtime to service the request from here. + final Model responseModel = context.request(method, keys, dimensions, parameterModel); + + LOGGER.debug("Request method [" + method.getProtocolGivenName() + "] returning response Model: \n" + responseModel); + + // Figure out how to respond + delegateResponse(requestUri, method, responseModel, response, acceptableMediaTypes); + + } + catch (final Exception e) + { + // Bad Request + LOGGER.error("Returning error.", e); + + + // TODO, map a response in the function call? + writeException(e, response, !method.isEntityAllowedInResponseMessage()); + } + } + + /** + * Get the requested resource's id from the the {@link HttpServletRequest}. + * + * @param request The {@link HttpServletRequest} that holds the {@link URI}. + * @return The requested resource's id from the the {@link HttpServletRequest}. + * @throws URISyntaxException Thrown if there is a syntax problem when constructing the {@link URI}. + */ + URI getRequestUri(final HttpServletRequest request) throws URISyntaxException + { + // Due to the quirky nature of a servlet container, we're after the entire path. + // This seems to work with servlet 3.0 and Tomcat 7.X + String path = request.getServletPath(); + String extra = request.getPathInfo(); + if (path != null && extra != null) + { + path += request.getPathInfo(); + } + else if (path == null) + { + path = extra; + } + + if (path.endsWith("/")) + { + path = path.substring(0, path.length() - 1); + } + + final String host = StringUtils.defaultIfEmpty(request.getHeader(WRML_HOST_HEADER_NAME), request.getRemoteHost()); + final String portString = StringUtils.defaultIfEmpty(request.getHeader(WRML_PORT_HEADER_NAME), Integer.toString(request.getRemotePort())); + final String scheme = StringUtils.defaultIfEmpty(request.getHeader(WRML_SCHEME_HEADER_NAME), request.getScheme()); + int port = -1; + + port = Integer.parseInt(portString); + if (port == 80) + { + port = -1; + } + final URI requestUri = new URI(scheme, null, host, port, path, null, null); + + LOGGER.debug("Determined request URI: {}", requestUri); + return requestUri; + } + + List getAcceptableResponseEntitySchemaUris(final Method method, final URI requestUri, final List acceptableMediaTypes) throws ServletException + { + + final List acceptableSchemaUriList = new ArrayList<>(); + + for (final MediaType mediaType : acceptableMediaTypes) + { + if (mediaType.getParameter(SystemMediaType.PARAMETER_NAME_SCHEMA) != null && mediaType.getFullType().equals(SystemMediaType.MEDIA_TYPE_STRING_WRML)) + { + + final String acceptableSchemaUriString = mediaType.getParameter(SystemMediaType.PARAMETER_NAME_SCHEMA); + final URI acceptableSchemaUri = URI.create(acceptableSchemaUriString); + acceptableSchemaUriList.add(acceptableSchemaUri); + } + } + + if (acceptableSchemaUriList.isEmpty()) + { + final ApiLoader loader = getContext().getApiLoader(); + final ApiNavigator apiNavigator = loader.getParentApiNavigator(requestUri); + final Resource endpointResource = apiNavigator.getResource(requestUri); + final Set responseSchemaUris = endpointResource.getResponseSchemaUris(method); + if (responseSchemaUris != null) + { + acceptableSchemaUriList.addAll(responseSchemaUris); + } + } + + return acceptableSchemaUriList; + } + + /** + * Build the WRML {@link Dimensions} object that, within the WRML runtime, will represent many of the same + * "metadata" ideas that HTTP has delcared {@link org.wrml.runtime.rest.CommonHeader}s. + * + * @param request The {@link HttpServletRequest} that holds the metadata that is needed for the {@link Dimensions}. + * @param method The requested interaction {@link Method}. + * @param requestUri The requested resource's id ({@link URI}). + * @param api The target REST API ({@link Api}). + * @param acceptableMediaTypes The client-specified acceptable {@link MediaType}s. + * @return The requested {@link Dimensions} of the desired response entity {@link Model}. + */ + Dimensions buildDimensions(final HttpServletRequest request, final Method method, final URI requestUri, final Api api, final List acceptableMediaTypes) throws ServletException + { + + // Determine the best possible schema URI for the response. + final List acceptableSchemaUriList = getAcceptableResponseEntitySchemaUris(method, requestUri, acceptableMediaTypes); + + final URI responseModelSchemaUri; + if (!acceptableSchemaUriList.isEmpty()) + { + responseModelSchemaUri = acceptableSchemaUriList.get(0); + } + else + { + + if (!acceptableMediaTypes.isEmpty()) + { + throw new ServletException("A 406. The WRML REST API (" + api.getTitle() + ") doesn't define any acceptable representations of the resource identified by: " + requestUri); + } + + if (method == Method.Get) + { + throw new ServletException("A 403? The WRML REST API (" + api.getTitle() + ") doesn't define any representation of the resource identified by: " + requestUri); + } + + // The interaction may not return anything, (e.g. DELETE) + responseModelSchemaUri = null; + } + + + final DimensionsBuilder dimensionsBuilder = new DimensionsBuilder(responseModelSchemaUri); + + if (responseModelSchemaUri != null && !acceptableMediaTypes.isEmpty()) + { + + // It would make sense for this to be the first (and only) media type that a WRML client would pass in the Accept header. + final MediaType mediaType = acceptableMediaTypes.get(0); + if (mediaType.getFullType().equals(SystemMediaType.MEDIA_TYPE_STRING_WRML)) + { + // These are communicated to a WRML server as parameters to the WRML media type that is passed in the HTTP Accept header. + final String includedSlotNamesStringValue = mediaType.getParameter(SystemMediaType.PARAMETER_NAME_INCLUDE); + final List includedSlotNames = dimensionsBuilder.getIncludedSlotNames(); + includedSlotNames.addAll(parseMediaTypeParameterList(includedSlotNamesStringValue)); + + final String excludedSlotNamesStringValue = mediaType.getParameter(SystemMediaType.PARAMETER_NAME_EXCLUDE); + final List excludedSlotNames = dimensionsBuilder.getExcludedSlotNames(); + excludedSlotNames.addAll(parseMediaTypeParameterList(excludedSlotNamesStringValue)); + + final String embeddedLinkSlotNamesStringValue = mediaType.getParameter(SystemMediaType.PARAMETER_NAME_EMBED); + final List embeddedLinkSlotNames = dimensionsBuilder.getEmbeddedLinkSlotNames(); + embeddedLinkSlotNames.addAll(parseMediaTypeParameterList(embeddedLinkSlotNamesStringValue)); + } + + } + + final Locale locale = request.getLocale(); + dimensionsBuilder.setLocale(locale); + + final SortedMap metadata = dimensionsBuilder.getMetadata(); + final Enumeration headerNames = request.getHeaderNames(); + while (headerNames.hasMoreElements()) + { + final String headerName = headerNames.nextElement(); + + final Enumeration headerValues = request.getHeaders(headerName); + final StringBuilder headerValueStringBuilder = new StringBuilder(); + while (headerValues.hasMoreElements()) + { + final String partialHeaderValue = headerValues.nextElement(); + headerValueStringBuilder.append(partialHeaderValue); + if (headerValues.hasMoreElements()) + { + headerValueStringBuilder.append(", "); + } + } + + final String headerValue = headerValueStringBuilder.toString(); + metadata.put(headerName, headerValue); + + final CommonHeader commonHeader = CommonHeader.fromString(headerName); + if (commonHeader == null) + { + continue; + } + + switch (commonHeader) + { + case REFERER: + + final URI referrerUri = URI.create(headerValue); + dimensionsBuilder.setReferrerUri(referrerUri); + break; + + default: + break; + } + } + + + final SortedMap queryParameters = dimensionsBuilder.getQueryParameters(); + final Enumeration parameterNames = request.getParameterNames(); + while (parameterNames.hasMoreElements()) + { + final String parameterName = parameterNames.nextElement(); + final String[] parameterValues = request.getParameterValues(parameterName); + final String parameterValue = StringUtils.join(parameterValues, ", "); + queryParameters.put(parameterName, parameterValue); + } + + + final Context context = getContext(); + final ApiLoader apiLoader = context.getApiLoader(); + final Dimensions dimensions = apiLoader.buildDocumentDimensions(method, requestUri, dimensionsBuilder); + return dimensions; + } + + + List parseMediaTypeParameterList(final String listString) + { + + if (StringUtils.isEmpty(listString)) + { + return Collections.EMPTY_LIST; + } + + final String[] listElementArray = StringUtils.split(listString, ", "); + return Arrays.asList(listElementArray); + } + + /** + * TODO: Add Javadoc comments. + * + * @param location + * @param method + * @param responseModel + * @param response + * @param acceptableMediaTypes + * @throws IOException + * @throws ServletException + */ + void delegateResponse(final URI location, final Method method, final Model responseModel, final HttpServletResponse response, final List acceptableMediaTypes) + throws IOException, ServletException + { + // TODO flesh out Method/Model/Status mapping + // TODO inlcude exception handling here? + if (responseModel == null) + { + if (method.isEntityAllowedInResponseMessage() || method.equals(Method.Metadata)) + { + writeNotFound(response); + } + else + { + writeVoid(response); + } + } + else + { + try + { + writeModelAsResponseEntity(response, responseModel, acceptableMediaTypes, !method.isEntityAllowedInResponseMessage()); + } + catch (final ModelWriterException | MediaTypeException e) + { + throw new ServletException("Failed to write model to HTTP response output stream (URI = " + location + ", Model = [" + responseModel + "]).", e); + } + } + } + + Model readModelFromRequestEntity(final HttpServletRequest request, final Method requestMethod, final URI uri) throws ServletException + { + + if (!requestMethod.isEntityAllowedInRequestMessage()) + { + LOGGER.debug("This type of request does not carry a payload [{}]", new Object[]{requestMethod}); + return null; + } + + MediaType requestEntityMediaType = null; + if (request.getContentType() != null) + { + try + { + requestEntityMediaType = new MediaType(request.getContentType()); + } + catch (final MediaTypeException ex) + { + LOGGER.error("Unable to create request media type.", ex); + } + } + + final URI requestEntitySchemaUri = getRequestEntitySchemaUri(requestEntityMediaType, requestMethod, uri); + final URI requestEntityFormatUri = getRequestFormatUri(requestEntityMediaType); + + if (requestEntitySchemaUri == null) + { + LOGGER.debug("The request schema URI is null, returning null"); + return null; + } + + Model model = null; + InputStream in; + try + { + in = request.getInputStream(); + } + catch (final Exception e) + { + throw new ServletException("Failed to read HTTP request content."); + } + try + { + model = getContext().readModel(in, uri, requestEntitySchemaUri, requestEntityFormatUri); + } + catch (final ModelReadingException e) + { + throw new ServletException("Failed to read model graph from HTTP response input stream (URI = " + request.getRequestURI() + ", Schema = [" + requestEntitySchemaUri + "]).", + e); + } + finally + { + try + { + // TODO: Is this the appropriate way to finish with the InputStream? + in.close(); + } + catch (final IOException e) + { + throw new ServletException("Failed to close model graph input stream.", e); + } + } + + return model; + } + + /** + * Get the non-null {@link URI} of the {@link Format} used to deserialize the request entity. + * + * @param requestEntityMediaType The {@link MediaType} that may identify the {@link Format} and/or {@link org.wrml.model.schema.Schema}. + * @return The non-null {@link URI} of the {@link Format} used to deserialize the request entity. + */ + URI getRequestFormatUri(final MediaType requestEntityMediaType) + { + + URI requestFormatUri = null; + + if (requestEntityMediaType != null) + { + if (requestEntityMediaType.getFullType().equals(SystemMediaType.MEDIA_TYPE_STRING_WRML)) + { + requestFormatUri = URI.create(requestEntityMediaType.getParameter(SystemMediaType.PARAMETER_NAME_FORMAT)); + } + else + { + requestFormatUri = getLoadedFormatUri(requestEntityMediaType); + } + } + + if (requestFormatUri == null) + { + requestFormatUri = getDefaultFormatUri(); + } + + return requestFormatUri; + } + + /** + * Get the {@link URI} of the {@link org.wrml.model.schema.Schema} used to describe the request entity. + * + * @param requestEntityMediaType The {@link MediaType} that may identify the {@link Format} and/or {@link org.wrml.model.schema.Schema}. + * @return The {@link URI} of the {@link org.wrml.model.schema.Schema} used to describe the request entity. + */ + URI getRequestEntitySchemaUri(final MediaType requestEntityMediaType, final Method method, final URI uri) + { + + URI requestSchemaUri = null; + + if (requestEntityMediaType != null && requestEntityMediaType.getFullType().equals(SystemMediaType.MEDIA_TYPE_STRING_WRML)) + { + requestSchemaUri = URI.create(requestEntityMediaType.getParameter(SystemMediaType.PARAMETER_NAME_SCHEMA)); + } + + if (requestSchemaUri == null) + { + LOGGER.debug("Falling back to resource default for uri: {}", uri); + requestSchemaUri = getContext().getApiLoader().getDefaultResponseSchemaUri(method, uri); + } + + return requestSchemaUri; + } + + // + // TODO: Uncomment this when the broken merge is unbroken + // + /* + private void writeException(final HttpServletRequest request, final HttpServletResponse response, final Exception error) throws IOException + { + + final Method method = Method.fromProtocolGivenName(request.getMethod().toUpperCase()); + try + { + Context context = getContext(); + final List accepts = new AcceptableMediaTypeList(request.getHeader(HttpHeaders.ACCEPT)); + ExceptionMapEntry eme = exceptionMap.map(request.getMethod(), error); + Alert alertModel = context.newModel(Alert.class); + alertModel.setSlotValue("category", eme.getCattegory()); + alertModel.setSlotValue("message", eme.formatMessage(error)); + alertModel.setSlotValue("type", eme.getType()); + alertModel.setSlotValue("details", eme.formatDetails(error)); + writeModel(eme.getHttpStatusCode(), response, alertModel, accepts, !method.isEntityAllowedInResponseMessage()); + } + catch (Exception e) + { + writeException(e, response, !method.isEntityAllowedInResponseMessage()); + } + } + */ + + private void writeException(final Exception e, final HttpServletResponse response, final boolean noBody) throws IOException + { + + LOGGER.error("An exception was thrown during request processing.", e); + + response.setContentType(ContentType.TEXT_PLAIN.toString()); + response.setStatus(HttpServletResponse.SC_BAD_REQUEST); + + if (!noBody) + { + // NullPointerExceptions don't have messages. + if (null != e.getMessage()) + { + response.setContentLength(e.getMessage().length()); + + final OutputStream responseOut = response.getOutputStream(); + + IOUtils.write((e.getMessage()), responseOut); + responseOut.flush(); + responseOut.close(); + } + } + + response.flushBuffer(); + } + + void writeModelAsResponseEntity(final HttpServletResponse response, final Model responseModel, final List acceptableMediaTypes, final boolean noBody) throws MediaTypeException, ServletException, IOException + { + + // Set the content type + MediaType responseEntityMediaType = getMostAcceptableMediaType(responseModel.getSchemaUri(), acceptableMediaTypes); + if (responseEntityMediaType == null) + { + responseEntityMediaType = getDefaultMediaType(); + } + final String contentTypeHeaderValue = responseEntityMediaType.toContentType(); + response.setContentType(contentTypeHeaderValue); + + LOGGER.debug("Responding with Content-Type: " + contentTypeHeaderValue); + + // Set the locale + final Dimensions responseDimensions = responseModel.getDimensions(); + final Locale responseLocale = responseDimensions.getLocale(); + if (responseLocale != null) + { + response.setLocale(responseLocale); + } + + // Set the status + response.setStatus(HttpServletResponse.SC_OK); + + if (noBody) + { + response.setContentLength(0); + } + else + { + final Context context = getContext(); + // TODO This isn't great + final ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); + + // Set the format for output + URI formatUri = null; + if (responseEntityMediaType.getFullType().equals(SystemMediaType.MEDIA_TYPE_STRING_WRML)) + { + final String format = responseEntityMediaType.getParameter(SystemMediaType.PARAMETER_NAME_FORMAT); + if (format != null) + { + formatUri = URI.create(format); + } + } + else + { + formatUri = getLoadedFormatUri(responseEntityMediaType); + } + + // TODO Unfunkify this + context.writeModel(byteOut, responseModel, formatUri); + + final byte[] modelBytes = byteOut.toByteArray(); + final int contentLength = modelBytes.length; + response.setContentLength(contentLength); + + final OutputStream responseOut = response.getOutputStream(); + IOUtils.write(modelBytes, responseOut); + // Make sure it's on the wire + responseOut.flush(); + // Close our stream + responseOut.close(); + } + + response.flushBuffer(); + // TODO: response.setBufferSize(?); - Is this needed? + // TODO: response.setCharacterEncoding(?); - Is this needed? + // TODO: Set other headers as needed. + } + + /** + * Computes the most acceptable {@link MediaType} from the specified {@link List}, with consideration of response model's schema. + * + * @param responseSchemaUri The {@link java.net.URI} of the {@link org.wrml.model.schema.Schema} that describes the form of the response model. + * @param acceptableMediaTypes The {@link java.util.List} of {@link org.wrml.runtime.rest.MediaType}s that the requestor is willing to accept. + * @return The most acceptable {@link MediaType} from the specified {@link List}, or null if none of the acceptable types are supported. + */ + MediaType getMostAcceptableMediaType(final URI responseSchemaUri, final List acceptableMediaTypes) throws MediaTypeException + { + + for (final MediaType mediaType : acceptableMediaTypes) + { + // Skip wild card types. + if (mediaType.getType().equals(MediaType.WILDCARD) || mediaType.getSubType().equals(MediaType.WILDCARD)) + { + continue; + } + + if (mediaType.getFullType().equals(SystemMediaType.MEDIA_TYPE_STRING_WRML)) + { + // This is an application/wrml media type + MediaType wrmlMediaType = null; + + final String responseSchemaUriString = responseSchemaUri.toString(); + + final String wrmlMediaTypeSchemaUriString = mediaType.getParameter(SystemMediaType.PARAMETER_NAME_SCHEMA); + if (wrmlMediaTypeSchemaUriString == null) + { + wrmlMediaType = new MediaType(mediaType.getFullType()); + wrmlMediaType.setParameter(SystemMediaType.PARAMETER_NAME_SCHEMA, responseSchemaUriString); + } + else if (!wrmlMediaTypeSchemaUriString.equals(responseSchemaUriString)) + { + // TODO: Consider using Prototype.isAssignableFrom to allow for polymorphism here (instead of exact schema ID match). + // Should this return null instead to indicate that the WRML-specific response schema is not here? + continue; + } + + final String wrmlMediaTypeFormatUriString = mediaType.getParameter(SystemMediaType.PARAMETER_NAME_FORMAT); + if (wrmlMediaTypeFormatUriString == null) + { + + if (wrmlMediaType == null) + { + wrmlMediaType = new MediaType(mediaType.getFullType()); + + // We didn't need to adjust the schema but we do need to set the format param so we a new MediaType with both params (schema & format). + wrmlMediaType.setParameter(SystemMediaType.PARAMETER_NAME_SCHEMA, mediaType.getParameter(SystemMediaType.PARAMETER_NAME_SCHEMA)); + } + + wrmlMediaType.setParameter(SystemMediaType.PARAMETER_NAME_FORMAT, getDefaultFormatUri().toString()); + } + else + { + + final URI formatUri = URI.create(wrmlMediaTypeFormatUriString); + final Context context = getContext(); + final FormatLoader formatLoader = context.getFormatLoader(); + + if (formatLoader.getFormatter(formatUri) == null) + { + // Should this return null instead to indicate that the WRML-specific response format is not here? + continue; + } + } + + return (wrmlMediaType != null) ? wrmlMediaType : mediaType; + } + else + { + final URI formatUri = getLoadedFormatUri(mediaType); + if (formatUri != null) + { + return mediaType; + } + } + } + + // No exact match + return null; + } + + void writeNotFound(final HttpServletResponse response) throws IOException + { + + response.setStatus(HttpServletResponse.SC_NOT_FOUND); + response.setContentLength(0); + response.flushBuffer(); + } + + void writeVoid(final HttpServletResponse response) throws IOException + { + + // TODO + + /* + * Writing no entity body in the response may be perfectly fine...depending on the intent of the request (method, desired schema, etc), which is expressed in the + * intendedResponseDimensions. + */ + + // TODO + response.setStatus(HttpServletResponse.SC_OK); + response.setContentLength(0); + response.flushBuffer(); + } + + /** + * Get the {@link URI} of an already loaded {@link Format} that is identified by the specified {@link MediaType}. + * + * @param mediaType The {@link MediaType} that identifies the {@link Format}. + * @return The {@link URI} of an already loaded {@link Format} or null if it could not be found. + */ + URI getLoadedFormatUri(final MediaType mediaType) + { + + final Context context = getContext(); + final FormatLoader formatLoader = context.getFormatLoader(); + final Format format = formatLoader.getLoadedFormat(mediaType); + if (format == null) + { + return null; + } + + return format.getUri(); + } + + /** + * The default {@link Format} {@link URI} associated with the runtime. + * + * @return The default {@link Format} {@link URI} associated with the runtime. + */ + URI getDefaultFormatUri() + { + + final Context context = getContext(); + final FormatLoader formatLoader = context.getFormatLoader(); + return formatLoader.getDefaultFormatUri(); + } + + /** + * The default {@link Format} {@link MediaType} associated with the runtime. + * + * @return The default {@link Format} {@link MediaType} associated with the runtime. + */ + MediaType getDefaultMediaType() + { + + final Context context = getContext(); + final FormatLoader formatLoader = context.getFormatLoader(); + return formatLoader.getDefaultFormat().getMediaType(); + } + +} diff --git a/server/server-core/src/test/java/org/wrml/server/WrmlServletTest.java b/server/server-core/src/test/java/org/wrml/server/WrmlServletTest.java new file mode 100644 index 0000000..33f60eb --- /dev/null +++ b/server/server-core/src/test/java/org/wrml/server/WrmlServletTest.java @@ -0,0 +1,817 @@ +/** + * WRML - Web Resource Modeling Language + * __ __ ______ __ __ __ + * /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ + * \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ + * \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ + * \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ + * + * http://www.wrml.org + * + * Copyright (C) 2013 Mark Masse (OSS project WRML.org) + * + * Licensed 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.wrml.server; + +import org.apache.http.HttpHeaders; +import org.apache.http.entity.ContentType; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.invocation.InvocationOnMock; +import org.mockito.stubbing.Answer; +import org.springframework.mock.web.MockHttpServletRequest; +import org.springframework.mock.web.MockHttpServletResponse; +import org.wrml.model.Model; +import org.wrml.model.format.Format; +import org.wrml.model.rest.Api; +import org.wrml.model.rest.Document; +import org.wrml.model.rest.Method; +import org.wrml.runtime.*; +import org.wrml.runtime.format.FormatLoader; +import org.wrml.runtime.format.Formatter; +import org.wrml.runtime.format.SystemFormat; +import org.wrml.runtime.rest.*; +import org.wrml.runtime.rest.MediaType.MediaTypeException; + +import javax.servlet.ServletConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.*; + +import static org.junit.Assert.assertTrue; +import static org.mockito.Matchers.anyInt; +import static org.mockito.Mockito.*; + +public class WrmlServletTest +{ + + private static final String BAD_HOST_1 = "moose::/squirrel:/"; + + private static final String BAD_HOST_2 = "http://localhost:8080/"; + + private static final String LOCALHOST = "localhost"; + + private static final String CAPRICA_API_DOMAIN = "api.caprica.wrml.org"; + + private static final String PORT_1 = "8080"; + + private static final String PORT_2 = "80"; + + private static final String DEFAULT_CONTENT_TYPE = SystemFormat.json.getUniqueName().getFullName(); + + private static final URI DOCROOT_ENDPOINT = URI.create("http://" + CAPRICA_API_DOMAIN); + + private static final URI DOCROOT_SLASH_ENDPOINT = DOCROOT_ENDPOINT.resolve("/"); + + private static final URI CAPRICA_SIX_SPOOF_1_ENDPOINT = URI.create("http://localhost/capricas/6"); + + private static final URI CAPRICA_SIX_SPOOF_2_ENDPOINT = URI.create("http://localhost:8080/capricas/6"); + + private static final URI CAPRICA_SIX_ENDPOINT = DOCROOT_ENDPOINT.resolve("/capricas/6"); + + private static final URI CAPRICA_SCHEMA_URI = SystemApi.Schema.getUri().resolve("/org/wrml/example/model/Caprica"); + + private static final String JSON_MEDIA_TYPE = SystemFormat.json.getUniqueName().getFullName(); + + private Engine _Engine; + + private WrmlServlet _Servlet; + + @Before + public void init() throws MediaTypeException + { + + _Servlet = new WrmlServlet(); + _Engine = mock(Engine.class); + + Context context = mock(Context.class); + when(_Engine.getContext()).thenReturn(context); + + FormatLoader formatLoader = mock(FormatLoader.class); + when(context.getFormatLoader()).thenReturn(formatLoader); + + final URI defaultFormatUri = SystemFormat.json.getFormatUri(); + final MediaType defaultFormatMediaType = SystemFormat.json.getMediaType(); + + Format defaultFormat = mock(Format.class); + when(formatLoader.getDefaultFormat()).thenReturn(defaultFormat); + when(formatLoader.getDefaultFormatUri()).thenReturn(defaultFormatUri); + when(formatLoader.getLoadedFormat((MediaType) null)).thenReturn(defaultFormat); + when(formatLoader.getLoadedFormat(defaultFormatMediaType)).thenReturn(defaultFormat); + + when(defaultFormat.getMediaType()).thenReturn(defaultFormatMediaType); + when(defaultFormat.getUri()).thenReturn(defaultFormatUri); + + ApiLoader loader = mock(ApiLoader.class); + when(context.getApiLoader()).thenReturn(loader); + + } + + private void initMockWrmlRequest(final MockHttpServletRequest request, final Method method, final URI requestUri, final URI responseSchemaUri) + { + + _Servlet.setEngine(_Engine); + final Context context = _Engine.getContext(); + + final URI documentSchemaUri = SystemApi.Schema.getUri().resolve(Document.class.getName().replace('.', '/')); + final Keys keys = new KeysBuilder().addKey(documentSchemaUri, requestUri).toKeys(); + + final Model responseModel = mock(Model.class); + when(responseModel.getSchemaUri()).thenReturn(responseSchemaUri); + + ApiLoader loader = context.getApiLoader(); + when(loader.getDefaultResponseSchemaUri(method, requestUri)).thenReturn(responseSchemaUri); + when(loader.buildDocumentKeys(requestUri, responseSchemaUri)).thenReturn(keys); + when(loader.buildDocumentDimensions(any(Method.class), any(URI.class), any(DimensionsBuilder.class))).thenAnswer(new Answer() + { + @Override + public Dimensions answer(final InvocationOnMock invocation) throws Throwable + { + + DimensionsBuilder dimensionsBuilder = (DimensionsBuilder) invocation.getArguments()[2]; + + final Dimensions dimensions = dimensionsBuilder.toDimensions(); + + when(responseModel.getDimensions()).thenReturn(dimensions); + + return dimensions; + } + }); + + initMockApiNavigator(method, requestUri, responseSchemaUri); + + when(context.request(any(Method.class), any(Keys.class), (Dimensions) anyObject(), (Model) anyObject())).thenReturn(responseModel); + } + + private void initMockApiNavigator(final Method method, final URI requestUri, final URI responseSchemaUri) + { + + final Context context = _Engine.getContext(); + ApiLoader loader = context.getApiLoader(); + final ApiNavigator apiNavigator = mock(ApiNavigator.class); + when(loader.getParentApiNavigator(requestUri)).thenReturn(apiNavigator); + + final Api api = mock(Api.class); + when(api.getTitle()).thenReturn("Test Mock API"); + when(apiNavigator.getApi()).thenReturn(api); + + final Resource endpointResource = mock(Resource.class); + when(apiNavigator.getResource(requestUri)).thenReturn(endpointResource); + + final Set responseSchemaUris = new LinkedHashSet<>(); + responseSchemaUris.add(responseSchemaUri); + when(endpointResource.getResponseSchemaUris(method)).thenReturn(responseSchemaUris); + + } + + private void initMockHttpRequest(MockHttpServletRequest req, URI uri) + { + + req.setRequestURI(uri.toString()); + req.setPathInfo(uri.getPath()); + req.setRemotePort(uri.getPort()); + req.setRemoteHost(uri.getHost()); + req.setScheme(uri.getScheme()); + req.setContextPath("/"); + } + + @After + public void destruct() + { + + _Engine = null; + _Servlet = null; + } + + @Test + public void create() + { + + assertTrue(_Servlet != null); + } + + @Test + public void createAndConfigure() throws MediaTypeException + { + + _Servlet.setEngine(_Engine); + } + + @Test(expected = ServletException.class) + public void createAndInitNoParam() throws ServletException + { + + ServletConfig servletConfig = mock(ServletConfig.class); + Enumeration eStrings = new TestEmptyEnum(); + when(servletConfig.getInitParameterNames()).thenReturn(eStrings); + + _Servlet.init(servletConfig); + } + + // Checks the logic in a given for loop for debugging + @Test(expected = ServletException.class) + public void createAndInitTwoParam() throws ServletException + { + + ServletConfig servletConfig = mock(ServletConfig.class); + Enumeration eStrings = new TestTwoEnum(); + when(servletConfig.getInitParameterNames()).thenReturn(eStrings); + _Servlet.init(servletConfig); + } + + @Test(expected = ServletException.class) + public void createAndInitBadLocation() throws ServletException + { + + ServletConfig servletConfig = mock(ServletConfig.class); + Enumeration eStrings = new TestEmptyEnum(); + when(servletConfig.getInitParameterNames()).thenReturn(eStrings); + String configLocation = "abcdefg"; + when(servletConfig.getInitParameter(WrmlServlet.WRML_CONFIGURATION_FILE_PATH_INIT_PARAM_NAME)).thenReturn(configLocation); + _Servlet.init(servletConfig); + } + + @Test(expected = ServletException.class) + public void createAndInitMalformedFile() throws ServletException + { + + ServletConfig servletConfig = mock(ServletConfig.class); + Enumeration eStrings = new TestEmptyEnum(); + when(servletConfig.getInitParameterNames()).thenReturn(eStrings); + String configLocation = "wrmlbad.json"; + when(servletConfig.getInitParameter(WrmlServlet.WRML_CONFIGURATION_FILE_PATH_INIT_PARAM_NAME)).thenReturn(configLocation); + _Servlet.init(servletConfig); + } + + @Test + public void createAndInit() throws ServletException + { + + ServletConfig servletConfig = mock(ServletConfig.class); + Enumeration eStrings = new TestEmptyEnum(); + when(servletConfig.getInitParameterNames()).thenReturn(eStrings); + String configLocation = "wrml.json"; + when(servletConfig.getInitParameter(WrmlServlet.WRML_CONFIGURATION_RESOURCE_PATH_INIT_PARAM_NAME)).thenReturn(configLocation); + _Servlet.init(servletConfig); + } + + // TODO: Make this a different exception type. + @Test(expected = IllegalArgumentException.class) + public void requestBadMethod() throws ServletException, IOException + { + + _Servlet.setEngine(_Engine); + + MockHttpServletRequest request = new MockHttpServletRequest(); + this.initMockHttpRequest(request, CAPRICA_SIX_ENDPOINT); + request.setMethod("BAD"); + + MockHttpServletResponse response = new MockHttpServletResponse(); + _Servlet.service(request, response); + } + + /** + * This tests that the system returns an error when no 1) Accept Header is listed, and 2) No default is provided by + * the engine + */ + @Test + public void requestNoAcceptHeaderNoDefault() throws ServletException, IOException + { + + _Servlet.setEngine(_Engine); + + initMockApiNavigator(Method.Get, CAPRICA_SIX_ENDPOINT, CAPRICA_SCHEMA_URI); + + final Context context = _Engine.getContext(); + final ApiNavigator apiNavigator = context.getApiLoader().getParentApiNavigator(CAPRICA_SIX_ENDPOINT); + final Resource endpointResource = apiNavigator.getResource(CAPRICA_SIX_ENDPOINT); + when(endpointResource.getResponseSchemaUris(Method.Get)).thenReturn(Collections.EMPTY_SET); + + MockHttpServletRequest request = new MockHttpServletRequest(); + initMockHttpRequest(request, CAPRICA_SIX_ENDPOINT); + request.setMethod(Method.Get.getProtocolGivenName()); + // request.addHeader("Accept", null); + + HttpServletResponse response = mock(HttpServletResponse.class); + ServletOutputStream out = mock(ServletOutputStream.class); + when(response.getOutputStream()).thenReturn(out); + + + _Servlet.service(request, response); + + + verify(response, times(1)).setContentType(ContentType.TEXT_PLAIN.toString()); + verify(response, times(1)).setStatus(HttpServletResponse.SC_BAD_REQUEST); + //verify(response, times(0)).setContentLength(anyInt()); + verify(response, times(1)).flushBuffer(); + } + + @Test + public void requestNoAcceptHeaderNotFound() throws ServletException, IOException + { + + + MockHttpServletRequest request = new MockHttpServletRequest(); + initMockHttpRequest(request, CAPRICA_SIX_ENDPOINT); + request.setMethod(Method.Get.getProtocolGivenName()); + // request.addHeader("Accept", null); + + HttpServletResponse response = mock(HttpServletResponse.class); + + initMockWrmlRequest(request, Method.Get, CAPRICA_SIX_ENDPOINT, CAPRICA_SCHEMA_URI); + final Context context = _Engine.getContext(); + when(context.request(any(Method.class), any(Keys.class), any(Dimensions.class), any(Model.class))).thenReturn(null); + + _Servlet.service(request, response); + + // Verify not found + verify(response, times(1)).setStatus(HttpServletResponse.SC_NOT_FOUND); + verify(response, times(1)).setContentLength(0); + verify(response, times(1)).flushBuffer(); + } + + // This tests checking the engine for a default schema to service this request. + @Test + public void requestNoAcceptHeaderFound() throws ServletException, IOException + { + + MockHttpServletRequest request = new MockHttpServletRequest(); + initMockHttpRequest(request, CAPRICA_SIX_ENDPOINT); + request.setMethod(Method.Get.getProtocolGivenName()); + + HttpServletResponse response = mock(HttpServletResponse.class); + ServletOutputStream out = mock(ServletOutputStream.class); + when(response.getOutputStream()).thenReturn(out); + + initMockWrmlRequest(request, Method.Get, CAPRICA_SIX_ENDPOINT, CAPRICA_SCHEMA_URI); + + _Servlet.service(request, response); + + // Verify Model Write + verify(response, times(1)).setContentType(DEFAULT_CONTENT_TYPE); + verify(response, times(1)).setStatus(HttpServletResponse.SC_OK); + verify(response, times(1)).setContentLength(anyInt()); + verify(response, times(1)).flushBuffer(); + } + + @Test + public void requestSingleAcceptHeader() throws ServletException, IOException + { + + MockHttpServletRequest request = new MockHttpServletRequest(); + initMockHttpRequest(request, CAPRICA_SIX_ENDPOINT); + request.setMethod(Method.Get.getProtocolGivenName()); + request.addHeader(HttpHeaders.ACCEPT, JSON_MEDIA_TYPE); + + HttpServletResponse response = mock(HttpServletResponse.class); + ServletOutputStream out = mock(ServletOutputStream.class); + when(response.getOutputStream()).thenReturn(out); + + initMockWrmlRequest(request, Method.Get, CAPRICA_SIX_ENDPOINT, null); + + _Servlet.service(request, response); + + // Verify Model Write + verify(response, times(1)).setContentType(DEFAULT_CONTENT_TYPE); + verify(response, times(1)).setStatus(HttpServletResponse.SC_OK); + verify(response, times(1)).setContentLength(anyInt()); + verify(response, times(1)).flushBuffer(); + } + + @Test + public void requestApiLoaderException() throws ServletException, IOException + { + + MockHttpServletRequest request = new MockHttpServletRequest(); + initMockHttpRequest(request, CAPRICA_SIX_ENDPOINT); + request.setMethod(Method.Get.getProtocolGivenName()); + //request.addHeader(HttpHeaders.ACCEPT, JSON_MEDIA_TYPE); + + HttpServletResponse response = mock(HttpServletResponse.class); + ServletOutputStream out = mock(ServletOutputStream.class); + when(response.getOutputStream()).thenReturn(out); + + + initMockWrmlRequest(request, Method.Get, CAPRICA_SIX_ENDPOINT, CAPRICA_SCHEMA_URI); + + Throwable mockThrowable = mock(ApiLoaderException.class); + String mockThrowableMessage = "This is an error message."; + when(mockThrowable.getMessage()).thenReturn(mockThrowableMessage); + + final Context context = _Engine.getContext(); + when(context.request(any(Method.class), any(Keys.class), any(Dimensions.class), any(Model.class))).thenThrow(mockThrowable); + + _Servlet.service(request, response); + + // Verify Model Write + verify(response, times(1)).setContentType(ContentType.TEXT_PLAIN.toString()); + verify(response, times(1)).setStatus(HttpServletResponse.SC_BAD_REQUEST); + verify(response, times(1)).setContentLength(anyInt()); + verify(response, times(1)).flushBuffer(); + } + + @Test + public void requestWithBadHostHeader() throws ServletException, IOException + { + + MockHttpServletRequest request = new MockHttpServletRequest(); + initMockHttpRequest(request, CAPRICA_SIX_ENDPOINT); + request.setMethod(Method.Get.getProtocolGivenName()); + //request.addHeader(HttpHeaders.ACCEPT, JSON_MEDIA_TYPE); + request.addHeader(WrmlServlet.WRML_HOST_HEADER_NAME, BAD_HOST_1); + + MockHttpServletResponse response = new MockHttpServletResponse(); + + initMockWrmlRequest(request, Method.Get, CAPRICA_SIX_ENDPOINT, CAPRICA_SCHEMA_URI); + + _Servlet.service(request, response); + + // Verify Model Write + Assert.assertTrue(response.getContentType().contains("text/plain")); + Assert.assertEquals(HttpServletResponse.SC_BAD_REQUEST, response.getStatus()); + Assert.assertTrue(response.getContentLength() > 0); + Assert.assertTrue(response.getContentAsString().contains("moose::/squirrel:")); + } + + @Test + public void requestWithBadHostHeader2() throws ServletException, IOException + { + + MockHttpServletRequest request = new MockHttpServletRequest(); + initMockHttpRequest(request, CAPRICA_SIX_ENDPOINT); + request.setMethod(Method.Get.getProtocolGivenName()); + //request.addHeader(HttpHeaders.ACCEPT, JSON_MEDIA_TYPE); + request.addHeader(WrmlServlet.WRML_HOST_HEADER_NAME, BAD_HOST_2); + + initMockWrmlRequest(request, Method.Get, CAPRICA_SIX_ENDPOINT, CAPRICA_SCHEMA_URI); + + MockHttpServletResponse response = new MockHttpServletResponse(); + + _Servlet.service(request, response); + + // Verify Model Write + Assert.assertTrue(response.getContentType().contains("text/plain")); + Assert.assertEquals(HttpServletResponse.SC_BAD_REQUEST, response.getStatus()); + } + + @Test + public void requestWithHostHeader() throws ServletException, IOException + { + + + MockHttpServletRequest request = new MockHttpServletRequest(); + initMockHttpRequest(request, CAPRICA_SIX_SPOOF_1_ENDPOINT); + request.setMethod(Method.Get.getProtocolGivenName()); + request.addHeader(WrmlServlet.WRML_HOST_HEADER_NAME, LOCALHOST); + + MockHttpServletResponse response = new MockHttpServletResponse(); + + + initMockWrmlRequest(request, Method.Get, CAPRICA_SIX_SPOOF_1_ENDPOINT, CAPRICA_SCHEMA_URI); + + _Servlet.service(request, response); + + // Verify Model Write + Assert.assertEquals(HttpServletResponse.SC_OK, response.getStatus()); + Assert.assertEquals(DEFAULT_CONTENT_TYPE, response.getContentType()); + Assert.assertEquals(response.getContentAsByteArray().length, response.getContentLength()); + } + + @Test + public void requestWithHostAndPortHeaders() throws ServletException, IOException + { + + MockHttpServletRequest request = new MockHttpServletRequest(); + initMockHttpRequest(request, CAPRICA_SIX_ENDPOINT); + request.setMethod(Method.Get.getProtocolGivenName()); + request.addHeader(WrmlServlet.WRML_HOST_HEADER_NAME, LOCALHOST); + request.addHeader(WrmlServlet.WRML_PORT_HEADER_NAME, PORT_1); + + MockHttpServletResponse response = new MockHttpServletResponse(); + + initMockWrmlRequest(request, Method.Get, CAPRICA_SIX_SPOOF_2_ENDPOINT, CAPRICA_SCHEMA_URI); + + _Servlet.service(request, response); + + // Verify Model Write + Assert.assertEquals(HttpServletResponse.SC_OK, response.getStatus()); + Assert.assertEquals(DEFAULT_CONTENT_TYPE, response.getContentType()); + Assert.assertEquals(response.getContentAsByteArray().length, response.getContentLength()); + } + + @Test + public void testGetRequestUriBadHost() throws IOException, URISyntaxException + { + + MockHttpServletRequest request = new MockHttpServletRequest(); + initMockHttpRequest(request, CAPRICA_SIX_ENDPOINT); + request.setMethod(Method.Get.getProtocolGivenName()); + request.addHeader(WrmlServlet.WRML_HOST_HEADER_NAME, BAD_HOST_1); + + try + { + _Servlet.getRequestUri(request); + } + catch (URISyntaxException use) + { + Assert.assertTrue(use.getMessage().contains(BAD_HOST_1)); + return; + } + Assert.assertTrue(false); + } + + @Test + public void testGetResourceIdBadHost2() throws IOException, URISyntaxException + { + + MockHttpServletRequest request = new MockHttpServletRequest(); + initMockHttpRequest(request, CAPRICA_SIX_ENDPOINT); + request.setMethod(Method.Get.getProtocolGivenName()); + //request.addHeader(HttpHeaders.ACCEPT, JSON_MEDIA_TYPE); + request.addHeader(WrmlServlet.WRML_HOST_HEADER_NAME, BAD_HOST_2); + + try + { + URI resourceUri = _Servlet.getRequestUri(request); + } + catch (URISyntaxException use) + { + Assert.assertTrue(use.getMessage().contains(BAD_HOST_2)); + return; + } + Assert.assertTrue(false); + } + + @Test + public void testGetResourceIdHostNoChange() throws IOException, URISyntaxException + { + + MockHttpServletRequest request = new MockHttpServletRequest(); + initMockHttpRequest(request, CAPRICA_SIX_SPOOF_1_ENDPOINT); + request.setMethod(Method.Get.getProtocolGivenName()); + request.addHeader(WrmlServlet.WRML_HOST_HEADER_NAME, LOCALHOST); + + URI resourceUri = _Servlet.getRequestUri(request); + Assert.assertEquals(resourceUri, CAPRICA_SIX_SPOOF_1_ENDPOINT); + } + + @Test + public void testGetResourceIdHost() throws IOException, URISyntaxException + { + + MockHttpServletRequest request = new MockHttpServletRequest(); + initMockHttpRequest(request, CAPRICA_SIX_SPOOF_1_ENDPOINT); + request.setMethod(Method.Get.getProtocolGivenName()); + request.addHeader(WrmlServlet.WRML_HOST_HEADER_NAME, CAPRICA_API_DOMAIN); + + URI resourceUri = _Servlet.getRequestUri(request); + Assert.assertEquals(resourceUri, CAPRICA_SIX_ENDPOINT); + } + + @Test + public void testGetResourceIdPort() throws IOException, URISyntaxException + { + + MockHttpServletRequest request = new MockHttpServletRequest(); + initMockHttpRequest(request, CAPRICA_SIX_SPOOF_1_ENDPOINT); + request.setMethod(Method.Get.getProtocolGivenName()); + request.addHeader(WrmlServlet.WRML_PORT_HEADER_NAME, PORT_1); + + URI resourceUri = _Servlet.getRequestUri(request); + Assert.assertEquals(resourceUri, CAPRICA_SIX_SPOOF_2_ENDPOINT); + } + + @Test + public void testGetResourceIdPortNoChange() throws IOException, URISyntaxException + { + + MockHttpServletRequest request = new MockHttpServletRequest(); + initMockHttpRequest(request, CAPRICA_SIX_SPOOF_1_ENDPOINT); + request.setMethod(Method.Get.getProtocolGivenName()); + request.addHeader(WrmlServlet.WRML_PORT_HEADER_NAME, PORT_2); + + URI resourceUri = _Servlet.getRequestUri(request); + Assert.assertEquals(resourceUri, CAPRICA_SIX_SPOOF_1_ENDPOINT); + } + + @Test + public void testGetResourceIdHostAndPort() throws IOException, URISyntaxException + { + + MockHttpServletRequest request = new MockHttpServletRequest(); + + initMockHttpRequest(request, CAPRICA_SIX_ENDPOINT); + request.setMethod(Method.Get.getProtocolGivenName()); + request.addHeader(WrmlServlet.WRML_HOST_HEADER_NAME, LOCALHOST); + request.addHeader(WrmlServlet.WRML_PORT_HEADER_NAME, PORT_1); + + URI resourceUri = _Servlet.getRequestUri(request); + Assert.assertEquals(resourceUri, CAPRICA_SIX_SPOOF_2_ENDPOINT); + } + + /* + * This test is to verify that, given a wildcard accept, we use the default. + */ + @Test + public void requestWithWildCardAccept() throws ServletException, IOException + { + + MockHttpServletRequest request = new MockHttpServletRequest(); + initMockHttpRequest(request, CAPRICA_SIX_SPOOF_2_ENDPOINT); + request.setMethod(Method.Get.getProtocolGivenName()); + + MockHttpServletResponse response = new MockHttpServletResponse(); + + initMockWrmlRequest(request, Method.Get, CAPRICA_SIX_SPOOF_2_ENDPOINT, CAPRICA_SCHEMA_URI); + + _Servlet.service(request, response); + + // Verify Model Write + Assert.assertEquals(DEFAULT_CONTENT_TYPE, response.getContentType()); + Assert.assertEquals(HttpServletResponse.SC_OK, response.getStatus()); + } + + // This tests checking the engine for a default schema to service this request. + @Test + public void requestRootWithSlash() throws ServletException, IOException + { + + + MockHttpServletRequest request = new MockHttpServletRequest(); + initMockHttpRequest(request, DOCROOT_SLASH_ENDPOINT); + request.setMethod(Method.Get.getProtocolGivenName()); + + MockHttpServletResponse response = new MockHttpServletResponse(); + + initMockWrmlRequest(request, Method.Get, DOCROOT_ENDPOINT, CAPRICA_SCHEMA_URI); + + _Servlet.service(request, response); + + // Verify Model Write + Assert.assertEquals(HttpServletResponse.SC_OK, response.getStatus()); + Assert.assertEquals(DEFAULT_CONTENT_TYPE, response.getContentType()); + } + + // --------------------------------- Method.Save tests (Input Model reading). + + @Test + public void requestPostNoData() throws ServletException, IOException + { + + MockHttpServletRequest request = new MockHttpServletRequest(); + + initMockHttpRequest(request, DOCROOT_ENDPOINT); + request.setMethod(Method.Save.getProtocolGivenName()); + request.setContentType(DEFAULT_CONTENT_TYPE); + request.setContent(new byte[]{}); + + MockHttpServletResponse response = new MockHttpServletResponse(); + + initMockWrmlRequest(request, Method.Save, DOCROOT_ENDPOINT, CAPRICA_SCHEMA_URI); + + + _Servlet.service(request, response); + + // Verify Model Write + Assert.assertEquals(DEFAULT_CONTENT_TYPE, response.getContentType()); + Assert.assertEquals(HttpServletResponse.SC_OK, response.getStatus()); + Assert.assertEquals(response.getContentAsByteArray().length, response.getContentLength()); + } + + @Test + public void requestWithoutEntityButWithContentType() throws ServletException, IOException + { + + MockHttpServletRequest request = new MockHttpServletRequest(); + initMockHttpRequest(request, DOCROOT_ENDPOINT); + request.setMethod(Method.Save.getProtocolGivenName()); + request.setContentType(DEFAULT_CONTENT_TYPE); + request.setContent(new byte[]{}); + + MockHttpServletResponse response = new MockHttpServletResponse(); + + initMockWrmlRequest(request, Method.Save, DOCROOT_ENDPOINT, CAPRICA_SCHEMA_URI); + + _Servlet.service(request, response); + + // Verify Model Write + Assert.assertEquals(DEFAULT_CONTENT_TYPE, response.getContentType()); + Assert.assertEquals(HttpServletResponse.SC_OK, response.getStatus()); + Assert.assertEquals(response.getContentAsByteArray().length, response.getContentLength()); + } + + public void readModelTest() throws Exception + { + + } + + @Test + public void findOptimalTypeTest1() throws Exception + { + + _Servlet.setEngine(_Engine); + + final Context context = _Engine.getContext(); + final FormatLoader formatLoader = context.getFormatLoader(); + + List accepts = new ArrayList(); + + final String schemaUriString = "http://foo.bar.baz/uberschema"; + final String formatUriString = "http://foo.bar.baz/uberformat"; + final String bogusUriString = "http://bingo.razor.com/fliberdijibbet"; + + final URI schemaUri = URI.create(schemaUriString); + final URI formatUri = URI.create(formatUriString); + final URI bogusUri = URI.create(bogusUriString); + + accepts.add(new MediaType("application/wrml; schema=\"" + schemaUriString + "\"; format=\"" + formatUriString + "\"")); + + when(formatLoader.getFormatter(formatUri)).thenReturn(mock(Formatter.class)); + + MediaType optimal = _Servlet.getMostAcceptableMediaType(schemaUri, accepts); + Assert.assertTrue(accepts.get(0) == optimal); + + optimal = _Servlet.getMostAcceptableMediaType(bogusUri, accepts); + Assert.assertNull(optimal); + } + + @Test + public void getRequestFormatUriTest() throws Exception + { + + _Servlet.setEngine(_Engine); + + URI actual = _Servlet.getRequestFormatUri(new MediaType("application/wrml; schema=\"http://foo.bar.baz/uberschema\"; format=\"http://foo.bar.baz/uberformat\"")); + Assert.assertEquals(new URI("http://foo.bar.baz/uberformat"), actual); + + final URI jsonFormatUri = SystemFormat.json.getFormatUri(); + actual = _Servlet.getRequestFormatUri(new MediaType("application/json")); + Assert.assertEquals(jsonFormatUri, actual); + + actual = _Servlet.getRequestFormatUri(null); + Assert.assertEquals(jsonFormatUri, actual); + } + + // Test support classes + public class TestEmptyEnum implements Enumeration + { + + @Override + public boolean hasMoreElements() + { + + return false; + } + + @Override + public String nextElement() + { + + throw new UnsupportedOperationException("Not supported yet."); + } + } + + public class TestTwoEnum implements Enumeration + { + + private int MAX = 2; + + private int index = 0; + + @Override + public boolean hasMoreElements() + { + + return index < MAX; + } + + @Override + public String nextElement() + { + + if (hasMoreElements()) + { + return "" + ++index; + } + throw new UnsupportedOperationException("Not supported yet."); + } + } +} diff --git a/server/server-core/src/test/resources/org/wrml/server/wrml.json b/server/server-core/src/test/resources/org/wrml/server/wrml.json new file mode 100644 index 0000000..84c0a80 --- /dev/null +++ b/server/server-core/src/test/resources/org/wrml/server/wrml.json @@ -0,0 +1,25 @@ +{ + "context" : + { + "serviceLoader" : + { + "services" : + [ + { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : + { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } + ], + + "serviceMapping" : + { + "*" : "JVM" + } + } + } +} \ No newline at end of file diff --git a/server/server-core/src/test/resources/org/wrml/server/wrmlbad.json b/server/server-core/src/test/resources/org/wrml/server/wrmlbad.json new file mode 100644 index 0000000..54678b3 --- /dev/null +++ b/server/server-core/src/test/resources/org/wrml/server/wrmlbad.json @@ -0,0 +1,25 @@ +{ + "cotext" : + { + "serviceLoader" : + { + "services" : + [ + { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : + { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + } + ], + + "serviceMapping" : + { + "*" : "JVM" + } + } + } +} \ No newline at end of file diff --git a/server/server-war/.gitignore b/server/server-war/.gitignore new file mode 100644 index 0000000..eb5a316 --- /dev/null +++ b/server/server-war/.gitignore @@ -0,0 +1 @@ +target diff --git a/server/server-war/README.md b/server/server-war/README.md new file mode 100644 index 0000000..6708550 --- /dev/null +++ b/server/server-war/README.md @@ -0,0 +1,71 @@ +

+ +

+ +Server-WAR +================================ + +The server-war module packages the WRML core into a WAR file. + + +Module Dependencies +================================ +1. Tomcat 7.x + + + +Running Server-War +================================ + +## Default ## + +By default, the WRML Servlet will look for wrmlConfiguration to be defined in the servlet's web.xml file: + + + WrmlServlet + WrmlServlet + org.wrml.server.WrmlServlet + + wrmlConfiguration + /wrml.json + + + + +## Specify wrmlConfiguration ## + +[Optional] To run a web container (i.e., Tomcat) with a specified home path using the `wrmlHome` program variable, add the following to the web container program (startup) variables: + + -DwrmlConfiguration=/path/to/wrml.json + +## Example ## + +See web.xml. + + +## Old Instructions +Instructions for use of the War: + +1. Compile +2. Download Tomcat 7.X +3. Inside `TOMCAT_HOME`, create a directory called wrml + + `cd TOMCAT_HOME; mkdir wrml` + +4. Copy the war into the directory + + `cp WRML_HOME/server/server-war/target/server-war-1.0-SNAPSHOT.war TOMCAT_HOME/wrml/` + + +5. Add a ROOT.xml to `TOMCAT_HOME/conf/Catalina/localhost/` with the following: + + `` + + +6. Startup Tomcat (see apache.org for help) + +## Verification +Try hitting a schema: + + GET http://localhost:8080/org/wrml/model/schema/Schema + diff --git a/server/server-war/pom.xml b/server/server-war/pom.xml new file mode 100644 index 0000000..bc31fc2 --- /dev/null +++ b/server/server-war/pom.xml @@ -0,0 +1,133 @@ + + 4.0.0 + + org.wrml + server + 1.0-SNAPSHOT + + + + Mark Masse (OSS project WRML.org) + http://www.wrml.org + + + server-war + war + wrml-server-war + The server for the wrml engine. + + + + com.thetransactioncompany + cors-filter + + + ch.qos.logback + logback-classic + + + javax.servlet + javax.servlet-api + + + org.wrml + server-core + + + org.wrml.contrib.runtime.service + mongo + + + + + junit + junit + test + + + org.mockito + mockito-all + test + + + + + + + + + com.mycila.maven-license-plugin + maven-license-plugin + + true +
../../core/src/main/resources/headers/JavaFileHeader-latest.txt
+ + src/**/*.java + + ${project.build.sourceEncoding} + + ../../core/src/main/resources/headers/JavaFileHeader-version-00.txt + ../../core/src/main/resources/headers/JavaFileHeader-version-01.txt + ../../core/src/main/resources/headers/JavaFileHeader-version-02.txt + +
+ + + test + + check + + + +
+ + + org.apache.maven.plugins + maven-eclipse-plugin + + + + org.apache.maven.plugins + maven-compiler-plugin + + ${maven-compiler-plugin.source.version} + ${maven-compiler-plugin.target.version} + true + + + + + maven-war-plugin + + + servlet-api-2.5-20081211.jar + + + + + + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + +
+ +
+
diff --git a/server/server-war/server-war.iml b/server/server-war/server-war.iml new file mode 100644 index 0000000..0ab5d0c --- /dev/null +++ b/server/server-war/server-war.iml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/server/server-war/src/main/resources/logback.xml b/server/server-war/src/main/resources/logback.xml new file mode 100644 index 0000000..6b71d81 --- /dev/null +++ b/server/server-war/src/main/resources/logback.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ${logging.dir}/wrml.log + + ${logging.dir}/wrml.%d{yyyy-MM-dd}.log + 7 + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/server/server-war/src/main/resources/wrml.json b/server/server-war/src/main/resources/wrml.json new file mode 100644 index 0000000..65807fb --- /dev/null +++ b/server/server-war/src/main/resources/wrml.json @@ -0,0 +1,65 @@ +{ + "context" : + { + "schemaLoader" : + { + + "schemaClassRootDirectory" : "/etc/wrml/schemas" + }, + "formatLoader" : + { + + "defaultFormatUri" : "http://format.api.wrml.org/text/html" + }, + + "serviceLoader" : + { + "services" : + [ + { + "name" : "JVM", + "implementation" : "org.wrml.runtime.service.resource.JavaResourceService", + "settings" : + { + "resourceOwnerClassName" : "org.wrml.runtime.Context", + "resourceRootDirectoryPath" : "resources/test/models" + } + }, + { + "name" : "File", + "implementation" : "org.wrml.runtime.service.file.FileSystemService", + "settings" : + { + "rootDirectory" : "/etc/wrml/models" + } + }, + { + "name" : "Mongo", + "implementation" : "org.wrml.contrib.runtime.service.mongo.MongoService", + "settings" : + { + + } + }, + { + "name" : "ApiDesigner", + "implementation" : "org.wrml.runtime.service.apiDesigner.ApiDesignerService", + "settings" : + { + "apiUri" : "http://design.api.wrml.org" + } + } + + ], + + "serviceMapping" : + { + + "*" : "JVM", + "http://schema.api.wrml.org/org/wrml/model/rest/FiledApi" : "File", + "http://schema.api.wrml.org/org/wrml/werminal/model/WerminalModel" : "File", + "http://schema.api.wrml.org/org/wrml/runtime/service/apiDesigner/*" : "ApiDesigner" + } + } + } +} \ No newline at end of file diff --git a/server/server-war/src/main/webapp/META-INF/context.xml b/server/server-war/src/main/webapp/META-INF/context.xml new file mode 100644 index 0000000..ca673e7 --- /dev/null +++ b/server/server-war/src/main/webapp/META-INF/context.xml @@ -0,0 +1,35 @@ + + + + + + + WEB-INF/web.xml + + + + + + + + \ No newline at end of file diff --git a/server/server-war/src/main/webapp/WEB-INF/web.xml b/server/server-war/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..bc66ac2 --- /dev/null +++ b/server/server-war/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,44 @@ + + + + + CORS + com.thetransactioncompany.cors.CORSFilter + + cors.allowSubdomains + true + + + cors.supportedMethods + GET, POST, PUT, HEAD, OPTIONS, DELETE + + + cors.supportedHeaders + Accept, Content-Type, Authorization, X-WRML-HOST, X-WRML-PORT + + + + + WrmlServlet + WrmlServlet + org.wrml.server.WrmlServlet + + wrmlConfiguration + ${wrmlConfiguration} + + 1 + + + + WrmlServlet + / + + + + CORS + WrmlServlet + + diff --git a/server/server.iml b/server/server.iml new file mode 100644 index 0000000..b475024 --- /dev/null +++ b/server/server.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/werminal.sh b/werminal.sh new file mode 100755 index 0000000..9e4c3d9 --- /dev/null +++ b/werminal.sh @@ -0,0 +1,35 @@ +#! /bin/bash + +########################################################################################## +# # +# WRML - Web Resource Modeling Language # +# __ __ ______ __ __ __ # +# /\ \ _ \ \ /\ == \ /\ "-./ \ /\ \ # +# \ \ \/ ".\ \\ \ __< \ \ \-./\ \\ \ \____ # +# \ \__/".~\_\\ \_\ \_\\ \_\ \ \_\\ \_____\ # +# \/_/ \/_/ \/_/ /_/ \/_/ \/_/ \/_____/ # +# # +# http://www.wrml.org # +# # +# Copyright 2013 Mark Masse (OSS project WRML.org) # +# # +# Licensed 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. # +# # +########################################################################################## + + +java -DwrmlConfiguration=/Users/mark/Documents/WRML/config/dev-wrml.json -classpath "/Users/mark/Documents/WRML/code/WRML/core/src/test/resources:/Users/mark/Documents/WRML/code/WRML/cli/target/wrml-cli.jar" org.wrml.werminal.Werminal -unix +#java -DwrmlConfiguration=/Users/mark/Documents/WRML/config/dev-wrml.json -classpath "/Users/mark/Documents/WRML/code/WRML/core/src/test/resources:/Users/mark/Documents/WRML/code/WRML/cli/target/wrml-cli.jar:/Users/mark/.m2/repository/org/mongodb/mongo-java-driver/2.7.3/mongo-java-driver-2.7.3.jar:/Users/mark/Documents/WRML/code/WRML/contrib/runtime/service/mongo/target/original-mongo-1.0-SNAPSHOT.jar" org.wrml.werminal.Werminal -unix +#java -DwrmlConfiguration=/Users/mark/Documents/WRML/config/dev-wrml.json -classpath "/Users/mark/Documents/WRML/code/WRML/core/src/test/resources:/Users/mark/Documents/WRML/code/WRML/cli/target/wrml-cli.jar" org.wrml.werminal.Werminal -unix +#java -DwrmlConfiguration=/Users/mark/Documents/WRML/config/dev-wrml.json -classpath "/Users/mark/Documents/WRML/code/WRML/core/src/test/resources:/Users/mark/Documents/WRML/code/WRML/cli/target/wrml-cli.jar:/Users/mark/Documents/WRML/code/WRML/contrib/runtime/service/mongo/target/mongo-1.0-SNAPSHOT.jar" org.wrml.werminal.Werminal -unix + diff --git a/wrml.iml b/wrml.iml new file mode 100644 index 0000000..36f9426 --- /dev/null +++ b/wrml.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + +