You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2017/06/10 20:19:53 UTC
[1/4] incubator-juneau git commit: Add branding capability to
HtmlDocSerializer and REST servlet.
Repository: incubator-juneau
Updated Branches:
refs/heads/master e6998a7ea -> 6dccf6039
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-rest/src/main/java/org/apache/juneau/rest/RestConfig.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RestConfig.java b/juneau-rest/src/main/java/org/apache/juneau/rest/RestConfig.java
index 234cabf..3845e2c 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/RestConfig.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RestConfig.java
@@ -107,8 +107,8 @@ public class RestConfig implements ServletConfig {
Object favIcon;
List<Object> staticFiles;
RestContext parentContext;
- String path, htmlTitle, htmlDescription, htmlLinks, htmlHeader, htmlNav, htmlAside, htmlFooter, htmlCss, htmlCssUrl,
- htmlNoResultsMessage;
+ String path, htmlTitle, htmlDescription, htmlBranding, htmlLinks, htmlHeader, htmlNav, htmlAside, htmlFooter,
+ htmlCss, htmlCssUrl, htmlNoResultsMessage;
String clientVersionHeader = "X-Client-Version";
Object resourceResolver = RestResourceResolver.class;
@@ -221,6 +221,8 @@ public class RestConfig implements ServletConfig {
setHtmlTitle(hd.title());
if (! hd.description().isEmpty())
setHtmlDescription(hd.description());
+ if (! hd.branding().isEmpty())
+ setHtmlBranding(hd.branding());
if (! hd.header().isEmpty())
setHtmlHeader(hd.header());
if (! hd.links().isEmpty())
@@ -1132,6 +1134,27 @@ public class RestConfig implements ServletConfig {
}
/**
+ * Sets the HTML page branding in the header section of the page generated by the default HTML doc template.
+ * <p>
+ * The format of this value is HTML.
+ * <p>
+ * This is arbitrary HTML that can be added to the header section to provide basic custom branding on the page.
+ * <p>
+ * This field can contain variables (e.g. <js>"$L{my.localized.variable}"</js>).
+ * <p>
+ * A value of <js>"NONE"</js> can be used to force no value.
+ * <p>
+ * This is the programmatic equivalent to the {@link HtmlDoc#branding() @HtmlDoc.branding()} annotation.
+ *
+ * @param value The HTML page branding.
+ * @return This object (for method chaining).
+ */
+ public RestConfig setHtmlBranding(String value) {
+ this.htmlBranding = value;
+ return this;
+ }
+
+ /**
* Sets the HTML header section contents.
* <p>
* The format of this value is HTML.
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-rest/src/main/java/org/apache/juneau/rest/RestContext.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RestContext.java b/juneau-rest/src/main/java/org/apache/juneau/rest/RestContext.java
index 7fc0a94..f14a271 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/RestContext.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RestContext.java
@@ -304,6 +304,7 @@ public final class RestContext extends Context {
fullPath,
htmlTitle,
htmlDescription,
+ htmlBranding,
htmlHeader,
htmlLinks,
htmlNav,
@@ -417,6 +418,7 @@ public final class RestContext extends Context {
this.htmlTitle = b.htmlTitle;
this.htmlDescription = b.htmlDescription;
+ this.htmlBranding = b.htmlBranding;
this.htmlHeader = b.htmlHeader;
this.htmlLinks = b.htmlLinks;
this.htmlNav = b.htmlNav;
@@ -600,8 +602,8 @@ public final class RestContext extends Context {
UrlEncodingSerializer urlEncodingSerializer;
UrlEncodingParser urlEncodingParser;
EncoderGroup encoders;
- String clientVersionHeader = "", defaultCharset, paramFormat, htmlTitle, htmlDescription, htmlHeader, htmlLinks,
- htmlNav, htmlAside, htmlCss, htmlCssUrl, htmlFooter, htmlNoResultsMessage;
+ String clientVersionHeader = "", defaultCharset, paramFormat, htmlTitle, htmlDescription, htmlBranding,
+ htmlHeader, htmlLinks, htmlNav, htmlAside, htmlCss, htmlCssUrl, htmlFooter, htmlNoResultsMessage;
boolean htmlNoWrap;
HtmlDocTemplate htmlTemplate;
@@ -753,6 +755,7 @@ public final class RestContext extends Context {
htmlTitle = sc.htmlTitle;
htmlDescription = sc.htmlDescription;
+ htmlBranding = sc.htmlBranding;
htmlHeader = sc.htmlHeader;
htmlLinks = sc.htmlLinks;
htmlNav = sc.htmlNav;
@@ -1006,6 +1009,17 @@ public final class RestContext extends Context {
}
/**
+ * The HTML page branding.
+ * <p>
+ * Defined by the {@link HtmlDoc#branding()} annotation or {@link RestConfig#setHtmlBranding(String)} method.
+ *
+ * @return The HTML page description.
+ */
+ public String getHtmlBranding() {
+ return htmlBranding;
+ }
+
+ /**
* The HTML page header contents.
* <p>
* Defined by the {@link HtmlDoc#header()} annotation or {@link RestConfig#setHtmlHeader(String)} method.
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-rest/src/main/java/org/apache/juneau/rest/RestParamDefaults.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RestParamDefaults.java b/juneau-rest/src/main/java/org/apache/juneau/rest/RestParamDefaults.java
index d75e613..dafc17e 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/RestParamDefaults.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RestParamDefaults.java
@@ -108,6 +108,8 @@ class RestParamDefaults {
RequestPathMatchObject.class,
RequestBodyObject.class,
ConfigFileObject.class,
+ UriContextObject.class,
+ UriResolverObject.class,
};
for (Class<?> c : r) {
@@ -938,6 +940,30 @@ class RestParamDefaults {
}
}
+ static final class UriContextObject extends RestParam {
+
+ protected UriContextObject() {
+ super(OTHER, null, UriContext.class);
+ }
+
+ @Override /* RestParam */
+ public Object resolve(RestRequest req, RestResponse res) throws Exception {
+ return req.getUriContext();
+ }
+ }
+
+ static final class UriResolverObject extends RestParam {
+
+ protected UriResolverObject() {
+ super(OTHER, null, UriResolver.class);
+ }
+
+ @Override /* RestParam */
+ public Object resolve(RestRequest req, RestResponse res) throws Exception {
+ return req.getUriResolver();
+ }
+ }
+
private static boolean isCollection(Type t) {
return BeanContext.DEFAULT.getClassMeta(t).isCollectionOrArray();
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-rest/src/main/java/org/apache/juneau/rest/RestRequest.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RestRequest.java b/juneau-rest/src/main/java/org/apache/juneau/rest/RestRequest.java
index 74fa22c..58d3d81 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/RestRequest.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RestRequest.java
@@ -479,6 +479,15 @@ public final class RestRequest extends HttpServletRequestWrapper {
}
/**
+ * Shortcut for calling {@link #getUriResolver()} using {@link UriResolution#ROOT_RELATIVE} and {@link UriRelativity#RESOURCE}
+ *
+ * @return The URI resolver for this request.
+ */
+ public UriResolver getUriResolver() {
+ return new UriResolver(UriResolution.ROOT_RELATIVE, UriRelativity.RESOURCE, getUriContext());
+ }
+
+ /**
* Same as {@link HttpServletRequest#getPathInfo()} except returns the path undecoded.
*
* @return The undecoded portion of the URL after the resource URL path pattern match.
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-rest/src/main/java/org/apache/juneau/rest/RestResponse.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RestResponse.java b/juneau-rest/src/main/java/org/apache/juneau/rest/RestResponse.java
index e14771a..94ec328 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/RestResponse.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RestResponse.java
@@ -516,6 +516,27 @@ public final class RestResponse extends HttpServletResponseWrapper {
}
/**
+ * Sets the HTML page branding in the header section of the page generated by the default HTML doc template.
+ * <p>
+ * The format of this value is HTML.
+ * <p>
+ * This is arbitrary HTML that can be added to the header section to provide basic custom branding on the page.
+ * <p>
+ * This field can contain variables (e.g. <js>"$L{my.localized.variable}"</js>).
+ * <p>
+ * A value of <js>"NONE"</js> can be used to force no value.
+ * <p>
+ * This is the programmatic equivalent to the {@link HtmlDoc#branding() @HtmlDoc.branding()} annotation.
+ *
+ * @param value The HTML page branding.
+ * Object will be converted to a string using {@link Object#toString()}.
+ * @return This object (for method chaining).
+ */
+ public RestResponse setHtmlBranding(Object value) {
+ return setProperty(HtmlDocSerializerContext.HTMLDOC_branding, value);
+ }
+
+ /**
* Sets the HTML header section contents.
* <p>
* The format of this value is HTML.
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-rest/src/main/java/org/apache/juneau/rest/RestServletDefault.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/RestServletDefault.java b/juneau-rest/src/main/java/org/apache/juneau/rest/RestServletDefault.java
index 050ad0e..c2c0d29 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/RestServletDefault.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/RestServletDefault.java
@@ -183,7 +183,10 @@ import org.apache.juneau.xml.*;
@Property(name=REST_allowMethodParam, value="OPTIONS"),
},
stylesheet="styles/juneau.css",
- favicon="juneau.png",
+ htmldoc=@HtmlDoc(
+ branding="<img src='$U{servlet:/htdocs/juneau.png}' style='position:absolute;top:5;right:5;background-color:transparent;height:30px'>"
+ ),
+ favicon="htdocs/juneau.png",
staticFiles="{htdocs:'htdocs'}"
)
public abstract class RestServletDefault extends RestServlet {
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-rest/src/main/java/org/apache/juneau/rest/annotation/HtmlDoc.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/annotation/HtmlDoc.java b/juneau-rest/src/main/java/org/apache/juneau/rest/annotation/HtmlDoc.java
index 80ddf10..ed84224 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/annotation/HtmlDoc.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/annotation/HtmlDoc.java
@@ -72,7 +72,7 @@ import org.apache.juneau.rest.*;
public @interface HtmlDoc {
/**
- * Sets the HTML page title.
+ * Sets the HTML page title in the header section of the page generated by the default HTML doc template.
* <p>
* The format of this value is plain text.
* <p>
@@ -105,7 +105,7 @@ public @interface HtmlDoc {
String title() default "";
/**
- * Sets the HTML page description.
+ * Sets the HTML page subtitle in the header section of the page generated by the default HTML doc template.
* <p>
* The format of this value is plain text.
* <p>
@@ -140,6 +140,21 @@ public @interface HtmlDoc {
String description() default "";
/**
+ * Sets the HTML page branding in the header section of the page generated by the default HTML doc template.
+ * <p>
+ * The format of this value is HTML.
+ * <p>
+ * This is arbitrary HTML that can be added to the header section to provide basic custom branding on the page.
+ * <p>
+ * This field can contain variables (e.g. <js>"$L{my.localized.variable}"</js>).
+ * <p>
+ * A value of <js>"NONE"</js> can be used to force no value.
+ * <p>
+ * The programmatic equivalent to this annotation are the {@link RestConfig#setHtmlBranding(String)}/{@link RestResponse#setHtmlBranding(Object)} methods.
+ */
+ String branding() default "";
+
+ /**
* Sets the HTML header section contents.
* <p>
* The format of this value is HTML.
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-rest/src/main/java/org/apache/juneau/rest/vars/UrlVar.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/vars/UrlVar.java b/juneau-rest/src/main/java/org/apache/juneau/rest/vars/UrlVar.java
index 8e0ddc8..065978b 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/vars/UrlVar.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/vars/UrlVar.java
@@ -54,6 +54,6 @@ public class UrlVar extends SimpleVar {
@Override /* Parameter */
public String resolve(VarResolverSession session, String key) {
RestRequest req = session.getSessionObject(RestRequest.class, SESSION_req);
- return req.getUriResolver(UriResolution.ROOT_RELATIVE, UriRelativity.RESOURCE).resolve(key);
+ return req.getUriResolver().resolve(key);
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-rest/src/main/java/org/apache/juneau/rest/widget/ContentTypeLinksWidget.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/widget/ContentTypeLinksWidget.java b/juneau-rest/src/main/java/org/apache/juneau/rest/widget/ContentTypeLinksWidget.java
index 23aabb5..67dee3f 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/widget/ContentTypeLinksWidget.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/widget/ContentTypeLinksWidget.java
@@ -36,7 +36,7 @@ public class ContentTypeLinksWidget extends Widget {
@Override /* Widget */
public String resolve(RestRequest req) throws Exception {
- UriResolver uriResolver = req.getUriResolver(UriResolution.ROOT_RELATIVE, UriRelativity.RESOURCE);
+ UriResolver uriResolver = req.getUriResolver();
P p = p();
List<MediaType> l = new ArrayList<MediaType>(req.getSerializerGroup().getSupportedMediaTypes());
Collections.sort(l);
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-rest/src/main/java/org/apache/juneau/rest/widget/PoweredByApacheWidget.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/widget/PoweredByApacheWidget.java b/juneau-rest/src/main/java/org/apache/juneau/rest/widget/PoweredByApacheWidget.java
new file mode 100644
index 0000000..205dae3
--- /dev/null
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/widget/PoweredByApacheWidget.java
@@ -0,0 +1,35 @@
+// ***************************************************************************************************************************
+// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
+// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
+// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
+// * with the License. You may obtain a copy of the License at *
+// * *
+// * http://www.apache.org/licenses/LICENSE-2.0 *
+// * *
+// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
+// * specific language governing permissions and limitations under the License. *
+// ***************************************************************************************************************************
+package org.apache.juneau.rest.widget;
+
+import org.apache.juneau.rest.*;
+
+/**
+ * Widget that places a powered-by-Apache message on the page.
+ * <p>
+ * The variable it resolves is <js>"$W{poweredByApache}"</js>.
+ */
+public class PoweredByApacheWidget extends Widget {
+
+ @Override /* Widget */
+ public String getName() {
+ return "poweredByApache";
+ }
+
+ @Override /* Widget */
+ public String resolve(RestRequest req) throws Exception {
+ return "<a href='http://apache.org'><img style='float:right;padding-right:20px;height:32px' src='"+req.getUriResolver().resolve("servlet:/htdocs/asf.png")+"'>";
+ }
+}
+
+
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-rest/src/main/java/org/apache/juneau/rest/widget/PoweredByJuneauWidget.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/widget/PoweredByJuneauWidget.java b/juneau-rest/src/main/java/org/apache/juneau/rest/widget/PoweredByJuneauWidget.java
index 4878f26..4ae2898 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/widget/PoweredByJuneauWidget.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/widget/PoweredByJuneauWidget.java
@@ -28,7 +28,7 @@ public class PoweredByJuneauWidget extends Widget {
@Override /* Widget */
public String resolve(RestRequest req) throws Exception {
- return "<a href='http://juneau.apache.org'><img style='float:right;padding-right:20px;' src='data:image/png;base64,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'></a>";
+ return "<a href='http://apache.org'><img style='float:right;padding-right:20px;height:32px' src='"+req.getUriResolver().resolve("servlet:/htdocs/juneau.png")+"'>";
}
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-rest/src/main/resources/org/apache/juneau/rest/htdocs/asf.png
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/resources/org/apache/juneau/rest/htdocs/asf.png b/juneau-rest/src/main/resources/org/apache/juneau/rest/htdocs/asf.png
new file mode 100644
index 0000000..ce28113
Binary files /dev/null and b/juneau-rest/src/main/resources/org/apache/juneau/rest/htdocs/asf.png differ
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-rest/src/main/resources/org/apache/juneau/rest/htdocs/juneau.png
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/resources/org/apache/juneau/rest/htdocs/juneau.png b/juneau-rest/src/main/resources/org/apache/juneau/rest/htdocs/juneau.png
new file mode 100644
index 0000000..42a1656
Binary files /dev/null and b/juneau-rest/src/main/resources/org/apache/juneau/rest/htdocs/juneau.png differ
[2/4] incubator-juneau git commit: Add branding capability to
HtmlDocSerializer and REST servlet.
Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java b/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java
index c8af40e..fd0f8b9 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java
@@ -521,7 +521,7 @@ public class BeanPropertyMeta {
Map valueMap = (Map)value;
Map propMap = (Map)r;
- ClassMeta<?> valueType = rawTypeMeta.getValueType();
+ ClassMeta<?> valueType = rawTypeMeta.getValueType();
// If the property type is abstract, then we either need to reuse the existing
// map (if it's not null), or try to assign the value directly.
@@ -546,7 +546,6 @@ public class BeanPropertyMeta {
} else {
if (propMap == null) {
propMap = newInstance(Map.class, propertyClass);
- invokeSetter(bean, pName, propMap);
} else {
propMap.clear();
}
@@ -560,6 +559,8 @@ public class BeanPropertyMeta {
v = session.convertToType(v, valueType);
propMap.put(k, v);
}
+ if (setter != null || field != null)
+ invokeSetter(bean, pName, propMap);
} else if (isCollection) {
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/atom/AtomBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/AtomBuilder.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/AtomBuilder.java
index d1bccc3..512f64b 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/AtomBuilder.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/AtomBuilder.java
@@ -15,6 +15,8 @@ package org.apache.juneau.dto.atom;
import java.net.*;
import java.util.*;
+import org.apache.juneau.*;
+
/**
* Various useful static methods for creating ATOM elements.
* <p>
@@ -130,22 +132,17 @@ public class AtomBuilder {
}
/**
- * Creates an {@link Icon} element with the specified {@link Icon#uri(URI)} attribute.
- *
- * @param uri The {@link Icon#uri(URI)} attribute.
- * @return The new element.
- */
- public static final Icon icon(String uri) {
- return new Icon(uri);
- }
-
- /**
- * Creates an {@link Icon} element with the specified {@link Icon#uri(URI)} attribute.
+ * Creates an {@link Icon} element with the specified {@link Icon#uri(Object)} attribute.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
- * @param uri The {@link Icon#uri(URI)} attribute.
+ * @param uri The {@link Icon#uri(Object)} attribute.
* @return The new element.
*/
- public static final Icon icon(URI uri) {
+ public static final Icon icon(Object uri) {
return new Icon(uri);
}
@@ -172,22 +169,17 @@ public class AtomBuilder {
}
/**
- * Creates a {@link Logo} element with the specified {@link Logo#uri(URI)} attribute.
- *
- * @param uri The {@link Logo#uri(URI)} attribute.
- * @return The new element.
- */
- public static final Logo logo(String uri) {
- return new Logo(uri);
- }
-
- /**
- * Creates a {@link Logo} element with the specified {@link Logo#uri(URI)} attribute.
+ * Creates a {@link Logo} element with the specified {@link Logo#uri(Object)} attribute.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
- * @param uri The {@link Logo#uri(URI)} attribute.
+ * @param uri The {@link Logo#uri(Object)} attribute.
* @return The new element.
*/
- public static final Logo logo(URI uri) {
+ public static final Logo logo(Object uri) {
return new Logo(uri);
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/atom/Category.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Category.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Category.java
index 58a77f2..4fd9b3c 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Category.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Category.java
@@ -12,10 +12,13 @@
// ***************************************************************************************************************************
package org.apache.juneau.dto.atom;
+import static org.apache.juneau.internal.StringUtils.*;
import static org.apache.juneau.xml.annotation.XmlFormat.*;
+import java.net.*;
import java.net.URI;
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
import org.apache.juneau.xml.annotation.*;
@@ -99,13 +102,18 @@ public class Category extends Common {
/**
* Sets the category scheme.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
* @param scheme The category scheme.
* @return This object (for method chaining).
*/
@BeanProperty("scheme")
- public Category scheme(URI scheme) {
- this.scheme = scheme;
+ public Category scheme(Object scheme) {
+ this.scheme = toURI(scheme);
return this;
}
@@ -137,7 +145,7 @@ public class Category extends Common {
//--------------------------------------------------------------------------------
@Override /* Common */
- public Category base(URI base) {
+ public Category base(Object base) {
super.base(base);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/atom/Common.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Common.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Common.java
index b9eea2b..08b510b 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Common.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Common.java
@@ -12,11 +12,13 @@
// ***************************************************************************************************************************
package org.apache.juneau.dto.atom;
-import static org.apache.juneau.dto.atom.Utils.*;
+import static org.apache.juneau.internal.StringUtils.*;
import static org.apache.juneau.xml.annotation.XmlFormat.*;
+import java.net.*;
import java.net.URI;
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
import org.apache.juneau.xml.annotation.*;
@@ -63,23 +65,17 @@ public abstract class Common {
/**
* Sets the URI base of this object.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
* @param base The URI base of this object.
* @return This object (for method chaining).
*/
@BeanProperty("base")
- public Common base(URI base) {
- this.base = base;
- return this;
- }
-
- /**
- * Sets the URI base of this object.
- *
- * @param base The URI base of this object.
- * @return This object (for method chaining).
- */
- public Common base(String base) {
+ public Common base(Object base) {
this.base = toURI(base);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/atom/Content.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Content.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Content.java
index 4801b03..c8cd0f2 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Content.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Content.java
@@ -12,10 +12,13 @@
// ***************************************************************************************************************************
package org.apache.juneau.dto.atom;
+import static org.apache.juneau.internal.StringUtils.*;
import static org.apache.juneau.xml.annotation.XmlFormat.*;
+import java.net.*;
import java.net.URI;
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
import org.apache.juneau.xml.annotation.*;
@@ -108,13 +111,18 @@ public class Content extends Text {
/**
* Sets the source URI.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
* @param src The source URI.
* @return This object (for method chaining).
*/
@BeanProperty("src")
- public Content src(URI src) {
- this.src = src;
+ public Content src(Object src) {
+ this.src = toURI(src);
return this;
}
@@ -136,17 +144,10 @@ public class Content extends Text {
}
@Override /* Common */
- public Content base(URI base) {
+ public Content base(Object base) {
super.base(base);
return this;
}
-
- @Override /* Common */
- public Content base(String base) {
- super.base(base);
- return this;
- }
-
@Override /* Common */
public Content lang(String lang) {
super.lang(lang);
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/atom/Entry.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Entry.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Entry.java
index 211fa99..251a3d6 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Entry.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Entry.java
@@ -14,7 +14,6 @@ package org.apache.juneau.dto.atom;
import static org.apache.juneau.dto.atom.Utils.*;
-import java.net.URI;
import java.util.*;
import org.apache.juneau.annotation.*;
@@ -273,7 +272,7 @@ public class Entry extends CommonEntry {
}
@Override /* Common */
- public Entry base(URI base) {
+ public Entry base(Object base) {
super.base(base);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/atom/Feed.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Feed.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Feed.java
index 9c8614e..0adc465 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Feed.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Feed.java
@@ -14,7 +14,6 @@ package org.apache.juneau.dto.atom;
import static org.apache.juneau.xml.annotation.XmlFormat.*;
-import java.net.URI;
import java.util.*;
import org.apache.juneau.annotation.*;
@@ -286,7 +285,7 @@ public class Feed extends CommonEntry {
}
@Override /* Common */
- public Feed base(URI base) {
+ public Feed base(Object base) {
super.base(base);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/atom/Generator.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Generator.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Generator.java
index be879f3..0d16ff6 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Generator.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Generator.java
@@ -12,11 +12,13 @@
// ***************************************************************************************************************************
package org.apache.juneau.dto.atom;
-import static org.apache.juneau.dto.atom.Utils.*;
+import static org.apache.juneau.internal.StringUtils.*;
import static org.apache.juneau.xml.annotation.XmlFormat.*;
+import java.net.*;
import java.net.URI;
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
import org.apache.juneau.xml.annotation.*;
@@ -80,24 +82,17 @@ public class Generator extends Common {
/**
* Sets the URI of this generator statement.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
* @param uri The URI of this generator statement.
* @return This object (for method chaining).
*/
@BeanProperty("uri")
- public Generator uri(URI uri) {
- this.uri = uri;
- return this;
- }
-
- /**
- * Sets the URI of this generator statement.
- *
- * @param uri The URI of this generator statement.
- * @return This object (for method chaining).
- */
- @BeanProperty("uri")
- public Generator uri(String uri) {
+ public Generator uri(Object uri) {
this.uri = toURI(uri);
return this;
}
@@ -152,7 +147,7 @@ public class Generator extends Common {
//--------------------------------------------------------------------------------
@Override /* Common */
- public Generator base(URI base) {
+ public Generator base(Object base) {
super.base(base);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/atom/Icon.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Icon.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Icon.java
index a537163..37f0f03 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Icon.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Icon.java
@@ -12,11 +12,13 @@
// ***************************************************************************************************************************
package org.apache.juneau.dto.atom;
-import static org.apache.juneau.dto.atom.Utils.*;
+import static org.apache.juneau.internal.StringUtils.*;
import static org.apache.juneau.xml.annotation.XmlFormat.*;
+import java.net.*;
import java.net.URI;
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
import org.apache.juneau.xml.annotation.*;
@@ -49,19 +51,15 @@ public class Icon extends Common {
/**
* Normal constructor.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
* @param uri The URI of the icon.
*/
- public Icon(URI uri) {
- uri(uri);
- }
-
- /**
- * Normal constructor.
- *
- * @param uri The URI of the icon.
- */
- public Icon(String uri) {
+ public Icon(Object uri) {
uri(uri);
}
@@ -85,24 +83,17 @@ public class Icon extends Common {
/**
* Sets the URI of this icon.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
* @param uri The URI of this icon.
* @return This object (for method chaining).
*/
@BeanProperty("uri")
- public Icon uri(URI uri) {
- this.uri = uri;
- return this;
- }
-
- /**
- * Sets the URI of this icon.
- *
- * @param uri The URI of this icon.
- * @return This object (for method chaining).
- */
- @BeanProperty("uri")
- public Icon uri(String uri) {
+ public Icon uri(Object uri) {
this.uri = toURI(uri);
return this;
}
@@ -113,7 +104,7 @@ public class Icon extends Common {
//--------------------------------------------------------------------------------
@Override /* Common */
- public Icon base(URI base) {
+ public Icon base(Object base) {
super.base(base);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/atom/Id.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Id.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Id.java
index 5cf4f30..ca64b85 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Id.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Id.java
@@ -14,8 +14,6 @@ package org.apache.juneau.dto.atom;
import static org.apache.juneau.xml.annotation.XmlFormat.*;
-import java.net.URI;
-
import org.apache.juneau.annotation.*;
import org.apache.juneau.xml.annotation.*;
@@ -90,7 +88,7 @@ public class Id extends Common {
//--------------------------------------------------------------------------------
@Override /* Common */
- public Id base(URI base) {
+ public Id base(Object base) {
super.base(base);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/atom/Link.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Link.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Link.java
index df93a9c..6d80912 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Link.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Link.java
@@ -14,8 +14,6 @@ package org.apache.juneau.dto.atom;
import static org.apache.juneau.xml.annotation.XmlFormat.*;
-import java.net.URI;
-
import org.apache.juneau.annotation.*;
import org.apache.juneau.xml.annotation.*;
@@ -223,7 +221,7 @@ public class Link extends Common {
//--------------------------------------------------------------------------------
@Override /* Common */
- public Link base(URI base) {
+ public Link base(Object base) {
super.base(base);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/atom/Logo.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Logo.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Logo.java
index fe61a62..8f648cc 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Logo.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Logo.java
@@ -12,11 +12,13 @@
// ***************************************************************************************************************************
package org.apache.juneau.dto.atom;
-import static org.apache.juneau.dto.atom.Utils.*;
+import static org.apache.juneau.internal.StringUtils.*;
import static org.apache.juneau.xml.annotation.XmlFormat.*;
+import java.net.*;
import java.net.URI;
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
import org.apache.juneau.xml.annotation.*;
@@ -49,19 +51,15 @@ public class Logo extends Common {
/**
* Normal constructor.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
* @param uri The URI of the logo.
*/
- public Logo(URI uri) {
- uri(uri);
- }
-
- /**
- * Normal constructor.
- *
- * @param uri The URI of the logo.
- */
- public Logo(String uri) {
+ public Logo(Object uri) {
uri(uri);
}
@@ -85,24 +83,17 @@ public class Logo extends Common {
/**
* Sets the URI of the logo.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
* @param uri The URI of the logo.
* @return This object (for method chaining).
*/
@BeanProperty("uri")
- public Logo uri(URI uri) {
- this.uri = uri;
- return this;
- }
-
- /**
- * Sets the URI of the logo.
- *
- * @param uri The URI of the logo.
- * @return This object (for method chaining).
- */
- @BeanProperty("uri")
- public Logo uri(String uri) {
+ public Logo uri(Object uri) {
this.uri = toURI(uri);
return this;
}
@@ -113,7 +104,7 @@ public class Logo extends Common {
//--------------------------------------------------------------------------------
@Override /* Common */
- public Logo base(URI base) {
+ public Logo base(Object base) {
super.base(base);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/atom/Person.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Person.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Person.java
index 34d28e3..aa5c336 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Person.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Person.java
@@ -12,10 +12,13 @@
// ***************************************************************************************************************************
package org.apache.juneau.dto.atom;
-import static org.apache.juneau.dto.atom.Utils.*;
+import static org.apache.juneau.internal.StringUtils.*;
+import java.net.*;
import java.net.URI;
+import org.apache.juneau.*;
+
import org.apache.juneau.annotation.*;
/**
@@ -97,24 +100,17 @@ public class Person extends Common {
/**
* Sets the URI of the person.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
* @param uri The URI of the person.
* @return This object (for method chaining).
*/
@BeanProperty("uri")
- public Person uri(URI uri) {
- this.uri = uri;
- return this;
- }
-
- /**
- * Sets the URI of the person.
- *
- * @param uri The URI of the person.
- * @return This object (for method chaining).
- */
- @BeanProperty("uri")
- public Person uri(String uri) {
+ public Person uri(Object uri) {
this.uri = toURI(uri);
return this;
}
@@ -146,7 +142,7 @@ public class Person extends Common {
//--------------------------------------------------------------------------------
@Override /* Common */
- public Person base(URI base) {
+ public Person base(Object base) {
super.base(base);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/atom/Source.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Source.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Source.java
index 187f0b0..901be93 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Source.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Source.java
@@ -12,7 +12,6 @@
// ***************************************************************************************************************************
package org.apache.juneau.dto.atom;
-import java.net.URI;
import java.util.*;
import org.apache.juneau.annotation.*;
@@ -231,7 +230,7 @@ public class Source extends CommonEntry {
}
@Override /* Common */
- public Source base(URI base) {
+ public Source base(Object base) {
super.base(base);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/atom/Text.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Text.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Text.java
index 40957e0..d38c823 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Text.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Text.java
@@ -14,8 +14,6 @@ package org.apache.juneau.dto.atom;
import static org.apache.juneau.xml.annotation.XmlFormat.*;
-import java.net.URI;
-
import org.apache.juneau.annotation.*;
import org.apache.juneau.xml.annotation.*;
@@ -133,13 +131,7 @@ public class Text extends Common {
//--------------------------------------------------------------------------------
@Override /* Common */
- public Text base(URI base) {
- super.base(base);
- return this;
- }
-
- @Override /* Common */
- public Text base(String base) {
+ public Text base(Object base) {
super.base(base);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/atom/Utils.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Utils.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Utils.java
index 80f80a6..6bedd91 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Utils.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Utils.java
@@ -12,7 +12,6 @@
// ***************************************************************************************************************************
package org.apache.juneau.dto.atom;
-import java.net.*;
import java.util.*;
import javax.xml.bind.*;
@@ -32,20 +31,6 @@ import javax.xml.bind.*;
class Utils {
/**
- * Converts a string to a URI without a {@link URISyntaxException}
- *
- * @param uri The URI string to convert.
- * @return A new URI object.
- */
- static final URI toURI(String uri) {
- try {
- return new URI(uri);
- } catch (URISyntaxException e) {
- throw new RuntimeException(e);
- }
- }
-
- /**
* Converts an ISO8601 date-time string to a {@link Calendar}.
*
* @param lexicalXSDDateTime The ISO8601 date-time string.
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/html5/A.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/A.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/A.java
index 795f256..07a4a00 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/A.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/A.java
@@ -14,7 +14,9 @@ package org.apache.juneau.dto.html5;
import java.net.*;
+import java.net.URI;
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
/**
@@ -46,12 +48,18 @@ public class A extends HtmlElementMixed {
/**
* <a class="doclink" href="https://www.w3.org/TR/html5/links.html#attr-hyperlink-href">href</a> attribute.
* Address of the hyperlink.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
+ *
* @param href The new value for this attribute.
* Typically a {@link URL} or {@link String}.
* @return This object (for method chaining).
*/
public final A href(Object href) {
- attr("href", href);
+ attrUri("href", href);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/html5/Area.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Area.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Area.java
index 2ab1eef..ad6f335 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Area.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Area.java
@@ -13,7 +13,9 @@
package org.apache.juneau.dto.html5;
import java.net.*;
+import java.net.URI;
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
/**
@@ -68,12 +70,18 @@ public class Area extends HtmlElementVoid {
/**
* <a class="doclink" href="https://www.w3.org/TR/html5/links.html#attr-hyperlink-href">href</a> attribute.
* Address of the hyperlink.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
+ *
* @param href The new value for this attribute.
* Typically a {@link URL} or {@link String}.
* @return This object (for method chaining).
*/
public final Area href(Object href) {
- attr("href", href);
+ attrUri("href", href);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/html5/Audio.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Audio.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Audio.java
index 3caa1b7..b5fef05 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Audio.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Audio.java
@@ -13,7 +13,9 @@
package org.apache.juneau.dto.html5;
import java.net.*;
+import java.net.URI;
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
/**
@@ -115,12 +117,18 @@ public class Audio extends HtmlElementContainer {
/**
* <a class="doclink" href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-media-src">src</a> attribute.
* Address of the resource.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
+ *
* @param src The new value for this attribute.
* Typically a {@link URL} or {@link String}.
* @return This object (for method chaining).
*/
public final Audio src(Object src) {
- attr("src", src);
+ attrUri("src", src);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/html5/Base.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Base.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Base.java
index 2dc1314..1618c86 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Base.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Base.java
@@ -13,7 +13,9 @@
package org.apache.juneau.dto.html5;
import java.net.*;
+import java.net.URI;
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
/**
@@ -34,12 +36,18 @@ public class Base extends HtmlElementVoid {
/**
* <a class="doclink" href="https://www.w3.org/TR/html5/document-metadata.html#attr-base-href">href</a> attribute.
* Document base URL.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
+ *
* @param href The new value for this attribute.
* Typically a {@link URL} or {@link String}.
* @return This object (for method chaining).
*/
public final Base href(Object href) {
- attr("href", href);
+ attrUri("href", href);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/html5/Button.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Button.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Button.java
index b122243..11fa930 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Button.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Button.java
@@ -12,6 +12,10 @@
// ***************************************************************************************************************************
package org.apache.juneau.dto.html5;
+import java.net.*;
+import java.net.URI;
+
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
/**
@@ -67,11 +71,17 @@ public class Button extends HtmlElementMixed {
/**
* <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-fs-formaction">formaction</a> attribute.
* URL to use for form submission.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
+ *
* @param formaction The new value for this attribute.
* @return This object (for method chaining).
*/
public final Button formaction(String formaction) {
- attr("formaction", formaction);
+ attrUri("formaction", formaction);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/html5/Embed.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Embed.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Embed.java
index 18a1e26..1e1e6fa 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Embed.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Embed.java
@@ -13,7 +13,9 @@
package org.apache.juneau.dto.html5;
import java.net.*;
+import java.net.URI;
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
/**
@@ -46,12 +48,18 @@ public class Embed extends HtmlElementVoid {
/**
* <a class="doclink" href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-embed-src">src</a> attribute.
* Address of the resource.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
+ *
* @param src The new value for this attribute.
* Typically a {@link URL} or {@link String}.
* @return This object (for method chaining).
*/
public final Embed src(Object src) {
- attr("src", src);
+ attrUri("src", src);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/html5/Form.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Form.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Form.java
index dddd0e9..e8b517a 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Form.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Form.java
@@ -12,6 +12,10 @@
// ***************************************************************************************************************************
package org.apache.juneau.dto.html5;
+import java.net.*;
+import java.net.URI;
+
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
/**
@@ -43,11 +47,17 @@ public class Form extends HtmlElementMixed {
/**
* <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-fs-action">action</a> attribute.
* URL to use for form submission.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
+ *
* @param action The new value for this attribute.
* @return This object (for method chaining).
*/
public final Form action(String action) {
- attr("action", action);
+ attrUri("action", action);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java
index 8c21a03..831db27 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java
@@ -14,11 +14,16 @@ package org.apache.juneau.dto.html5;
import static org.apache.juneau.xml.annotation.XmlFormat.*;
+import java.net.*;
+import java.net.URI;
import java.util.*;
+import java.util.Map.*;
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
import org.apache.juneau.html.*;
-import org.apache.juneau.utils.*;
+import org.apache.juneau.internal.*;
+import org.apache.juneau.utils.ObjectUtils;
import org.apache.juneau.xml.annotation.*;
/**
@@ -56,6 +61,11 @@ public abstract class HtmlElement {
*/
@BeanProperty("a")
public HtmlElement setAttrs(LinkedHashMap<String,Object> attrs) {
+ for (Entry<String,Object> e : attrs.entrySet()) {
+ String key = e.getKey();
+ if ("url".equals(key) || "href".equals(key) || key.endsWith("action"))
+ e.setValue(StringUtils.toURI(e.getValue()));
+ }
this.attrs = attrs;
return this;
}
@@ -70,11 +80,35 @@ public abstract class HtmlElement {
public HtmlElement attr(String key, Object val) {
if (this.attrs == null)
this.attrs = new LinkedHashMap<String,Object>();
+ if ("url".equals(key) || "href".equals(key) || key.endsWith("action"))
+ val = StringUtils.toURI(val);
this.attrs.put(key, val);
return this;
}
/**
+ * Adds an arbitrary URI attribute to this element.
+ * <p>
+ * Same as {@link #attr(String, Object)}, except if the value is
+ * a string that appears to be a URI (e.g. <js>"servlet:/xxx"</js>).
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
+ *
+ * @param key The attribute name.
+ * @param val The attribute value.
+ * @return This object (for method chaining).
+ */
+ public HtmlElement attrUri(String key, Object val) {
+ if (this.attrs == null)
+ this.attrs = new LinkedHashMap<String,Object>();
+ this.attrs.put(key, StringUtils.toURI(val));
+ return this;
+ }
+
+ /**
* Returns the attribute with the specified name.
*
* @param key The attribute name.
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/html5/Iframe.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Iframe.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Iframe.java
index 0ebf8d3..70757a4 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Iframe.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Iframe.java
@@ -13,7 +13,9 @@
package org.apache.juneau.dto.html5;
import java.net.*;
+import java.net.URI;
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
/**
@@ -68,12 +70,18 @@ public class Iframe extends HtmlElementMixed {
/**
* <a class="doclink" href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-iframe-src">src</a> attribute.
* Address of the resource.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
+ *
* @param src The new value for this attribute.
* Typically a {@link URL} or {@link String}.
* @return This object (for method chaining).
*/
public final Iframe src(Object src) {
- attr("src", src);
+ attrUri("src", src);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/html5/Img.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Img.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Img.java
index b9a8a8c..ab8ea60 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Img.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Img.java
@@ -13,7 +13,9 @@
package org.apache.juneau.dto.html5;
import java.net.*;
+import java.net.URI;
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
/**
@@ -79,12 +81,18 @@ public class Img extends HtmlElementVoid {
/**
* <a class="doclink" href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-img-src">src</a> attribute.
* Address of the resource.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
+ *
* @param src The new value for this attribute.
* Typically a {@link URL} or {@link String}.
* @return This object (for method chaining).
*/
public final Img src(Object src) {
- attr("src", src);
+ attrUri("src", src);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/html5/Link.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Link.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Link.java
index 2d1f223..c06c501 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Link.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Link.java
@@ -13,7 +13,9 @@
package org.apache.juneau.dto.html5;
import java.net.*;
+import java.net.URI;
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
/**
@@ -45,12 +47,18 @@ public class Link extends HtmlElementVoid {
/**
* <a class="doclink" href="https://www.w3.org/TR/html5/document-metadata.html#attr-link-href">href</a> attribute.
* Address of the hyperlink.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
+ *
* @param href The new value for this attribute.
* Typically a {@link URL} or {@link String}.
* @return This object (for method chaining).
*/
public final Link href(Object href) {
- attr("href", href);
+ attrUri("href", href);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/html5/Script.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Script.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Script.java
index aa51cd0..872545b 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Script.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Script.java
@@ -13,7 +13,9 @@
package org.apache.juneau.dto.html5;
import java.net.*;
+import java.net.URI;
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
/**
@@ -80,12 +82,18 @@ public class Script extends HtmlElementRawText {
/**
* <a class="doclink" href="https://www.w3.org/TR/html5/scripting-1.html#attr-script-src">src</a> attribute.
* Address of the resource.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
+ *
* @param src The new value for this attribute.
* Typically a {@link URL} or {@link String}.
* @return This object (for method chaining).
*/
public final Script src(Object src) {
- attr("src", src);
+ attrUri("src", src);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/html5/Source.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Source.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Source.java
index 9286729..c820690 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Source.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Source.java
@@ -13,7 +13,9 @@
package org.apache.juneau.dto.html5;
import java.net.*;
+import java.net.URI;
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
/**
@@ -34,12 +36,18 @@ public class Source extends HtmlElementVoid {
/**
* <a class="doclink" href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-source-src">src</a> attribute.
* Address of the resource.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
+ *
* @param src The new value for this attribute.
* Typically a {@link URL} or {@link String}.
* @return This object (for method chaining).
*/
public final Source src(Object src) {
- attr("src", src);
+ attrUri("src", src);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/html5/Track.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Track.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Track.java
index 3ae27f7..09c7d57 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Track.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Track.java
@@ -13,7 +13,9 @@
package org.apache.juneau.dto.html5;
import java.net.*;
+import java.net.URI;
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
/**
@@ -67,12 +69,18 @@ public class Track extends HtmlElementVoid {
/**
* <a class="doclink" href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-track-src">src</a> attribute.
* Address of the resource.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
+ *
* @param src The new value for this attribute.
* Typically a {@link URL} or {@link String}.
* @return This object (for method chaining).
*/
public final Track src(Object src) {
- attr("src", src);
+ attrUri("src", src);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/html5/Video.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Video.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Video.java
index 6616884..7e4c6a2 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Video.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Video.java
@@ -13,7 +13,9 @@
package org.apache.juneau.dto.html5;
import java.net.*;
+import java.net.URI;
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
/**
@@ -138,12 +140,18 @@ public class Video extends HtmlElementContainer {
/**
* <a class="doclink" href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-media-src">src</a> attribute.
* Address of the resource.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
+ *
* @param src The new value for this attribute.
* Typically a {@link URL} or {@link String}.
* @return This object (for method chaining).
*/
public final Video src(Object src) {
- attr("src", src);
+ attrUri("src", src);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/Schema.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/Schema.java b/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/Schema.java
index d92bec3..550a0b2 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/Schema.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/Schema.java
@@ -12,6 +12,9 @@
// ***************************************************************************************************************************
package org.apache.juneau.dto.jsonschema;
+import static org.apache.juneau.internal.StringUtils.*;
+
+import java.net.*;
import java.net.URI;
import java.util.*;
@@ -126,27 +129,21 @@ public class Schema {
/**
* Bean property setter: <property>id</property>.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
* @param id The new value for the <property>id</property> property on this bean.
* @return This object (for method chaining).
*/
- public Schema setId(URI id) {
- this.id = id;
+ public Schema setId(Object id) {
+ this.id = toURI(id);
return this;
}
/**
- * Bean property setter: <property>id</property>.
- *
- * @param id The new value for the <property>id</property> property on this bean.
- * The parameter must be a valid URI. It can be <jk>null</jk>.
- * @return This object (for method chaining).
- */
- public Schema setId(String id) {
- return setId(id == null ? null : URI.create(id));
- }
-
- /**
* Bean property getter: <property>$schema</property>.
*
* @return The value of the <property>$schema</property> property on this bean, or <jk>null</jk> if it is not set.
@@ -158,28 +155,22 @@ public class Schema {
/**
* Bean property setter: <property>$schema</property>.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
* @param schemaVersion The new value for the <property>schemaVersion</property> property on this bean.
* @return This object (for method chaining).
*/
@BeanProperty("$schema")
- public Schema setSchemaVersionUri(URI schemaVersion) {
- this.schemaVersion = schemaVersion;
+ public Schema setSchemaVersionUri(Object schemaVersion) {
+ this.schemaVersion = toURI(schemaVersion);
return this;
}
/**
- * Bean property setter: <property>schemaVersion</property>.
- *
- * @param schemaVersion The new value for the <property>schemaVersion</property> property on this bean.
- * The parameter must be a valid URI. It can be <jk>null</jk>.
- * @return This object (for method chaining).
- */
- public Schema setSchemaVersionUri(String schemaVersion) {
- return setSchemaVersionUri(schemaVersion == null ? null : URI.create(schemaVersion));
- }
-
- /**
* Bean property getter: <property>title</property>.
*
* @return The value of the <property>title</property> property, or <jk>null</jk> if it is not set.
@@ -1287,13 +1278,18 @@ public class Schema {
/**
* Bean property setter: <property>$ref</property>.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
* @param ref The new value for the <property>$ref</property> property on this bean.
* @return This object (for method chaining).
*/
@BeanProperty("$ref")
- public Schema setRef(URI ref) {
- this.ref = ref;
+ public Schema setRef(Object ref) {
+ this.ref = toURI(ref);
return this;
}
@@ -1364,19 +1360,6 @@ public class Schema {
if (not != null)
not.setMaster(master);
}
-
-
- /**
- * Bean property setter: <property>$ref</property>.
- *
- * @param ref The new value for the <property>$ref</property> property on this bean.
- * The parameter must be a valid URI. It can be <jk>null</jk>.
- * @return This object (for method chaining).
- */
- public Schema setRef(String ref) {
- return setRef(ref == null ? null : URI.create(ref));
- }
-
/**
* If this schema is a reference to another schema (i.e. has its <property>$ref</property> property set),
* this method will retrieve the referenced schema from the schema map registered with this schema.
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/SchemaMap.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/SchemaMap.java b/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/SchemaMap.java
index 2b12e0a..98a06f5 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/SchemaMap.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/SchemaMap.java
@@ -12,10 +12,12 @@
// ***************************************************************************************************************************
package org.apache.juneau.dto.jsonschema;
+import static org.apache.juneau.internal.StringUtils.*;
import java.io.*;
import java.net.*;
import java.util.concurrent.*;
+import org.apache.juneau.*;
import org.apache.juneau.json.*;
/**
@@ -40,30 +42,30 @@ public abstract class SchemaMap extends ConcurrentHashMap<URI,Schema> {
private static final long serialVersionUID = 1L;
- @Override /* Map */
- public Schema get(Object uri) {
- if (uri == null)
- return null;
- return get(URI.create(uri.toString()));
- }
-
/**
* Return the {@link Schema} object at the specified URI.
* If this schema object has not been loaded yet, calls {@link #load(URI)}.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
* @param uri The URI of the schema to retrieve.
* @return The Schema, or <jk>null</jk> if schema was not located and could not be loaded.
*/
- public Schema get(URI uri) {
- Schema s = super.get(uri);
+ @Override /* Map */
+ public Schema get(Object uri) {
+ URI u = toURI(uri);
+ Schema s = super.get(u);
if (s != null)
return s;
synchronized(this) {
- s = load(uri);
+ s = load(u);
if (s != null) {
// Note: Can't use add(Schema...) since the ID property may not be set.
s.setSchemaMap(this);
- put(uri, s);
+ put(u, s);
}
return s;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/SchemaRef.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/SchemaRef.java b/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/SchemaRef.java
index 7b59186..ef1a8e1 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/SchemaRef.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/SchemaRef.java
@@ -14,6 +14,8 @@ package org.apache.juneau.dto.jsonschema;
import java.net.*;
+import org.apache.juneau.*;
+
/**
* Convenience class for representing a schema reference such as <js>"{'$ref':'/url/to/ref'}"</js>.
* <p>
@@ -36,10 +38,15 @@ public class SchemaRef extends Schema {
/**
* Constructor.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
* @param uri The URI of the target reference. Can be <jk>null</jk>.
*/
- public SchemaRef(String uri) {
- this.setRef(uri == null ? null : URI.create(uri));
+ public SchemaRef(Object uri) {
+ this.setRef(uri);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/swagger/Contact.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/swagger/Contact.java b/juneau-core/src/main/java/org/apache/juneau/dto/swagger/Contact.java
index 6b55535..54102a8 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/swagger/Contact.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/swagger/Contact.java
@@ -12,6 +12,12 @@
// ***************************************************************************************************************************
package org.apache.juneau.dto.swagger;
+import static org.apache.juneau.internal.StringUtils.*;
+
+import java.net.*;
+import java.net.URI;
+
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
/**
@@ -40,7 +46,7 @@ import org.apache.juneau.annotation.*;
public class Contact extends SwaggerElement {
private String name;
- private String url;
+ private URI url;
private String email;
/**
@@ -84,31 +90,34 @@ public class Contact extends SwaggerElement {
*
* @return The value of the <property>url</property> property on this bean, or <jk>null</jk> if it is not set.
*/
- public String getUrl() {
+ public URI getUrl() {
return url;
}
/**
* Bean property setter: <property>url</property>.
* <p>
- * The URL pointing to the contact information. MUST be in the format of a URL.
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
* @param url The new value for the <property>url</property> property on this bean.
* @return This object (for method chaining).
*/
- public Contact setUrl(String url) {
- this.url = url;
+ public Contact setUrl(Object url) {
+ this.url = toURI(url);
return this;
}
/**
- * Synonym for {@link #setUrl(String)}.
+ * Synonym for {@link #setUrl(Object)}.
*
* @param url The new value for the <property>url</property> property on this bean.
* @return This object (for method chaining).
*/
- public Contact url(String url) {
- return setName(url);
+ public Contact url(Object url) {
+ return setUrl(url);
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/swagger/ExternalDocumentation.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/swagger/ExternalDocumentation.java b/juneau-core/src/main/java/org/apache/juneau/dto/swagger/ExternalDocumentation.java
index 3882f43..2679755 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/swagger/ExternalDocumentation.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/swagger/ExternalDocumentation.java
@@ -12,6 +12,12 @@
// ***************************************************************************************************************************
package org.apache.juneau.dto.swagger;
+import static org.apache.juneau.internal.StringUtils.*;
+
+import java.net.*;
+import java.net.URI;
+
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
/**
@@ -39,7 +45,7 @@ import org.apache.juneau.annotation.*;
public class ExternalDocumentation extends SwaggerElement {
private String description;
- private String url;
+ private URI url;
/**
* Bean property getter: <property>description</property>.
@@ -78,34 +84,42 @@ public class ExternalDocumentation extends SwaggerElement {
/**
* Bean property getter: <property>url</property>.
* <p>
- * Required. The URL for the target documentation. Value MUST be in the format of a URL.
+ * Required. The URL for the target documentation.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
* @return The value of the <property>url</property> property on this bean, or <jk>null</jk> if it is not set.
*/
- public String getUrl() {
+ public URI getUrl() {
return url;
}
/**
* Bean property setter: <property>url</property>.
* <p>
- * Required. The URL for the target documentation. Value MUST be in the format of a URL.
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
* @param url The new value for the <property>url</property> property on this bean.
* @return This object (for method chaining).
*/
- public ExternalDocumentation setUrl(String url) {
- this.url = url;
+ public ExternalDocumentation setUrl(Object url) {
+ this.url = toURI(url);
return this;
}
/**
- * Synonym for {@link #setUrl(String)}.
+ * Synonym for {@link #setUrl(Object)}.
*
* @param url The new value for the <property>url</property> property on this bean.
* @return This object (for method chaining).
*/
- public ExternalDocumentation url(String url) {
+ public ExternalDocumentation url(Object url) {
return setUrl(url);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/swagger/License.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/swagger/License.java b/juneau-core/src/main/java/org/apache/juneau/dto/swagger/License.java
index 3c720d7..13cef34 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/swagger/License.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/swagger/License.java
@@ -12,6 +12,12 @@
// ***************************************************************************************************************************
package org.apache.juneau.dto.swagger;
+import static org.apache.juneau.internal.StringUtils.*;
+
+import java.net.*;
+import java.net.URI;
+
+import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
/**
@@ -39,7 +45,7 @@ import org.apache.juneau.annotation.*;
public class License extends SwaggerElement {
private String name;
- private String url;
+ private URI url;
/**
* Bean property getter: <property>name</property>.
@@ -78,34 +84,42 @@ public class License extends SwaggerElement {
/**
* Bean property getter: <property>url</property>.
* <p>
- * A URL to the license used for the API. MUST be in the format of a URL.
+ * A URL to the license used for the API.
+ * <p>
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
* @return The value of the <property>url</property> property on this bean, or <jk>null</jk> if it is not set.
*/
- public String getUrl() {
+ public URI getUrl() {
return url;
}
/**
* Bean property setter: <property>url</property>.
* <p>
- * A URL to the license used for the API. MUST be in the format of a URL.
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * Strings must be valid URIs.
+ * <p>
+ * URIs defined by {@link UriResolver} can be used for values.
*
* @param url The new value for the <property>url</property> property on this bean.
* @return This object (for method chaining).
*/
- public License setUrl(String url) {
- this.url = url;
+ public License setUrl(Object url) {
+ this.url = toURI(url);
return this;
}
/**
- * Synonym for {@link #setUrl(String)}.
+ * Synonym for {@link #setUrl(Object)}.
*
* @param url The new value for the <property>url</property> property on this bean.
* @return This object (for method chaining).
*/
- public License url(String url) {
+ public License url(Object url) {
return setUrl(url);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/dto/swagger/SwaggerBuilder.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/swagger/SwaggerBuilder.java b/juneau-core/src/main/java/org/apache/juneau/dto/swagger/SwaggerBuilder.java
index f49263d..aa71038 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/swagger/SwaggerBuilder.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/swagger/SwaggerBuilder.java
@@ -12,6 +12,10 @@
// ***************************************************************************************************************************
package org.apache.juneau.dto.swagger;
+import java.net.*;
+
+import org.apache.juneau.*;
+
/**
* Various useful static methods for creating Swagger elements.
*
@@ -44,13 +48,16 @@ public class SwaggerBuilder {
}
/**
- * Creates an {@link Contact} element with the specified {@link Contact#name(String)}, {@link Contact#url(String)}, and {@link Contact#email(String)}, attributes.
+ * Creates an {@link Contact} element with the specified {@link Contact#name(String)}, {@link Contact#url(Object)}, and {@link Contact#email(String)}, attributes.
* @param name The {@link Contact#name(String)} attribute.
- * @param url The {@link Contact#url(String)} attribute.
+ * @param url The {@link Contact#url(Object)} attribute.
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * <br>Strings must be valid URIs.
+ * <br>URIs defined by {@link UriResolver} can be used for values.
* @param email The {@link Contact#email(String)} attribute.
* @return The new element.
*/
- public static final Contact contact(String name, String url, String email) {
+ public static final Contact contact(String name, Object url, String email) {
return contact().name(name).url(url).email(email);
}
@@ -63,21 +70,27 @@ public class SwaggerBuilder {
}
/**
- * Creates an {@link ExternalDocumentation} element with the specified {@link ExternalDocumentation#url(String)} attribute.
- * @param url The {@link ExternalDocumentation#url(String)} attribute.
+ * Creates an {@link ExternalDocumentation} element with the specified {@link ExternalDocumentation#url(Object)} attribute.
+ * @param url The {@link ExternalDocumentation#url(Object)} attribute.
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * <br>Strings must be valid URIs.
+ * <br>URIs defined by {@link UriResolver} can be used for values.
* @return The new element.
*/
- public static final ExternalDocumentation externalDocumentation(String url) {
+ public static final ExternalDocumentation externalDocumentation(Object url) {
return externalDocumentation().url(url);
}
/**
- * Creates an {@link ExternalDocumentation} element with the specified {@link ExternalDocumentation#url(String)} and {@link ExternalDocumentation#description(String)} attributes.
- * @param url The {@link ExternalDocumentation#url(String)} attribute.
+ * Creates an {@link ExternalDocumentation} element with the specified {@link ExternalDocumentation#url(Object)} and {@link ExternalDocumentation#description(String)} attributes.
+ * @param url The {@link ExternalDocumentation#url(Object)} attribute.
+ * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}.
+ * <br>Strings must be valid URIs.
+ * <br>URIs defined by {@link UriResolver} can be used for values.
* @param description The {@link ExternalDocumentation#description(String)} attribute.
* @return The new element.
*/
- public static final ExternalDocumentation externalDocumentation(String url, String description) {
+ public static final ExternalDocumentation externalDocumentation(Object url, String description) {
return externalDocumentation().url(url).description(description);
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocSerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocSerializerContext.java b/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocSerializerContext.java
index b8f5ddf..ebea8a3 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocSerializerContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocSerializerContext.java
@@ -75,6 +75,8 @@ public final class HtmlDocSerializerContext extends HtmlSerializerContext {
* <li><b>Session-overridable:</b> <jk>true</jk>
* </ul>
* <p>
+ * Specifies the text for the title that shows up in the header section of the page generated by the basic template.
+ * <p>
*
* <h5 class='section'>Example:</h5>
* <p>
@@ -132,6 +134,8 @@ public final class HtmlDocSerializerContext extends HtmlSerializerContext {
* <li><b>Session-overridable:</b> <jk>true</jk>
* </ul>
* <p>
+ * Specifies the text for the subtitle that shows up in the header section of the page generated by the basic template.
+ * <p>
*
* <h5 class='section'>Example:</h5>
* <p>
@@ -180,6 +184,23 @@ public final class HtmlDocSerializerContext extends HtmlSerializerContext {
public static final String HTMLDOC_description = "HtmlSerializer.description";
/**
+ * <b>Configuration property:</b> Page branding.
+ * <p>
+ * <ul>
+ * <li><b>Name:</b> <js>"HtmlSerializer.branding"</js>
+ * <li><b>Data type:</b> <code>String</code>
+ * <li><b>Default:</b> <jk>null</jk>
+ * <li><b>Session-overridable:</b> <jk>true</jk>
+ * </ul>
+ * <p>
+ * Specifies arbitrary HTML for the header that can be used for adding custom branding to the page generated by the
+ * basic template.
+ * <p>
+ * A value of <js>"NONE"</js> can be used to represent no value to differentiate it from an empty string.
+ */
+ public static final String HTMLDOC_branding = "HtmlSerializer.branding";
+
+ /**
* <b>Configuration property:</b> Header section contents.
* <p>
* <ul>
@@ -476,7 +497,7 @@ public final class HtmlDocSerializerContext extends HtmlSerializerContext {
final String[] css;
final Map<String,String> links;
- final String title, description, header, nav, aside, footer, cssUrl, noResultsMessage;
+ final String title, description, branding, header, nav, aside, footer, cssUrl, noResultsMessage;
final boolean nowrap;
final HtmlDocTemplate template;
@@ -492,6 +513,7 @@ public final class HtmlDocSerializerContext extends HtmlSerializerContext {
css = ps.getProperty(HTMLDOC_css, String[].class, new String[0]);
title = ps.getProperty(HTMLDOC_title, String.class, null);
description = ps.getProperty(HTMLDOC_description, String.class, null);
+ branding = ps.getProperty(HTMLDOC_branding, String.class, null);
header = ps.getProperty(HTMLDOC_header, String.class, null);
nav = ps.getProperty(HTMLDOC_nav, String.class, null);
aside = ps.getProperty(HTMLDOC_aside, String.class, null);
@@ -510,6 +532,7 @@ public final class HtmlDocSerializerContext extends HtmlSerializerContext {
.append("cssImports", css)
.append("title", title)
.append("text", description)
+ .append("branding", branding)
.append("header", header)
.append("nav", nav)
.append("links", links)
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocSerializerSession.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocSerializerSession.java b/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocSerializerSession.java
index 5cb8d91..15fff6b 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocSerializerSession.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocSerializerSession.java
@@ -33,7 +33,7 @@ import org.apache.juneau.serializer.*;
*/
public final class HtmlDocSerializerSession extends HtmlSerializerSession {
- private final String title, description, header, nav, aside, footer, cssUrl, noResultsMessage;
+ private final String title, description, branding, header, nav, aside, footer, cssUrl, noResultsMessage;
private final String[] css;
private final Map<String,String> links;
private final boolean nowrap;
@@ -62,6 +62,7 @@ public final class HtmlDocSerializerSession extends HtmlSerializerSession {
if (op == null || op.isEmpty()) {
title = ctx.title;
description = ctx.description;
+ branding = ctx.branding;
header = ctx.header;
nav = ctx.nav;
aside = ctx.aside;
@@ -75,6 +76,7 @@ public final class HtmlDocSerializerSession extends HtmlSerializerSession {
} else {
title = op.getString(HTMLDOC_title, ctx.title);
description = op.getString(HTMLDOC_description, ctx.description);
+ branding = op.getString(HTMLDOC_branding, ctx.branding);
header = op.getString(HTMLDOC_header, ctx.nav);
nav = op.getString(HTMLDOC_nav, ctx.nav);
aside = op.getString(HTMLDOC_aside, ctx.aside);
@@ -134,6 +136,15 @@ public final class HtmlDocSerializerSession extends HtmlSerializerSession {
}
/**
+ * Returns the {@link HtmlDocSerializerContext#HTMLDOC_branding} setting value in this context.
+ * @return The {@link HtmlDocSerializerContext#HTMLDOC_branding} setting value in this context.
+ * <jk>null</jk> if not specified. Never an empty string.
+ */
+ public final String getBranding() {
+ return branding;
+ }
+
+ /**
* Returns the {@link HtmlDocSerializerContext#HTMLDOC_header} setting value in this context.
* @return The {@link HtmlDocSerializerContext#HTMLDOC_header} setting value in this context.
* <jk>null</jk> if not specified. Never an empty string.
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocTemplateBasic.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocTemplateBasic.java b/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocTemplateBasic.java
index 6553fdb..05f9705 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocTemplateBasic.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/HtmlDocTemplateBasic.java
@@ -94,10 +94,13 @@ public class HtmlDocTemplateBasic implements HtmlDocTemplate {
} else {
String title = session.getTitle();
String description = session.getDescription();
+ String branding = session.getBranding();
if (exists(title))
w.oTag(1, "h3").attr("class", "title").append('>').text(title).eTag("h3").nl();
if (exists(description))
w.oTag(1, "h5").attr("class", "description").append('>').text(description).eTag("h5").nl();
+ if (exists(branding))
+ w.append(branding).nl();
}
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/internal/StringUtils.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/internal/StringUtils.java b/juneau-core/src/main/java/org/apache/juneau/internal/StringUtils.java
index c4bf1db..61bacb0 100644
--- a/juneau-core/src/main/java/org/apache/juneau/internal/StringUtils.java
+++ b/juneau-core/src/main/java/org/apache/juneau/internal/StringUtils.java
@@ -1395,6 +1395,56 @@ public final class StringUtils {
}
/**
+ * Efficiently determines whether a URL is of the pattern "xxx:/xxx".
+ * <p>
+ * The pattern matched is: <code>[a-z]{2,}\:\/.*</code>
+ * <p>
+ * Note that this excludes filesystem paths such as <js>"C:/temp"</js>.
+ *
+ * @param s The string to test.
+ * @return <jk>true</jk> if it's an absolute path.
+ */
+ public static boolean isUri(String s) {
+
+ if (isEmpty(s))
+ return false;
+
+ // Use a state machine for maximum performance.
+
+ int S1 = 1; // Looking for protocol char 1
+ int S2 = 2; // Found protocol char 1, looking for protocol char 2
+ int S3 = 3; // Found protocol char 2, looking for :
+ int S4 = 4; // Found :, looking for /
+
+
+ int state = S1;
+ for (int i = 0; i < s.length(); i++) {
+ char c = s.charAt(i);
+ if (state == S1) {
+ if (c >= 'a' && c <= 'z')
+ state = S2;
+ else
+ return false;
+ } else if (state == S2) {
+ if (c >= 'a' && c <= 'z')
+ state = S3;
+ else
+ return false;
+ } else if (state == S3) {
+ if (c == ':')
+ state = S4;
+ else if (c < 'a' || c > 'z')
+ return false;
+ } else if (state == S4) {
+ if (c == '/')
+ return true;
+ return false;
+ }
+ }
+ return false;
+ }
+
+ /**
* Given an absolute URI, returns just the authority portion (e.g. <js>"http://hostname:port"</js>)
*
* @param s The URI string.
@@ -1446,4 +1496,20 @@ public final class StringUtils {
}
return s;
}
+
+ /**
+ * Converts the specified object to a URI.
+ *
+ * @param o The object to convert to a URI.
+ * @return A new URI, or the same object if the object was already a URI, or
+ */
+ public static URI toURI(Object o) {
+ if (o == null || o instanceof URI)
+ return (URI)o;
+ try {
+ return new URI(o.toString());
+ } catch (URISyntaxException e) {
+ throw new RuntimeException(e);
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerContext.java b/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerContext.java
index 1381972..ac65ab2 100644
--- a/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerContext.java
@@ -238,7 +238,7 @@ public class SerializerContext extends BeanContext {
* <ul>
* <li><b>Name:</b> <js>"Serializer.uriResolution"</js>
* <li><b>Data type:</b> {@link UriResolution}
- * <li><b>Default:</b> {@link UriResolution#ROOT_RELATIVE}
+ * <li><b>Default:</b> {@link UriResolution#NONE}
* <li><b>Session-overridable:</b> <jk>true</jk>
* </ul>
* <p>
@@ -392,7 +392,7 @@ public class SerializerContext extends BeanContext {
abridged = ps.getProperty(SERIALIZER_abridged, boolean.class, false);
quoteChar = ps.getProperty(SERIALIZER_quoteChar, String.class, "\"").charAt(0);
uriContext = ps.getProperty(SERIALIZER_uriContext, UriContext.class, UriContext.DEFAULT);
- uriResolution = ps.getProperty(SERIALIZER_uriResolution, UriResolution.class, UriResolution.ROOT_RELATIVE);
+ uriResolution = ps.getProperty(SERIALIZER_uriResolution, UriResolution.class, UriResolution.NONE);
uriRelativity = ps.getProperty(SERIALIZER_uriRelativity, UriRelativity.class, UriRelativity.RESOURCE);
listener = ps.getProperty(SERIALIZER_listener, Class.class, null);
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core/src/main/javadoc/overview.html
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/javadoc/overview.html b/juneau-core/src/main/javadoc/overview.html
index 9f7d54f..9d4a49e 100644
--- a/juneau-core/src/main/javadoc/overview.html
+++ b/juneau-core/src/main/javadoc/overview.html
@@ -6294,6 +6294,7 @@
<ul>
<li>{@link org.apache.juneau.html.HtmlDocSerializerContext#HTMLDOC_title}
<li>{@link org.apache.juneau.html.HtmlDocSerializerContext#HTMLDOC_description}
+ <li>{@link org.apache.juneau.html.HtmlDocSerializerContext#HTMLDOC_branding}
<li>{@link org.apache.juneau.html.HtmlDocSerializerContext#HTMLDOC_header}
<li>{@link org.apache.juneau.html.HtmlDocSerializerContext#HTMLDOC_nav}
<li>{@link org.apache.juneau.html.HtmlDocSerializerContext#HTMLDOC_aside}
@@ -6456,6 +6457,7 @@
<ul>
<li>{@link org.apache.juneau.rest.RestConfig#setHtmlTitle(String) setHtmlTitle(String)}
<li>{@link org.apache.juneau.rest.RestConfig#setHtmlDescription(String) setHtmlDescription(String)}
+ <li>{@link org.apache.juneau.rest.RestConfig#setHtmlBranding(String) setHtmlBranding(String)}
<li>{@link org.apache.juneau.rest.RestConfig#setHtmlHeader(String) setHtmlHeader(String)}
<li>{@link org.apache.juneau.rest.RestConfig#setHtmlLinks(String) setHtmlLinks(String)}
<li>{@link org.apache.juneau.rest.RestConfig#setHtmlNav(String) setHtmlNav(String)}
@@ -6473,6 +6475,7 @@
<ul>
<li>{@link org.apache.juneau.rest.RestResponse#setHtmlTitle(Object) setHtmlTitle(Object)}
<li>{@link org.apache.juneau.rest.RestResponse#setHtmlDescription(Object) setHtmlDescription(Object)}
+ <li>{@link org.apache.juneau.rest.RestResponse#setHtmlBranding(Object) setHtmlBranding(Object)}
<li>{@link org.apache.juneau.rest.RestResponse#setHtmlHeader(Object) setHtmlHeader(Object)}
<li>{@link org.apache.juneau.rest.RestResponse#setHtmlLinks(Object) setHtmlLinks(Object)}
<li>{@link org.apache.juneau.rest.RestResponse#setHtmlNav(Object) setHtmlNav(Object)}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RootResources.java
----------------------------------------------------------------------
diff --git a/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RootResources.java b/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RootResources.java
index 2637411..3f572e6 100644
--- a/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RootResources.java
+++ b/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RootResources.java
@@ -36,10 +36,11 @@ import org.apache.juneau.rest.widget.*;
+ " <p>All content on pages in the UI are serialized POJOs. In this case, it's a serialized array of beans with 2 properties.</p>"
+ " <p>Other features (such as this aside) are added through annotations.</p>"
+ "</div>",
- footer="$W{poweredByJuneau}"
+ footer="$W{poweredByApache}"
),
widgets={
PoweredByJuneauWidget.class,
+ PoweredByApacheWidget.class,
ContentTypeLinksWidget.class
},
children={
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-rest/src/main/java/org/apache/juneau/rest/CallMethod.java
----------------------------------------------------------------------
diff --git a/juneau-rest/src/main/java/org/apache/juneau/rest/CallMethod.java b/juneau-rest/src/main/java/org/apache/juneau/rest/CallMethod.java
index 69d6814..f6753e5 100644
--- a/juneau-rest/src/main/java/org/apache/juneau/rest/CallMethod.java
+++ b/juneau-rest/src/main/java/org/apache/juneau/rest/CallMethod.java
@@ -66,8 +66,8 @@ class CallMethod implements Comparable<CallMethod> {
private final org.apache.juneau.rest.annotation.Parameter[] parameters;
private final Response[] responses;
private final RestContext context;
- private final String htmlTitle, htmlDescription, htmlHeader, htmlLinks, htmlNav, htmlAside, htmlFooter, htmlCss,
- htmlCssUrl, htmlNoResultsMessage;
+ private final String htmlTitle, htmlDescription, htmlBranding, htmlHeader, htmlLinks, htmlNav, htmlAside,
+ htmlFooter, htmlCss, htmlCssUrl, htmlNoResultsMessage;
private final boolean htmlNoWrap;
private final HtmlDocTemplate htmlTemplate;
private final Map<String,Widget> widgets;
@@ -103,6 +103,7 @@ class CallMethod implements Comparable<CallMethod> {
this.responses = b.responses;
this.htmlTitle = b.htmlTitle;
this.htmlDescription = b.htmlDescription;
+ this.htmlBranding = b.htmlBranding;
this.htmlHeader = b.htmlHeader;
this.htmlLinks = b.htmlLinks;
this.htmlNav = b.htmlNav;
@@ -118,7 +119,7 @@ class CallMethod implements Comparable<CallMethod> {
private static class Builder {
private String httpMethod, defaultCharset, description, tags, summary, externalDocs, htmlTitle, htmlDescription,
- htmlLinks, htmlNav, htmlAside, htmlFooter, htmlCssUrl, htmlCss, htmlHeader, htmlNoResultsMessage;
+ htmlBranding, htmlLinks, htmlNav, htmlAside, htmlFooter, htmlCssUrl, htmlCss, htmlHeader, htmlNoResultsMessage;
private boolean htmlNoWrap;
private HtmlDocTemplate htmlTemplate;
private UrlPathPattern pathPattern;
@@ -173,6 +174,7 @@ class CallMethod implements Comparable<CallMethod> {
HtmlDoc hd = m.htmldoc();
htmlTitle = hd.title().isEmpty() ? context.getHtmlTitle() : hd.title();
htmlDescription = hd.description().isEmpty() ? context.getHtmlDescription() : hd.description();
+ htmlBranding = hd.branding().isEmpty() ? context.getHtmlBranding() : hd.branding();
htmlHeader = hd.header().isEmpty() ? context.getHtmlHeader() : hd.header();
htmlLinks = hd.links().isEmpty() ? context.getHtmlLinks() : hd.links();
htmlNav = hd.nav().isEmpty() ? context.getHtmlNav() : hd.nav();
@@ -875,6 +877,8 @@ class CallMethod implements Comparable<CallMethod> {
}
if (k.equals(HTMLDOC_header))
return htmlHeader == null ? null : req.resolveVars(htmlHeader);
+ if (k.equals(HTMLDOC_branding))
+ return htmlBranding == null ? null : req.resolveVars(htmlBranding);
if (k.equals(HTMLDOC_links))
return htmlLinks == null ? null : req.resolveVars(htmlLinks);
if (k.equals(HTMLDOC_nav))
[3/4] incubator-juneau git commit: Add branding capability to
HtmlDocSerializer and REST servlet.
Posted by ja...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core-test/src/test/java/org/apache/juneau/serializer/UriResolutionTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/serializer/UriResolutionTest.java b/juneau-core-test/src/test/java/org/apache/juneau/serializer/UriResolutionTest.java
index e27e43c..ab30ef5 100644
--- a/juneau-core-test/src/test/java/org/apache/juneau/serializer/UriResolutionTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/serializer/UriResolutionTest.java
@@ -101,7 +101,7 @@ public class UriResolutionTest {
"(f0=http://foo.com:123/context/resource/f0/x0,f1a=http://www.apache.org/f1a,f1b=http://foo.com:123/f1b,f1c=http://foo.com:123/f1c/x/y,f1d=http://foo.com:123/context/resource/f1d,f1e=http://foo.com:123/context/resource/f1e/x/y,f1f=http://foo.com:123/context/resource,f1g=http://foo.com:123/context/resource/f1g/x,f1h=http://foo.com:123/context/resource/f1h,f1i=http://foo.com:123/context/resource,f1j=http://foo.com:123/context,f1k=http://foo.com:123/context/f1j/x,f1l=http://foo.com:123/context/f1k,f1m=http://foo.com:123/context,f1n=http://foo.com:123,f2a=http://www.apache.org/f2a,f2b=http://foo.com:123/f2b,f2c=http://foo.com:123/f2c/x/y,f2d=http://foo.com:123/context/resource/f2d,f2e=http://foo.com:123/context/resource/f2e/x/y,f2f=http://foo.com:123/context/resource,f2g=http://foo.com:123/context/resource/f2g/x,f2h=http://foo.com:123/context/resource/f2h,f2i=http://foo.com:123/context/resource,f2j=http://foo.com:123/context,f2k=http://foo.com:123/context/f2j/x,f2l=http://foo.com:1
23/context/f2k,f2m=http://foo.com:123/context,f2n=http://foo.com:123,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=http://foo.com:123/context/resource/%3C%3E%26%27%22,f3c=http://foo.com:123/context/resource/<>&~'\",f4=http://foo.com:123/context/resource/test/uri/b,f5=http://foo.com:123/context/resource/f5/x)",
"f0=http://foo.com:123/context/resource/f0/x0&f1a=http://www.apache.org/f1a&f1b=http://foo.com:123/f1b&f1c=http://foo.com:123/f1c/x/y&f1d=http://foo.com:123/context/resource/f1d&f1e=http://foo.com:123/context/resource/f1e/x/y&f1f=http://foo.com:123/context/resource&f1g=http://foo.com:123/context/resource/f1g/x&f1h=http://foo.com:123/context/resource/f1h&f1i=http://foo.com:123/context/resource&f1j=http://foo.com:123/context&f1k=http://foo.com:123/context/f1j/x&f1l=http://foo.com:123/context/f1k&f1m=http://foo.com:123/context&f1n=http://foo.com:123&f2a=http://www.apache.org/f2a&f2b=http://foo.com:123/f2b&f2c=http://foo.com:123/f2c/x/y&f2d=http://foo.com:123/context/resource/f2d&f2e=http://foo.com:123/context/resource/f2e/x/y&f2f=http://foo.com:123/context/resource&f2g=http://foo.com:123/context/resource/f2g/x&f2h=http://foo.com:123/context/resource/f2h&f2i=http://foo.com:123/context/resource&f2j=http://foo.com:123/context&f2k=http://foo.com:123/context/f2j/x&f2l=http://foo.com:12
3/context/f2k&f2m=http://foo.com:123/context&f2n=http://foo.com:123&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=http://foo.com:123/context/resource/%253C%253E%2526%2527%2522&f3c=http://foo.com:123/context/resource/%3C%3E%26~'%22&f4=http://foo.com:123/context/resource/test/uri/b&f5=http://foo.com:123/context/resource/f5/x",
"DE0022A26630D929687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162B6687474703A2F2F666F6F2E636F6D3A3132332F663162A3663163BA687474703A2F2F666F6F2E636F6D3A3132332F6631632F782F79A3663164D927687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F663164A3663165D92B687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F6631652F782F79A3663166D923687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F75726365A3663167D929687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F6631672F78A3663168D927687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F663168A3663169D923687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F75726365A366316ABA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A366316BD920687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66316A2F78A366316CBE687474703A2F2F666F6F2E636F6D3A313
2332F636F6E746578742F66316BA366316DBA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A366316EB2687474703A2F2F666F6F2E636F6D3A313233A3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262B6687474703A2F2F666F6F2E636F6D3A3132332F663262A3663263BA687474703A2F2F666F6F2E636F6D3A3132332F6632632F782F79A3663264D927687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F663264A3663265D92B687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F6632652F782F79A3663266D923687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F75726365A3663267D929687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F6632672F78A3663268D927687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F663268A3663269D923687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F75726365A366326ABA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A366326BD920687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66326A2F78A366326CBE68
7474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66326BA366326DBA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A366326EB2687474703A2F2F666F6F2E636F6D3A313233A3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362D933687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F253343253345253236253237253232A3663363D929687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F3C3E262722A26634D92E687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F746573742F7572692F62A26635D928687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F7265736F757263652F66352F78",
- "<rdf:RDF>\n<rdf:Description rdf:about='http://foo.com:123/context/resource/f0/x0'>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1n rdf:resource='http://foo.com:123'/>\n<jp:f2j rdf:resource='http://foo.com:123/context'/>\n<jp:f1g rdf:resource='http://foo.com:123/context/resource/f1g/x'/>\n<jp:f2m rdf:resource='http://foo.com:123/context'/>\n<jp:f2i rdf:resource='http://foo.com:123/context/resource'/>\n<jp:f5 rdf:resource='http://foo.com:123/context/resource/f5/x'/>\n<jp:f1k rdf:resource='http://foo.com:123/context/f1j/x'/>\n<jp:f2f rdf:resource='http://foo.com:123/context/resource'/>\n<jp:f4 rdf:resource='http://foo.com:123/context/resource/test/uri/b'/>\n<jp:f1b rdf:resource='http://foo.com:123/f1b'/>\n<jp:f1f rdf:resource='http://foo.com:123/context/resource'/>\n<jp:f1c rdf:resource='http://foo.com:123/f1c/x/y'/>\n<jp:f2n rdf:resource='http://foo.com:123'/>\n<jp:f1l rdf:resource='http://foo.com:123/context/f1k'/>\n<jp:f2d rdf:resource
='http://foo.com:123/context/resource/f2d'/>\n<jp:f1e rdf:resource='http://foo.com:123/context/resource/f1e/x/y'/>\n<jp:f1j rdf:resource='http://foo.com:123/context'/>\n<jp:f2k rdf:resource='http://foo.com:123/context/f2j/x'/>\n<jp:f2e rdf:resource='http://foo.com:123/context/resource/f2e/x/y'/>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2b rdf:resource='http://foo.com:123/f2b'/>\n<jp:f2h rdf:resource='http://foo.com:123/context/resource/f2h'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1h rdf:resource='http://foo.com:123/context/resource/f1h'/>\n<jp:f1i rdf:resource='http://foo.com:123/context/resource'/>\n<jp:f2g rdf:resource='http://foo.com:123/context/resource/f2g/x'/>\n<jp:f1d rdf:resource='http://foo.com:123/context/resource/f1d'/>\n<jp:f3c rdf:resource='http://foo.com:123/context/resource/<>&'"'/>\n<jp:f2l rdf:resource='http://foo.com:123/context/f2k'/>\n<jp:f2c rdf:resource='http://foo.com:123/f2c/x/y'/>\n<jp:f3b rdf:resource
='http://foo.com:123/context/resource/%3C%3E%26%27%22'/>\n<jp:f1m rdf:resource='http://foo.com:123/context'/>\n</rdf:Description>\n</rdf:RDF>\n"
+ "<rdf:RDF>\n<rdf:Description rdf:about='http://foo.com:123/context/resource/f0/x0'>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1g rdf:resource='http://foo.com:123/context/resource/f1g/x'/>\n<jp:f2m rdf:resource='http://foo.com:123/context'/>\n<jp:f2i rdf:resource='http://foo.com:123/context/resource'/>\n<jp:f5 rdf:resource='http://foo.com:123/context/resource/f5/x'/>\n<jp:f1k rdf:resource='http://foo.com:123/context/f1j/x'/>\n<jp:f2f rdf:resource='http://foo.com:123/context/resource'/>\n<jp:f4 rdf:resource='http://foo.com:123/context/resource/test/uri/b'/>\n<jp:f1f rdf:resource='http://foo.com:123/context/resource'/>\n<jp:f1b rdf:resource='http://foo.com:123/f1b'/>\n<jp:f1c rdf:resource='http://foo.com:123/f1c/x/y'/>\n<jp:f1l rdf:resource='http://foo.com:123/context/f1k'/>\n<jp:f2d rdf:resource='http://foo.com:123/context/resource/f2d'/>\n<jp:f1e rdf:resource='http://foo.com:123/context/resource/f1e/x/y'/>\n<jp:f2k rdf:resource='http:
//foo.com:123/context/f2j/x'/>\n<jp:f2e rdf:resource='http://foo.com:123/context/resource/f2e/x/y'/>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2j rdf:resource='http://foo.com:123/context'/>\n<jp:f2n rdf:resource='http://foo.com:123'/>\n<jp:f2b rdf:resource='http://foo.com:123/f2b'/>\n<jp:f2h rdf:resource='http://foo.com:123/context/resource/f2h'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1h rdf:resource='http://foo.com:123/context/resource/f1h'/>\n<jp:f1i rdf:resource='http://foo.com:123/context/resource'/>\n<jp:f1j rdf:resource='http://foo.com:123/context'/>\n<jp:f2g rdf:resource='http://foo.com:123/context/resource/f2g/x'/>\n<jp:f1n rdf:resource='http://foo.com:123'/>\n<jp:f1d rdf:resource='http://foo.com:123/context/resource/f1d'/>\n<jp:f3c rdf:resource='http://foo.com:123/context/resource/<>&'"'/>\n<jp:f2l rdf:resource='http://foo.com:123/context/f2k'/>\n<jp:f2c rdf:resource='http://foo.com:123/f2c/x/y'/>\n<jp:f3b rdf:resource
='http://foo.com:123/context/resource/%3C%3E%26%27%22'/>\n<jp:f1m rdf:resource='http://foo.com:123/context'/>\n</rdf:Description>\n</rdf:RDF>\n"
)
},
{ /* 1 */
@@ -116,7 +116,7 @@ public class UriResolutionTest {
"(f0=/context/resource/f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=/context/resource/f1d,f1e=/context/resource/f1e/x/y,f1f=/context/resource,f1g=/context/resource/f1g/x,f1h=/context/resource/f1h,f1i=/context/resource,f1j=/context,f1k=/context/f1j/x,f1l=/context/f1k,f1m=/context,f1n=/,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=/context/resource/f2d,f2e=/context/resource/f2e/x/y,f2f=/context/resource,f2g=/context/resource/f2g/x,f2h=/context/resource/f2h,f2i=/context/resource,f2j=/context,f2k=/context/f2j/x,f2l=/context/f2k,f2m=/context,f2n=/,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=/context/resource/%3C%3E%26%27%22,f3c=/context/resource/<>&~'\",f4=/context/resource/test/uri/b,f5=/context/resource/f5/x)",
"f0=/context/resource/f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=/context/resource/f1d&f1e=/context/resource/f1e/x/y&f1f=/context/resource&f1g=/context/resource/f1g/x&f1h=/context/resource/f1h&f1i=/context/resource&f1j=/context&f1k=/context/f1j/x&f1l=/context/f1k&f1m=/context&f1n=/&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=/context/resource/f2d&f2e=/context/resource/f2e/x/y&f2f=/context/resource&f2g=/context/resource/f2g/x&f2h=/context/resource/f2h&f2i=/context/resource&f2j=/context&f2k=/context/f2j/x&f2l=/context/f2k&f2m=/context&f2n=/&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=/context/resource/%253C%253E%2526%2527%2522&f3c=/context/resource/%3C%3E%26~'%22&f4=/context/resource/test/uri/b&f5=/context/resource/f5/x",
"DE0022A26630B72F636F6E746578742F7265736F757263652F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164B52F636F6E746578742F7265736F757263652F663164A3663165B92F636F6E746578742F7265736F757263652F6631652F782F79A3663166B12F636F6E746578742F7265736F75726365A3663167B72F636F6E746578742F7265736F757263652F6631672F78A3663168B52F636F6E746578742F7265736F757263652F663168A3663169B12F636F6E746578742F7265736F75726365A366316AA82F636F6E74657874A366316BAE2F636F6E746578742F66316A2F78A366316CAC2F636F6E746578742F66316BA366316DA82F636F6E74657874A366316EA12FA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264B52F636F6E746578742F7265736F757263652F663264A3663265B92F636F6E746578742F7265736F757263652F6632652F782F79A3663266B12F636F6E746578742F7265736F75726365A3663267B72F636F6E746578742F7265736F757263652F6632672F78A3663268B52F636F6E746578742F7265736F757263652F663268A3663269B12F636
F6E746578742F7265736F75726365A366326AA82F636F6E74657874A366326BAE2F636F6E746578742F66326A2F78A366326CAC2F636F6E746578742F66326BA366326DA82F636F6E74657874A366326EA12FA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362D9212F636F6E746578742F7265736F757263652F253343253345253236253237253232A3663363B72F636F6E746578742F7265736F757263652F3C3E262722A26634BC2F636F6E746578742F7265736F757263652F746573742F7572692F62A26635B62F636F6E746578742F7265736F757263652F66352F78",
- "<rdf:RDF>\n<rdf:Description rdf:about='/context/resource/f0/x0'>\n<jp:f2h rdf:resource='/context/resource/f2h'/>\n<jp:f2f rdf:resource='/context/resource'/>\n<jp:f1c rdf:resource='/f1c/x/y'/>\n<jp:f1h rdf:resource='/context/resource/f1h'/>\n<jp:f1n rdf:resource='/'/>\n<jp:f5 rdf:resource='/context/resource/f5/x'/>\n<jp:f1e rdf:resource='/context/resource/f1e/x/y'/>\n<jp:f3c rdf:resource='/context/resource/<>&'"'/>\n<jp:f2k rdf:resource='/context/f2j/x'/>\n<jp:f2m rdf:resource='/context'/>\n<jp:f2i rdf:resource='/context/resource'/>\n<jp:f1d rdf:resource='/context/resource/f1d'/>\n<jp:f4 rdf:resource='/context/resource/test/uri/b'/>\n<jp:f1j rdf:resource='/context'/>\n<jp:f1k rdf:resource='/context/f1j/x'/>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f2c rdf:resource='/f2c/x/y'/>\n<jp:f2e rdf:resource='/context/resource/f2e/x/y'/>\n<jp:f2n rdf:resource='/'/>\n<jp:f2j rdf:resource='/context'/>\n<jp:f3b rdf:resource='/
context/resource/%3C%3E%26%27%22'/>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2b rdf:resource='/f2b'/>\n<jp:f1i rdf:resource='/context/resource'/>\n<jp:f1g rdf:resource='/context/resource/f1g/x'/>\n<jp:f1b rdf:resource='/f1b'/>\n<jp:f1m rdf:resource='/context'/>\n<jp:f2d rdf:resource='/context/resource/f2d'/>\n<jp:f2g rdf:resource='/context/resource/f2g/x'/>\n<jp:f1l rdf:resource='/context/f1k'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1f rdf:resource='/context/resource'/>\n<jp:f2l rdf:resource='/context/f2k'/>\n</rdf:Description>\n</rdf:RDF>\n"
+ "<rdf:RDF>\n<rdf:Description rdf:about='/context/resource/f0/x0'>\n<jp:f2h>/context/resource/f2h</jp:f2h>\n<jp:f2f>/context/resource</jp:f2f>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1h>/context/resource/f1h</jp:f1h>\n<jp:f5>/context/resource/f5/x</jp:f5>\n<jp:f1e>/context/resource/f1e/x/y</jp:f1e>\n<jp:f3c>/context/resource/<>&''</jp:f3c>\n<jp:f2k>/context/f2j/x</jp:f2k>\n<jp:f1j>/context</jp:f1j>\n<jp:f2m>/context</jp:f2m>\n<jp:f2i>/context/resource</jp:f2i>\n<jp:f1d>/context/resource/f1d</jp:f1d>\n<jp:f4>/context/resource/test/uri/b</jp:f4>\n<jp:f1n>/</jp:f1n>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1k>/context/f1j/x</jp:f1k>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f2e>/context/resource/f2e/x/y</jp:f2e>\n<jp:f3b>/context/resource/%3C%3E%26%27%22</jp:f3b>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f1i>/context/resource</jp:f1i>\n<jp:f1g>/context/resource/f1g/x</jp:f1g>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f1
m>/context</jp:f1m>\n<jp:f2d>/context/resource/f2d</jp:f2d>\n<jp:f2g>/context/resource/f2g/x</jp:f2g>\n<jp:f2n>/</jp:f2n>\n<jp:f2j>/context</jp:f2j>\n<jp:f1l>/context/f1k</jp:f1l>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1f>/context/resource</jp:f1f>\n<jp:f2l>/context/f2k</jp:f2l>\n</rdf:Description>\n</rdf:RDF>\n"
)
},
{ /* 2 */
@@ -131,7 +131,7 @@ public class UriResolutionTest {
"(f0=f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=f1d,f1e=f1e/x/y,f1f='',f1g=/context/resource/f1g/x,f1h=/context/resource/f1h,f1i=/context/resource,f1j=/context,f1k=/context/f1j/x,f1l=/context/f1k,f1m=/context,f1n=/,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=f2d,f2e=f2e/x/y,f2f='',f2g=/context/resource/f2g/x,f2h=/context/resource/f2h,f2i=/context/resource,f2j=/context,f2k=/context/f2j/x,f2l=/context/f2k,f2m=/context,f2n=/,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=%3C%3E%26%27%22,f3c=<>&~'\",f4=test/uri/b,f5=f5/x)",
"f0=f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=f1d&f1e=f1e/x/y&f1f=''&f1g=/context/resource/f1g/x&f1h=/context/resource/f1h&f1i=/context/resource&f1j=/context&f1k=/context/f1j/x&f1l=/context/f1k&f1m=/context&f1n=/&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=f2d&f2e=f2e/x/y&f2f=''&f2g=/context/resource/f2g/x&f2h=/context/resource/f2h&f2i=/context/resource&f2j=/context&f2k=/context/f2j/x&f2l=/context/f2k&f2m=/context&f2n=/&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=%253C%253E%2526%2527%2522&f3c=%3C%3E%26~'%22&f4=test/uri/b&f5=f5/x",
"DE0022A26630A566302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164A3663164A3663165A76631652F782F79A3663166A0A3663167B72F636F6E746578742F7265736F757263652F6631672F78A3663168B52F636F6E746578742F7265736F757263652F663168A3663169B12F636F6E746578742F7265736F75726365A366316AA82F636F6E74657874A366316BAE2F636F6E746578742F66316A2F78A366316CAC2F636F6E746578742F66316BA366316DA82F636F6E74657874A366316EA12FA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264A3663264A3663265A76632652F782F79A3663266A0A3663267B72F636F6E746578742F7265736F757263652F6632672F78A3663268B52F636F6E746578742F7265736F757263652F663268A3663269B12F636F6E746578742F7265736F75726365A366326AA82F636F6E74657874A366326BAE2F636F6E746578742F66326A2F78A366326CAC2F636F6E746578742F66326BA366326DA82F636F6E74657874A366326EA12FA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D5
95F4C4142454C26666F6F3D626172A3663362AF253343253345253236253237253232A3663363A53C3E262722A26634AA746573742F7572692F62A26635A466352F78",
- "<rdf:RDF>\n<rdf:Description rdf:about='f0/x0'>\n<jp:f2l rdf:resource='/context/f2k'/>\n<jp:f1j rdf:resource='/context'/>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2g rdf:resource='/context/resource/f2g/x'/>\n<jp:f2f rdf:resource=''/>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b rdf:resource='%3C%3E%26%27%22'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2c rdf:resource='/f2c/x/y'/>\n<jp:f2j rdf:resource='/context'/>\n<jp:f5 rdf:resource='f5/x'/>\n<jp:f2k rdf:resource='/context/f2j/x'/>\n<jp:f1e rdf:resource='f1e/x/y'/>\n<jp:f2i rdf:resource='/context/resource'/>\n<jp:f2m rdf:resource='/context'/>\n<jp:f1m rdf:resource='/context'/>\n<jp:f2d rdf:resource='f2d'/>\n<jp:f1l rdf:resource='/context/f1k'/>\n<jp:f3c rdf:resource='<>&'"'/>\n<jp:f1n rdf:resource='/'/>\n<jp:f1b rdf:resource='/f1b'/>\n<jp:f1k rdf:resource='/context/f1j/x'/>\n<jp:f1h rdf:resource='/context/resource/f1h'/>\n<jp:f2b
rdf:resource='/f2b'/>\n<jp:f2h rdf:resource='/context/resource/f2h'/>\n<jp:f1d rdf:resource='f1d'/>\n<jp:f1i rdf:resource='/context/resource'/>\n<jp:f2e rdf:resource='f2e/x/y'/>\n<jp:f1c rdf:resource='/f1c/x/y'/>\n<jp:f1f rdf:resource=''/>\n<jp:f1g rdf:resource='/context/resource/f1g/x'/>\n<jp:f4 rdf:resource='test/uri/b'/>\n<jp:f2n rdf:resource='/'/>\n</rdf:Description>\n</rdf:RDF>\n"
+ "<rdf:RDF>\n<rdf:Description rdf:about='f0/x0'>\n<jp:f2l>/context/f2k</jp:f2l>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2g>/context/resource/f2g/x</jp:f2g>\n<jp:f2f></jp:f2f>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b>%3C%3E%26%27%22</jp:f3b>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f5>f5/x</jp:f5>\n<jp:f2k>/context/f2j/x</jp:f2k>\n<jp:f1e>f1e/x/y</jp:f1e>\n<jp:f2i>/context/resource</jp:f2i>\n<jp:f2n>/</jp:f2n>\n<jp:f2m>/context</jp:f2m>\n<jp:f1m>/context</jp:f1m>\n<jp:f2d>f2d</jp:f2d>\n<jp:f1l>/context/f1k</jp:f1l>\n<jp:f3c><>&''</jp:f3c>\n<jp:f1n>/</jp:f1n>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f1k>/context/f1j/x</jp:f1k>\n<jp:f1h>/context/resource/f1h</jp:f1h>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f2h>/context/resource/f2h</jp:f2h>\n<jp:f1d>f1d</jp:f1d>\n<jp:f1i>/context/resource</jp:f1i>\n<jp:f2e>f2e/x/y</jp:f2e>\n<jp:f2j>/context</jp:f2j>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1j>/co
ntext</jp:f1j>\n<jp:f1f></jp:f1f>\n<jp:f1g>/context/resource/f1g/x</jp:f1g>\n<jp:f4>test/uri/b</jp:f4>\n</rdf:Description>\n</rdf:RDF>\n"
)
},
{ /* 3 */
@@ -146,7 +146,7 @@ public class UriResolutionTest {
"(f0=http://foo.com:123/c1/c2/r1/r2/f0/x0,f1a=http://www.apache.org/f1a,f1b=http://foo.com:123/f1b,f1c=http://foo.com:123/f1c/x/y,f1d=http://foo.com:123/c1/c2/r1/r2/f1d,f1e=http://foo.com:123/c1/c2/r1/r2/f1e/x/y,f1f=http://foo.com:123/c1/c2/r1/r2,f1g=http://foo.com:123/c1/c2/r1/r2/f1g/x,f1h=http://foo.com:123/c1/c2/r1/r2/f1h,f1i=http://foo.com:123/c1/c2/r1/r2,f1j=http://foo.com:123/c1/c2/r1,f1k=http://foo.com:123/c1/c2/f1j/x,f1l=http://foo.com:123/c1/c2/f1k,f1m=http://foo.com:123/c1/c2,f1n=http://foo.com:123/c1,f2a=http://www.apache.org/f2a,f2b=http://foo.com:123/f2b,f2c=http://foo.com:123/f2c/x/y,f2d=http://foo.com:123/c1/c2/r1/r2/f2d,f2e=http://foo.com:123/c1/c2/r1/r2/f2e/x/y,f2f=http://foo.com:123/c1/c2/r1/r2,f2g=http://foo.com:123/c1/c2/r1/r2/f2g/x,f2h=http://foo.com:123/c1/c2/r1/r2/f2h,f2i=http://foo.com:123/c1/c2/r1/r2,f2j=http://foo.com:123/c1/c2/r1,f2k=http://foo.com:123/c1/c2/f2j/x,f2l=http://foo.com:123/c1/c2/f2k,f2m=http://foo.com:123/c1/c2,f2n=http://foo.com:123/c1,
f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=http://foo.com:123/c1/c2/r1/r2/%3C%3E%26%27%22,f3c=http://foo.com:123/c1/c2/r1/r2/<>&~'\",f4=http://foo.com:123/c1/c2/r1/r2/test/uri/b,f5=http://foo.com:123/c1/c2/r1/r2/f5/x)",
"f0=http://foo.com:123/c1/c2/r1/r2/f0/x0&f1a=http://www.apache.org/f1a&f1b=http://foo.com:123/f1b&f1c=http://foo.com:123/f1c/x/y&f1d=http://foo.com:123/c1/c2/r1/r2/f1d&f1e=http://foo.com:123/c1/c2/r1/r2/f1e/x/y&f1f=http://foo.com:123/c1/c2/r1/r2&f1g=http://foo.com:123/c1/c2/r1/r2/f1g/x&f1h=http://foo.com:123/c1/c2/r1/r2/f1h&f1i=http://foo.com:123/c1/c2/r1/r2&f1j=http://foo.com:123/c1/c2/r1&f1k=http://foo.com:123/c1/c2/f1j/x&f1l=http://foo.com:123/c1/c2/f1k&f1m=http://foo.com:123/c1/c2&f1n=http://foo.com:123/c1&f2a=http://www.apache.org/f2a&f2b=http://foo.com:123/f2b&f2c=http://foo.com:123/f2c/x/y&f2d=http://foo.com:123/c1/c2/r1/r2/f2d&f2e=http://foo.com:123/c1/c2/r1/r2/f2e/x/y&f2f=http://foo.com:123/c1/c2/r1/r2&f2g=http://foo.com:123/c1/c2/r1/r2/f2g/x&f2h=http://foo.com:123/c1/c2/r1/r2/f2h&f2i=http://foo.com:123/c1/c2/r1/r2&f2j=http://foo.com:123/c1/c2/r1&f2k=http://foo.com:123/c1/c2/f2j/x&f2l=http://foo.com:123/c1/c2/f2k&f2m=http://foo.com:123/c1/c2&f2n=http://foo.com:123/c1&f
3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=http://foo.com:123/c1/c2/r1/r2/%253C%253E%2526%2527%2522&f3c=http://foo.com:123/c1/c2/r1/r2/%3C%3E%26~'%22&f4=http://foo.com:123/c1/c2/r1/r2/test/uri/b&f5=http://foo.com:123/c1/c2/r1/r2/f5/x",
"DE0022A26630D924687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162B6687474703A2F2F666F6F2E636F6D3A3132332F663162A3663163BA687474703A2F2F666F6F2E636F6D3A3132332F6631632F782F79A3663164D922687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F663164A3663165D926687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F6631652F782F79A3663166BE687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F7232A3663167D924687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F6631672F78A3663168D922687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F663168A3663169BE687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F7232A366316ABB687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F7231A366316BBE687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F66316A2F78A366316CBC687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F66316BA366316DB8687474703A2F2F666F6F2E636F6D3A3132332F63312F6
332A366316EB5687474703A2F2F666F6F2E636F6D3A3132332F6331A3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262B6687474703A2F2F666F6F2E636F6D3A3132332F663262A3663263BA687474703A2F2F666F6F2E636F6D3A3132332F6632632F782F79A3663264D922687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F663264A3663265D926687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F6632652F782F79A3663266BE687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F7232A3663267D924687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F6632672F78A3663268D922687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F663268A3663269BE687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F7232A366326ABB687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F7231A366326BBE687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F66326A2F78A366326CBC687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F66326BA366326DB8687474703A2F2F666F6F2E636F6D3A3132332F63312F6332A366326EB5687474703A2F2F666F6F2E636F
6D3A3132332F6331A3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362D92E687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F253343253345253236253237253232A3663363D924687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F3C3E262722A26634D929687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F746573742F7572692F62A26635D923687474703A2F2F666F6F2E636F6D3A3132332F63312F63322F72312F72322F66352F78",
- "<rdf:RDF>\n<rdf:Description rdf:about='http://foo.com:123/c1/c2/r1/r2/f0/x0'>\n<jp:f2m rdf:resource='http://foo.com:123/c1/c2'/>\n<jp:f2e rdf:resource='http://foo.com:123/c1/c2/r1/r2/f2e/x/y'/>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1c rdf:resource='http://foo.com:123/f1c/x/y'/>\n<jp:f1f rdf:resource='http://foo.com:123/c1/c2/r1/r2'/>\n<jp:f1k rdf:resource='http://foo.com:123/c1/c2/f1j/x'/>\n<jp:f1l rdf:resource='http://foo.com:123/c1/c2/f1k'/>\n<jp:f1n rdf:resource='http://foo.com:123/c1'/>\n<jp:f3b rdf:resource='http://foo.com:123/c1/c2/r1/r2/%3C%3E%26%27%22'/>\n<jp:f1e rdf:resource='http://foo.com:123/c1/c2/r1/r2/f1e/x/y'/>\n<jp:f2k rdf:resource='http://foo.com:123/c1/c2/f2j/x'/>\n<jp:f2c rdf:resource='http://foo.com:123/f2c/x/y'/>\n<jp:f1j rdf:resource='http://foo.com:123/c1/c2/r1'/>\n<jp:f2n rdf:resource='http://foo.com:123/c1'/>\n<jp:f1i rdf:resource='http://foo.com:123/c1/c2/r1/r2'/>\n<jp:f1a rdf:resource='http://www.apach
e.org/f1a'/>\n<jp:f1b rdf:resource='http://foo.com:123/f1b'/>\n<jp:f1g rdf:resource='http://foo.com:123/c1/c2/r1/r2/f1g/x'/>\n<jp:f2i rdf:resource='http://foo.com:123/c1/c2/r1/r2'/>\n<jp:f1h rdf:resource='http://foo.com:123/c1/c2/r1/r2/f1h'/>\n<jp:f2j rdf:resource='http://foo.com:123/c1/c2/r1'/>\n<jp:f2f rdf:resource='http://foo.com:123/c1/c2/r1/r2'/>\n<jp:f1d rdf:resource='http://foo.com:123/c1/c2/r1/r2/f1d'/>\n<jp:f2d rdf:resource='http://foo.com:123/c1/c2/r1/r2/f2d'/>\n<jp:f4 rdf:resource='http://foo.com:123/c1/c2/r1/r2/test/uri/b'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f5 rdf:resource='http://foo.com:123/c1/c2/r1/r2/f5/x'/>\n<jp:f2h rdf:resource='http://foo.com:123/c1/c2/r1/r2/f2h'/>\n<jp:f2l rdf:resource='http://foo.com:123/c1/c2/f2k'/>\n<jp:f3c rdf:resource='http://foo.com:123/c1/c2/r1/r2/<>&'"'/>\n<jp:f2b rdf:resource='http://foo.com:123/f2b'/>\n<jp:f2g rdf:resource='http://foo.com:123/c1/c2/r1/r2/f2g/x'/>\n<jp:f1m rdf:resource='http://
foo.com:123/c1/c2'/>\n</rdf:Description>\n</rdf:RDF>\n"
+ "<rdf:RDF>\n<rdf:Description rdf:about='http://foo.com:123/c1/c2/r1/r2/f0/x0'>\n<jp:f2m rdf:resource='http://foo.com:123/c1/c2'/>\n<jp:f1n rdf:resource='http://foo.com:123/c1'/>\n<jp:f2e rdf:resource='http://foo.com:123/c1/c2/r1/r2/f2e/x/y'/>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1j rdf:resource='http://foo.com:123/c1/c2/r1'/>\n<jp:f1c rdf:resource='http://foo.com:123/f1c/x/y'/>\n<jp:f1f rdf:resource='http://foo.com:123/c1/c2/r1/r2'/>\n<jp:f1l rdf:resource='http://foo.com:123/c1/c2/f1k'/>\n<jp:f1k rdf:resource='http://foo.com:123/c1/c2/f1j/x'/>\n<jp:f3b rdf:resource='http://foo.com:123/c1/c2/r1/r2/%3C%3E%26%27%22'/>\n<jp:f1e rdf:resource='http://foo.com:123/c1/c2/r1/r2/f1e/x/y'/>\n<jp:f2n rdf:resource='http://foo.com:123/c1'/>\n<jp:f2k rdf:resource='http://foo.com:123/c1/c2/f2j/x'/>\n<jp:f2c rdf:resource='http://foo.com:123/f2c/x/y'/>\n<jp:f1i rdf:resource='http://foo.com:123/c1/c2/r1/r2'/>\n<jp:f1a rdf:resource='http://www.apach
e.org/f1a'/>\n<jp:f1b rdf:resource='http://foo.com:123/f1b'/>\n<jp:f1g rdf:resource='http://foo.com:123/c1/c2/r1/r2/f1g/x'/>\n<jp:f2i rdf:resource='http://foo.com:123/c1/c2/r1/r2'/>\n<jp:f1h rdf:resource='http://foo.com:123/c1/c2/r1/r2/f1h'/>\n<jp:f2f rdf:resource='http://foo.com:123/c1/c2/r1/r2'/>\n<jp:f1d rdf:resource='http://foo.com:123/c1/c2/r1/r2/f1d'/>\n<jp:f2d rdf:resource='http://foo.com:123/c1/c2/r1/r2/f2d'/>\n<jp:f4 rdf:resource='http://foo.com:123/c1/c2/r1/r2/test/uri/b'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f5 rdf:resource='http://foo.com:123/c1/c2/r1/r2/f5/x'/>\n<jp:f2h rdf:resource='http://foo.com:123/c1/c2/r1/r2/f2h'/>\n<jp:f2l rdf:resource='http://foo.com:123/c1/c2/f2k'/>\n<jp:f3c rdf:resource='http://foo.com:123/c1/c2/r1/r2/<>&'"'/>\n<jp:f2b rdf:resource='http://foo.com:123/f2b'/>\n<jp:f2g rdf:resource='http://foo.com:123/c1/c2/r1/r2/f2g/x'/>\n<jp:f1m rdf:resource='http://foo.com:123/c1/c2'/>\n<jp:f2j rdf:resource='http://foo
.com:123/c1/c2/r1'/>\n</rdf:Description>\n</rdf:RDF>\n"
)
},
{ /* 4 */
@@ -161,7 +161,7 @@ public class UriResolutionTest {
"(f0=/c1/c2/r1/r2/f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=/c1/c2/r1/r2/f1d,f1e=/c1/c2/r1/r2/f1e/x/y,f1f=/c1/c2/r1/r2,f1g=/c1/c2/r1/r2/f1g/x,f1h=/c1/c2/r1/r2/f1h,f1i=/c1/c2/r1/r2,f1j=/c1/c2/r1,f1k=/c1/c2/f1j/x,f1l=/c1/c2/f1k,f1m=/c1/c2,f1n=/c1,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=/c1/c2/r1/r2/f2d,f2e=/c1/c2/r1/r2/f2e/x/y,f2f=/c1/c2/r1/r2,f2g=/c1/c2/r1/r2/f2g/x,f2h=/c1/c2/r1/r2/f2h,f2i=/c1/c2/r1/r2,f2j=/c1/c2/r1,f2k=/c1/c2/f2j/x,f2l=/c1/c2/f2k,f2m=/c1/c2,f2n=/c1,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=/c1/c2/r1/r2/%3C%3E%26%27%22,f3c=/c1/c2/r1/r2/<>&~'\",f4=/c1/c2/r1/r2/test/uri/b,f5=/c1/c2/r1/r2/f5/x)",
"f0=/c1/c2/r1/r2/f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=/c1/c2/r1/r2/f1d&f1e=/c1/c2/r1/r2/f1e/x/y&f1f=/c1/c2/r1/r2&f1g=/c1/c2/r1/r2/f1g/x&f1h=/c1/c2/r1/r2/f1h&f1i=/c1/c2/r1/r2&f1j=/c1/c2/r1&f1k=/c1/c2/f1j/x&f1l=/c1/c2/f1k&f1m=/c1/c2&f1n=/c1&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=/c1/c2/r1/r2/f2d&f2e=/c1/c2/r1/r2/f2e/x/y&f2f=/c1/c2/r1/r2&f2g=/c1/c2/r1/r2/f2g/x&f2h=/c1/c2/r1/r2/f2h&f2i=/c1/c2/r1/r2&f2j=/c1/c2/r1&f2k=/c1/c2/f2j/x&f2l=/c1/c2/f2k&f2m=/c1/c2&f2n=/c1&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=/c1/c2/r1/r2/%253C%253E%2526%2527%2522&f3c=/c1/c2/r1/r2/%3C%3E%26~'%22&f4=/c1/c2/r1/r2/test/uri/b&f5=/c1/c2/r1/r2/f5/x",
"DE0022A26630B22F63312F63322F72312F72322F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164B02F63312F63322F72312F72322F663164A3663165B42F63312F63322F72312F72322F6631652F782F79A3663166AC2F63312F63322F72312F7232A3663167B22F63312F63322F72312F72322F6631672F78A3663168B02F63312F63322F72312F72322F663168A3663169AC2F63312F63322F72312F7232A366316AA92F63312F63322F7231A366316BAC2F63312F63322F66316A2F78A366316CAA2F63312F63322F66316BA366316DA62F63312F6332A366316EA32F6331A3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264B02F63312F63322F72312F72322F663264A3663265B42F63312F63322F72312F72322F6632652F782F79A3663266AC2F63312F63322F72312F7232A3663267B22F63312F63322F72312F72322F6632672F78A3663268B02F63312F63322F72312F72322F663268A3663269AC2F63312F63322F72312F7232A366326AA92F63312F63322F7231A366326BAC2F63312F63322F66326A2F78A366326CAA2F63312F63322F66326BA366326DA62F633
12F6332A366326EA32F6331A3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362BC2F63312F63322F72312F72322F253343253345253236253237253232A3663363B22F63312F63322F72312F72322F3C3E262722A26634B72F63312F63322F72312F72322F746573742F7572692F62A26635B12F63312F63322F72312F72322F66352F78",
- "<rdf:RDF>\n<rdf:Description rdf:about='/c1/c2/r1/r2/f0/x0'>\n<jp:f2b rdf:resource='/f2b'/>\n<jp:f2l rdf:resource='/c1/c2/f2k'/>\n<jp:f2m rdf:resource='/c1/c2'/>\n<jp:f2n rdf:resource='/c1'/>\n<jp:f1i rdf:resource='/c1/c2/r1/r2'/>\n<jp:f2h rdf:resource='/c1/c2/r1/r2/f2h'/>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1e rdf:resource='/c1/c2/r1/r2/f1e/x/y'/>\n<jp:f1c rdf:resource='/f1c/x/y'/>\n<jp:f1l rdf:resource='/c1/c2/f1k'/>\n<jp:f2d rdf:resource='/c1/c2/r1/r2/f2d'/>\n<jp:f2c rdf:resource='/f2c/x/y'/>\n<jp:f2j rdf:resource='/c1/c2/r1'/>\n<jp:f3c rdf:resource='/c1/c2/r1/r2/<>&'"'/>\n<jp:f1d rdf:resource='/c1/c2/r1/r2/f1d'/>\n<jp:f1j rdf:resource='/c1/c2/r1'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1f rdf:resource='/c1/c2/r1/r2'/>\n<jp:f2g rdf:resource='/c1/c2/r1/r2/f2g/x'/>\n<jp:f5 rdf:resource='/c1/c2/r1/r2/f5/x'/>\n<jp:f3b rdf:resource='/c1/c2/r1/r2/%3C%3E%26%27%22'/>\n<jp:f1b rdf:resource='/f1b'/>\n<jp:f2i rdf:resource='/
c1/c2/r1/r2'/>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1h rdf:resource='/c1/c2/r1/r2/f1h'/>\n<jp:f4 rdf:resource='/c1/c2/r1/r2/test/uri/b'/>\n<jp:f2f rdf:resource='/c1/c2/r1/r2'/>\n<jp:f2k rdf:resource='/c1/c2/f2j/x'/>\n<jp:f1m rdf:resource='/c1/c2'/>\n<jp:f2e rdf:resource='/c1/c2/r1/r2/f2e/x/y'/>\n<jp:f1n rdf:resource='/c1'/>\n<jp:f1g rdf:resource='/c1/c2/r1/r2/f1g/x'/>\n<jp:f1k rdf:resource='/c1/c2/f1j/x'/>\n</rdf:Description>\n</rdf:RDF>\n"
+ "<rdf:RDF>\n<rdf:Description rdf:about='/c1/c2/r1/r2/f0/x0'>\n<jp:f2j>/c1/c2/r1</jp:f2j>\n<jp:f2l>/c1/c2/f2k</jp:f2l>\n<jp:f2m>/c1/c2</jp:f2m>\n<jp:f1i>/c1/c2/r1/r2</jp:f1i>\n<jp:f2h>/c1/c2/r1/r2/f2h</jp:f2h>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1e>/c1/c2/r1/r2/f1e/x/y</jp:f1e>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f2d>/c1/c2/r1/r2/f2d</jp:f2d>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f1l>/c1/c2/f1k</jp:f1l>\n<jp:f3c>/c1/c2/r1/r2/<>&''</jp:f3c>\n<jp:f1d>/c1/c2/r1/r2/f1d</jp:f1d>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1f>/c1/c2/r1/r2</jp:f1f>\n<jp:f2g>/c1/c2/r1/r2/f2g/x</jp:f2g>\n<jp:f5>/c1/c2/r1/r2/f5/x</jp:f5>\n<jp:f3b>/c1/c2/r1/r2/%3C%3E%26%27%22</jp:f3b>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f2i>/c1/c2/r1/r2</jp:f2i>\n<jp:f1n>/c1</jp:f1n>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1h>/c1/c2/r1/r2/f1h</jp:f1h>\n<jp:f4>/c1/c2/r1/r2/test/uri/b</jp:f4>\n<jp:f1j>/c1/c2/r1</jp:f1j>\n<jp:f2f>/c1/c2/r1/r2</jp:f2f>\
n<jp:f2n>/c1</jp:f2n>\n<jp:f2k>/c1/c2/f2j/x</jp:f2k>\n<jp:f1m>/c1/c2</jp:f1m>\n<jp:f2e>/c1/c2/r1/r2/f2e/x/y</jp:f2e>\n<jp:f1g>/c1/c2/r1/r2/f1g/x</jp:f1g>\n<jp:f1k>/c1/c2/f1j/x</jp:f1k>\n<jp:f2b>/f2b</jp:f2b>\n</rdf:Description>\n</rdf:RDF>\n"
)
},
{ /* 5 */
@@ -176,7 +176,7 @@ public class UriResolutionTest {
"(f0=f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=f1d,f1e=f1e/x/y,f1f='',f1g=/c1/c2/r1/r2/f1g/x,f1h=/c1/c2/r1/r2/f1h,f1i=/c1/c2/r1/r2,f1j=/c1/c2/r1,f1k=/c1/c2/f1j/x,f1l=/c1/c2/f1k,f1m=/c1/c2,f1n=/c1,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=f2d,f2e=f2e/x/y,f2f='',f2g=/c1/c2/r1/r2/f2g/x,f2h=/c1/c2/r1/r2/f2h,f2i=/c1/c2/r1/r2,f2j=/c1/c2/r1,f2k=/c1/c2/f2j/x,f2l=/c1/c2/f2k,f2m=/c1/c2,f2n=/c1,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=%3C%3E%26%27%22,f3c=<>&~'\",f4=test/uri/b,f5=f5/x)",
"f0=f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=f1d&f1e=f1e/x/y&f1f=''&f1g=/c1/c2/r1/r2/f1g/x&f1h=/c1/c2/r1/r2/f1h&f1i=/c1/c2/r1/r2&f1j=/c1/c2/r1&f1k=/c1/c2/f1j/x&f1l=/c1/c2/f1k&f1m=/c1/c2&f1n=/c1&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=f2d&f2e=f2e/x/y&f2f=''&f2g=/c1/c2/r1/r2/f2g/x&f2h=/c1/c2/r1/r2/f2h&f2i=/c1/c2/r1/r2&f2j=/c1/c2/r1&f2k=/c1/c2/f2j/x&f2l=/c1/c2/f2k&f2m=/c1/c2&f2n=/c1&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=%253C%253E%2526%2527%2522&f3c=%3C%3E%26~'%22&f4=test/uri/b&f5=f5/x",
"DE0022A26630A566302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164A3663164A3663165A76631652F782F79A3663166A0A3663167B22F63312F63322F72312F72322F6631672F78A3663168B02F63312F63322F72312F72322F663168A3663169AC2F63312F63322F72312F7232A366316AA92F63312F63322F7231A366316BAC2F63312F63322F66316A2F78A366316CAA2F63312F63322F66316BA366316DA62F63312F6332A366316EA32F6331A3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264A3663264A3663265A76632652F782F79A3663266A0A3663267B22F63312F63322F72312F72322F6632672F78A3663268B02F63312F63322F72312F72322F663268A3663269AC2F63312F63322F72312F7232A366326AA92F63312F63322F7231A366326BAC2F63312F63322F66326A2F78A366326CAA2F63312F63322F66326BA366326DA62F63312F6332A366326EA32F6331A3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362AF253343253345253236253237253232A36
63363A53C3E262722A26634AA746573742F7572692F62A26635A466352F78",
- "<rdf:RDF>\n<rdf:Description rdf:about='f0/x0'>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2l rdf:resource='/c1/c2/f2k'/>\n<jp:f2f rdf:resource=''/>\n<jp:f1m rdf:resource='/c1/c2'/>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b rdf:resource='%3C%3E%26%27%22'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2h rdf:resource='/c1/c2/r1/r2/f2h'/>\n<jp:f2c rdf:resource='/f2c/x/y'/>\n<jp:f2i rdf:resource='/c1/c2/r1/r2'/>\n<jp:f2g rdf:resource='/c1/c2/r1/r2/f2g/x'/>\n<jp:f5 rdf:resource='f5/x'/>\n<jp:f2k rdf:resource='/c1/c2/f2j/x'/>\n<jp:f1i rdf:resource='/c1/c2/r1/r2'/>\n<jp:f1e rdf:resource='f1e/x/y'/>\n<jp:f1j rdf:resource='/c1/c2/r1'/>\n<jp:f1l rdf:resource='/c1/c2/f1k'/>\n<jp:f2d rdf:resource='f2d'/>\n<jp:f2j rdf:resource='/c1/c2/r1'/>\n<jp:f1k rdf:resource='/c1/c2/f1j/x'/>\n<jp:f3c rdf:resource='<>&'"'/>\n<jp:f2m rdf:resource='/c1/c2'/>\n<jp:f1n rdf:resource='/c1'/>\n<jp:f1b rdf:resource='
/f1b'/>\n<jp:f2b rdf:resource='/f2b'/>\n<jp:f1h rdf:resource='/c1/c2/r1/r2/f1h'/>\n<jp:f1d rdf:resource='f1d'/>\n<jp:f2e rdf:resource='f2e/x/y'/>\n<jp:f1c rdf:resource='/f1c/x/y'/>\n<jp:f1f rdf:resource=''/>\n<jp:f2n rdf:resource='/c1'/>\n<jp:f1g rdf:resource='/c1/c2/r1/r2/f1g/x'/>\n<jp:f4 rdf:resource='test/uri/b'/>\n</rdf:Description>\n</rdf:RDF>\n"
+ "<rdf:RDF>\n<rdf:Description rdf:about='f0/x0'>\n<jp:f2n>/c1</jp:f2n>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2l>/c1/c2/f2k</jp:f2l>\n<jp:f2f></jp:f2f>\n<jp:f1m>/c1/c2</jp:f1m>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b>%3C%3E%26%27%22</jp:f3b>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2h>/c1/c2/r1/r2/f2h</jp:f2h>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f2i>/c1/c2/r1/r2</jp:f2i>\n<jp:f2g>/c1/c2/r1/r2/f2g/x</jp:f2g>\n<jp:f5>f5/x</jp:f5>\n<jp:f2k>/c1/c2/f2j/x</jp:f2k>\n<jp:f1i>/c1/c2/r1/r2</jp:f1i>\n<jp:f1e>f1e/x/y</jp:f1e>\n<jp:f1l>/c1/c2/f1k</jp:f1l>\n<jp:f2d>f2d</jp:f2d>\n<jp:f1k>/c1/c2/f1j/x</jp:f1k>\n<jp:f3c><>&''</jp:f3c>\n<jp:f2m>/c1/c2</jp:f2m>\n<jp:f2j>/c1/c2/r1</jp:f2j>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f1h>/c1/c2/r1/r2/f1h</jp:f1h>\n<jp:f1d>f1d</jp:f1d>\n<jp:f2e>f2e/x/y</jp:f2e>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1n>/c1</jp:f1n>\n<jp:f1f></jp:f1f>\n<jp:f1g>/c1/c2/r1/r2/f1g
/x</jp:f1g>\n<jp:f4>test/uri/b</jp:f4>\n<jp:f1j>/c1/c2/r1</jp:f1j>\n</rdf:Description>\n</rdf:RDF>\n"
)
},
{ /* 6 */
@@ -191,7 +191,7 @@ public class UriResolutionTest {
"(f0=/context/resource/f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=/context/resource/f1d,f1e=/context/resource/f1e/x/y,f1f=/context/resource,f1g=/context/resource/f1g/x,f1h=/context/resource/f1h,f1i=/context/resource,f1j=/context,f1k=/context/f1j/x,f1l=/context/f1k,f1m=/context,f1n=/,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=/context/resource/f2d,f2e=/context/resource/f2e/x/y,f2f=/context/resource,f2g=/context/resource/f2g/x,f2h=/context/resource/f2h,f2i=/context/resource,f2j=/context,f2k=/context/f2j/x,f2l=/context/f2k,f2m=/context,f2n=/,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=/context/resource/%3C%3E%26%27%22,f3c=/context/resource/<>&~'\",f4=/context/resource/test/uri/b,f5=/context/resource/f5/x)",
"f0=/context/resource/f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=/context/resource/f1d&f1e=/context/resource/f1e/x/y&f1f=/context/resource&f1g=/context/resource/f1g/x&f1h=/context/resource/f1h&f1i=/context/resource&f1j=/context&f1k=/context/f1j/x&f1l=/context/f1k&f1m=/context&f1n=/&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=/context/resource/f2d&f2e=/context/resource/f2e/x/y&f2f=/context/resource&f2g=/context/resource/f2g/x&f2h=/context/resource/f2h&f2i=/context/resource&f2j=/context&f2k=/context/f2j/x&f2l=/context/f2k&f2m=/context&f2n=/&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=/context/resource/%253C%253E%2526%2527%2522&f3c=/context/resource/%3C%3E%26~'%22&f4=/context/resource/test/uri/b&f5=/context/resource/f5/x",
"DE0022A26630B72F636F6E746578742F7265736F757263652F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164B52F636F6E746578742F7265736F757263652F663164A3663165B92F636F6E746578742F7265736F757263652F6631652F782F79A3663166B12F636F6E746578742F7265736F75726365A3663167B72F636F6E746578742F7265736F757263652F6631672F78A3663168B52F636F6E746578742F7265736F757263652F663168A3663169B12F636F6E746578742F7265736F75726365A366316AA82F636F6E74657874A366316BAE2F636F6E746578742F66316A2F78A366316CAC2F636F6E746578742F66316BA366316DA82F636F6E74657874A366316EA12FA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264B52F636F6E746578742F7265736F757263652F663264A3663265B92F636F6E746578742F7265736F757263652F6632652F782F79A3663266B12F636F6E746578742F7265736F75726365A3663267B72F636F6E746578742F7265736F757263652F6632672F78A3663268B52F636F6E746578742F7265736F757263652F663268A3663269B12F636
F6E746578742F7265736F75726365A366326AA82F636F6E74657874A366326BAE2F636F6E746578742F66326A2F78A366326CAC2F636F6E746578742F66326BA366326DA82F636F6E74657874A366326EA12FA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362D9212F636F6E746578742F7265736F757263652F253343253345253236253237253232A3663363B72F636F6E746578742F7265736F757263652F3C3E262722A26634BC2F636F6E746578742F7265736F757263652F746573742F7572692F62A26635B62F636F6E746578742F7265736F757263652F66352F78",
- "<rdf:RDF>\n<rdf:Description rdf:about='/context/resource/f0/x0'>\n<jp:f2h rdf:resource='/context/resource/f2h'/>\n<jp:f2f rdf:resource='/context/resource'/>\n<jp:f1c rdf:resource='/f1c/x/y'/>\n<jp:f1h rdf:resource='/context/resource/f1h'/>\n<jp:f1n rdf:resource='/'/>\n<jp:f5 rdf:resource='/context/resource/f5/x'/>\n<jp:f1e rdf:resource='/context/resource/f1e/x/y'/>\n<jp:f3c rdf:resource='/context/resource/<>&'"'/>\n<jp:f2k rdf:resource='/context/f2j/x'/>\n<jp:f2m rdf:resource='/context'/>\n<jp:f2i rdf:resource='/context/resource'/>\n<jp:f1d rdf:resource='/context/resource/f1d'/>\n<jp:f4 rdf:resource='/context/resource/test/uri/b'/>\n<jp:f1j rdf:resource='/context'/>\n<jp:f1k rdf:resource='/context/f1j/x'/>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f2c rdf:resource='/f2c/x/y'/>\n<jp:f2e rdf:resource='/context/resource/f2e/x/y'/>\n<jp:f2n rdf:resource='/'/>\n<jp:f2j rdf:resource='/context'/>\n<jp:f3b rdf:resource='/
context/resource/%3C%3E%26%27%22'/>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2b rdf:resource='/f2b'/>\n<jp:f1i rdf:resource='/context/resource'/>\n<jp:f1g rdf:resource='/context/resource/f1g/x'/>\n<jp:f1b rdf:resource='/f1b'/>\n<jp:f1m rdf:resource='/context'/>\n<jp:f2d rdf:resource='/context/resource/f2d'/>\n<jp:f2g rdf:resource='/context/resource/f2g/x'/>\n<jp:f1l rdf:resource='/context/f1k'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1f rdf:resource='/context/resource'/>\n<jp:f2l rdf:resource='/context/f2k'/>\n</rdf:Description>\n</rdf:RDF>\n"
+ "<rdf:RDF>\n<rdf:Description rdf:about='/context/resource/f0/x0'>\n<jp:f2h>/context/resource/f2h</jp:f2h>\n<jp:f2f>/context/resource</jp:f2f>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1h>/context/resource/f1h</jp:f1h>\n<jp:f5>/context/resource/f5/x</jp:f5>\n<jp:f1e>/context/resource/f1e/x/y</jp:f1e>\n<jp:f3c>/context/resource/<>&''</jp:f3c>\n<jp:f2k>/context/f2j/x</jp:f2k>\n<jp:f1j>/context</jp:f1j>\n<jp:f2m>/context</jp:f2m>\n<jp:f2i>/context/resource</jp:f2i>\n<jp:f1d>/context/resource/f1d</jp:f1d>\n<jp:f4>/context/resource/test/uri/b</jp:f4>\n<jp:f1n>/</jp:f1n>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1k>/context/f1j/x</jp:f1k>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f2e>/context/resource/f2e/x/y</jp:f2e>\n<jp:f3b>/context/resource/%3C%3E%26%27%22</jp:f3b>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f1i>/context/resource</jp:f1i>\n<jp:f1g>/context/resource/f1g/x</jp:f1g>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f1
m>/context</jp:f1m>\n<jp:f2d>/context/resource/f2d</jp:f2d>\n<jp:f2g>/context/resource/f2g/x</jp:f2g>\n<jp:f2n>/</jp:f2n>\n<jp:f2j>/context</jp:f2j>\n<jp:f1l>/context/f1k</jp:f1l>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1f>/context/resource</jp:f1f>\n<jp:f2l>/context/f2k</jp:f2l>\n</rdf:Description>\n</rdf:RDF>\n"
)
},
{ /* 7 */
@@ -206,7 +206,7 @@ public class UriResolutionTest {
"(f0=/context/resource/f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=/context/resource/f1d,f1e=/context/resource/f1e/x/y,f1f=/context/resource,f1g=/context/resource/f1g/x,f1h=/context/resource/f1h,f1i=/context/resource,f1j=/context,f1k=/context/f1j/x,f1l=/context/f1k,f1m=/context,f1n=/,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=/context/resource/f2d,f2e=/context/resource/f2e/x/y,f2f=/context/resource,f2g=/context/resource/f2g/x,f2h=/context/resource/f2h,f2i=/context/resource,f2j=/context,f2k=/context/f2j/x,f2l=/context/f2k,f2m=/context,f2n=/,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=/context/resource/%3C%3E%26%27%22,f3c=/context/resource/<>&~'\",f4=/context/resource/test/uri/b,f5=/context/resource/f5/x)",
"f0=/context/resource/f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=/context/resource/f1d&f1e=/context/resource/f1e/x/y&f1f=/context/resource&f1g=/context/resource/f1g/x&f1h=/context/resource/f1h&f1i=/context/resource&f1j=/context&f1k=/context/f1j/x&f1l=/context/f1k&f1m=/context&f1n=/&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=/context/resource/f2d&f2e=/context/resource/f2e/x/y&f2f=/context/resource&f2g=/context/resource/f2g/x&f2h=/context/resource/f2h&f2i=/context/resource&f2j=/context&f2k=/context/f2j/x&f2l=/context/f2k&f2m=/context&f2n=/&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=/context/resource/%253C%253E%2526%2527%2522&f3c=/context/resource/%3C%3E%26~'%22&f4=/context/resource/test/uri/b&f5=/context/resource/f5/x",
"DE0022A26630B72F636F6E746578742F7265736F757263652F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164B52F636F6E746578742F7265736F757263652F663164A3663165B92F636F6E746578742F7265736F757263652F6631652F782F79A3663166B12F636F6E746578742F7265736F75726365A3663167B72F636F6E746578742F7265736F757263652F6631672F78A3663168B52F636F6E746578742F7265736F757263652F663168A3663169B12F636F6E746578742F7265736F75726365A366316AA82F636F6E74657874A366316BAE2F636F6E746578742F66316A2F78A366316CAC2F636F6E746578742F66316BA366316DA82F636F6E74657874A366316EA12FA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264B52F636F6E746578742F7265736F757263652F663264A3663265B92F636F6E746578742F7265736F757263652F6632652F782F79A3663266B12F636F6E746578742F7265736F75726365A3663267B72F636F6E746578742F7265736F757263652F6632672F78A3663268B52F636F6E746578742F7265736F757263652F663268A3663269B12F636
F6E746578742F7265736F75726365A366326AA82F636F6E74657874A366326BAE2F636F6E746578742F66326A2F78A366326CAC2F636F6E746578742F66326BA366326DA82F636F6E74657874A366326EA12FA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362D9212F636F6E746578742F7265736F757263652F253343253345253236253237253232A3663363B72F636F6E746578742F7265736F757263652F3C3E262722A26634BC2F636F6E746578742F7265736F757263652F746573742F7572692F62A26635B62F636F6E746578742F7265736F757263652F66352F78",
- "<rdf:RDF>\n<rdf:Description rdf:about='/context/resource/f0/x0'>\n<jp:f2h rdf:resource='/context/resource/f2h'/>\n<jp:f2f rdf:resource='/context/resource'/>\n<jp:f1c rdf:resource='/f1c/x/y'/>\n<jp:f1h rdf:resource='/context/resource/f1h'/>\n<jp:f1n rdf:resource='/'/>\n<jp:f5 rdf:resource='/context/resource/f5/x'/>\n<jp:f1e rdf:resource='/context/resource/f1e/x/y'/>\n<jp:f3c rdf:resource='/context/resource/<>&'"'/>\n<jp:f2k rdf:resource='/context/f2j/x'/>\n<jp:f2m rdf:resource='/context'/>\n<jp:f2i rdf:resource='/context/resource'/>\n<jp:f1d rdf:resource='/context/resource/f1d'/>\n<jp:f4 rdf:resource='/context/resource/test/uri/b'/>\n<jp:f1j rdf:resource='/context'/>\n<jp:f1k rdf:resource='/context/f1j/x'/>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f2c rdf:resource='/f2c/x/y'/>\n<jp:f2e rdf:resource='/context/resource/f2e/x/y'/>\n<jp:f2n rdf:resource='/'/>\n<jp:f2j rdf:resource='/context'/>\n<jp:f3b rdf:resource='/
context/resource/%3C%3E%26%27%22'/>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2b rdf:resource='/f2b'/>\n<jp:f1i rdf:resource='/context/resource'/>\n<jp:f1g rdf:resource='/context/resource/f1g/x'/>\n<jp:f1b rdf:resource='/f1b'/>\n<jp:f1m rdf:resource='/context'/>\n<jp:f2d rdf:resource='/context/resource/f2d'/>\n<jp:f2g rdf:resource='/context/resource/f2g/x'/>\n<jp:f1l rdf:resource='/context/f1k'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1f rdf:resource='/context/resource'/>\n<jp:f2l rdf:resource='/context/f2k'/>\n</rdf:Description>\n</rdf:RDF>\n"
+ "<rdf:RDF>\n<rdf:Description rdf:about='/context/resource/f0/x0'>\n<jp:f2h>/context/resource/f2h</jp:f2h>\n<jp:f2f>/context/resource</jp:f2f>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1h>/context/resource/f1h</jp:f1h>\n<jp:f5>/context/resource/f5/x</jp:f5>\n<jp:f1e>/context/resource/f1e/x/y</jp:f1e>\n<jp:f3c>/context/resource/<>&''</jp:f3c>\n<jp:f2k>/context/f2j/x</jp:f2k>\n<jp:f1j>/context</jp:f1j>\n<jp:f2m>/context</jp:f2m>\n<jp:f2i>/context/resource</jp:f2i>\n<jp:f1d>/context/resource/f1d</jp:f1d>\n<jp:f4>/context/resource/test/uri/b</jp:f4>\n<jp:f1n>/</jp:f1n>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1k>/context/f1j/x</jp:f1k>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f2e>/context/resource/f2e/x/y</jp:f2e>\n<jp:f3b>/context/resource/%3C%3E%26%27%22</jp:f3b>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f1i>/context/resource</jp:f1i>\n<jp:f1g>/context/resource/f1g/x</jp:f1g>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f1
m>/context</jp:f1m>\n<jp:f2d>/context/resource/f2d</jp:f2d>\n<jp:f2g>/context/resource/f2g/x</jp:f2g>\n<jp:f2n>/</jp:f2n>\n<jp:f2j>/context</jp:f2j>\n<jp:f1l>/context/f1k</jp:f1l>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1f>/context/resource</jp:f1f>\n<jp:f2l>/context/f2k</jp:f2l>\n</rdf:Description>\n</rdf:RDF>\n"
)
},
{ /* 8 */
@@ -221,7 +221,7 @@ public class UriResolutionTest {
"(f0=f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=f1d,f1e=f1e/x/y,f1f='',f1g=/context/resource/f1g/x,f1h=/context/resource/f1h,f1i=/context/resource,f1j=/context,f1k=/context/f1j/x,f1l=/context/f1k,f1m=/context,f1n=/,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=f2d,f2e=f2e/x/y,f2f='',f2g=/context/resource/f2g/x,f2h=/context/resource/f2h,f2i=/context/resource,f2j=/context,f2k=/context/f2j/x,f2l=/context/f2k,f2m=/context,f2n=/,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=%3C%3E%26%27%22,f3c=<>&~'\",f4=test/uri/b,f5=f5/x)",
"f0=f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=f1d&f1e=f1e/x/y&f1f=''&f1g=/context/resource/f1g/x&f1h=/context/resource/f1h&f1i=/context/resource&f1j=/context&f1k=/context/f1j/x&f1l=/context/f1k&f1m=/context&f1n=/&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=f2d&f2e=f2e/x/y&f2f=''&f2g=/context/resource/f2g/x&f2h=/context/resource/f2h&f2i=/context/resource&f2j=/context&f2k=/context/f2j/x&f2l=/context/f2k&f2m=/context&f2n=/&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=%253C%253E%2526%2527%2522&f3c=%3C%3E%26~'%22&f4=test/uri/b&f5=f5/x",
"DE0022A26630A566302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164A3663164A3663165A76631652F782F79A3663166A0A3663167B72F636F6E746578742F7265736F757263652F6631672F78A3663168B52F636F6E746578742F7265736F757263652F663168A3663169B12F636F6E746578742F7265736F75726365A366316AA82F636F6E74657874A366316BAE2F636F6E746578742F66316A2F78A366316CAC2F636F6E746578742F66316BA366316DA82F636F6E74657874A366316EA12FA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264A3663264A3663265A76632652F782F79A3663266A0A3663267B72F636F6E746578742F7265736F757263652F6632672F78A3663268B52F636F6E746578742F7265736F757263652F663268A3663269B12F636F6E746578742F7265736F75726365A366326AA82F636F6E74657874A366326BAE2F636F6E746578742F66326A2F78A366326CAC2F636F6E746578742F66326BA366326DA82F636F6E74657874A366326EA12FA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D5
95F4C4142454C26666F6F3D626172A3663362AF253343253345253236253237253232A3663363A53C3E262722A26634AA746573742F7572692F62A26635A466352F78",
- "<rdf:RDF>\n<rdf:Description rdf:about='f0/x0'>\n<jp:f2l rdf:resource='/context/f2k'/>\n<jp:f1j rdf:resource='/context'/>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2g rdf:resource='/context/resource/f2g/x'/>\n<jp:f2f rdf:resource=''/>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b rdf:resource='%3C%3E%26%27%22'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2c rdf:resource='/f2c/x/y'/>\n<jp:f2j rdf:resource='/context'/>\n<jp:f5 rdf:resource='f5/x'/>\n<jp:f2k rdf:resource='/context/f2j/x'/>\n<jp:f1e rdf:resource='f1e/x/y'/>\n<jp:f2i rdf:resource='/context/resource'/>\n<jp:f2m rdf:resource='/context'/>\n<jp:f1m rdf:resource='/context'/>\n<jp:f2d rdf:resource='f2d'/>\n<jp:f1l rdf:resource='/context/f1k'/>\n<jp:f3c rdf:resource='<>&'"'/>\n<jp:f1n rdf:resource='/'/>\n<jp:f1b rdf:resource='/f1b'/>\n<jp:f1k rdf:resource='/context/f1j/x'/>\n<jp:f1h rdf:resource='/context/resource/f1h'/>\n<jp:f2b
rdf:resource='/f2b'/>\n<jp:f2h rdf:resource='/context/resource/f2h'/>\n<jp:f1d rdf:resource='f1d'/>\n<jp:f1i rdf:resource='/context/resource'/>\n<jp:f2e rdf:resource='f2e/x/y'/>\n<jp:f1c rdf:resource='/f1c/x/y'/>\n<jp:f1f rdf:resource=''/>\n<jp:f1g rdf:resource='/context/resource/f1g/x'/>\n<jp:f4 rdf:resource='test/uri/b'/>\n<jp:f2n rdf:resource='/'/>\n</rdf:Description>\n</rdf:RDF>\n"
+ "<rdf:RDF>\n<rdf:Description rdf:about='f0/x0'>\n<jp:f2l>/context/f2k</jp:f2l>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2g>/context/resource/f2g/x</jp:f2g>\n<jp:f2f></jp:f2f>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b>%3C%3E%26%27%22</jp:f3b>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f5>f5/x</jp:f5>\n<jp:f2k>/context/f2j/x</jp:f2k>\n<jp:f1e>f1e/x/y</jp:f1e>\n<jp:f2i>/context/resource</jp:f2i>\n<jp:f2n>/</jp:f2n>\n<jp:f2m>/context</jp:f2m>\n<jp:f1m>/context</jp:f1m>\n<jp:f2d>f2d</jp:f2d>\n<jp:f1l>/context/f1k</jp:f1l>\n<jp:f3c><>&''</jp:f3c>\n<jp:f1n>/</jp:f1n>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f1k>/context/f1j/x</jp:f1k>\n<jp:f1h>/context/resource/f1h</jp:f1h>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f2h>/context/resource/f2h</jp:f2h>\n<jp:f1d>f1d</jp:f1d>\n<jp:f1i>/context/resource</jp:f1i>\n<jp:f2e>f2e/x/y</jp:f2e>\n<jp:f2j>/context</jp:f2j>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1j>/co
ntext</jp:f1j>\n<jp:f1f></jp:f1f>\n<jp:f1g>/context/resource/f1g/x</jp:f1g>\n<jp:f4>test/uri/b</jp:f4>\n</rdf:Description>\n</rdf:RDF>\n"
)
},
{ /* 9 */
@@ -236,7 +236,7 @@ public class UriResolutionTest {
"(f0=http://foo.com:123/resource/f0/x0,f1a=http://www.apache.org/f1a,f1b=http://foo.com:123/f1b,f1c=http://foo.com:123/f1c/x/y,f1d=http://foo.com:123/resource/f1d,f1e=http://foo.com:123/resource/f1e/x/y,f1f=http://foo.com:123/resource,f1g=http://foo.com:123/resource/f1g/x,f1h=http://foo.com:123/resource/f1h,f1i=http://foo.com:123/resource,f1j=http://foo.com:123,f1k=http://foo.com:123/f1j/x,f1l=http://foo.com:123/f1k,f1m=http://foo.com:123,f1n=http://foo.com:123/..,f2a=http://www.apache.org/f2a,f2b=http://foo.com:123/f2b,f2c=http://foo.com:123/f2c/x/y,f2d=http://foo.com:123/resource/f2d,f2e=http://foo.com:123/resource/f2e/x/y,f2f=http://foo.com:123/resource,f2g=http://foo.com:123/resource/f2g/x,f2h=http://foo.com:123/resource/f2h,f2i=http://foo.com:123/resource,f2j=http://foo.com:123,f2k=http://foo.com:123/f2j/x,f2l=http://foo.com:123/f2k,f2m=http://foo.com:123,f2n=http://foo.com:123/..,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=http://foo.com:123/resource/%3C%
3E%26%27%22,f3c=http://foo.com:123/resource/<>&~'\",f4=http://foo.com:123/resource/test/uri/b,f5=http://foo.com:123/resource/f5/x)",
"f0=http://foo.com:123/resource/f0/x0&f1a=http://www.apache.org/f1a&f1b=http://foo.com:123/f1b&f1c=http://foo.com:123/f1c/x/y&f1d=http://foo.com:123/resource/f1d&f1e=http://foo.com:123/resource/f1e/x/y&f1f=http://foo.com:123/resource&f1g=http://foo.com:123/resource/f1g/x&f1h=http://foo.com:123/resource/f1h&f1i=http://foo.com:123/resource&f1j=http://foo.com:123&f1k=http://foo.com:123/f1j/x&f1l=http://foo.com:123/f1k&f1m=http://foo.com:123&f1n=http://foo.com:123/..&f2a=http://www.apache.org/f2a&f2b=http://foo.com:123/f2b&f2c=http://foo.com:123/f2c/x/y&f2d=http://foo.com:123/resource/f2d&f2e=http://foo.com:123/resource/f2e/x/y&f2f=http://foo.com:123/resource&f2g=http://foo.com:123/resource/f2g/x&f2h=http://foo.com:123/resource/f2h&f2i=http://foo.com:123/resource&f2j=http://foo.com:123&f2k=http://foo.com:123/f2j/x&f2l=http://foo.com:123/f2k&f2m=http://foo.com:123&f2n=http://foo.com:123/..&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=http://foo.com:123/resource/%25
3C%253E%2526%2527%2522&f3c=http://foo.com:123/resource/%3C%3E%26~'%22&f4=http://foo.com:123/resource/test/uri/b&f5=http://foo.com:123/resource/f5/x",
"DE0022A26630D921687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162B6687474703A2F2F666F6F2E636F6D3A3132332F663162A3663163BA687474703A2F2F666F6F2E636F6D3A3132332F6631632F782F79A3663164BF687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F663164A3663165D923687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F6631652F782F79A3663166BB687474703A2F2F666F6F2E636F6D3A3132332F7265736F75726365A3663167D921687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F6631672F78A3663168BF687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F663168A3663169BB687474703A2F2F666F6F2E636F6D3A3132332F7265736F75726365A366316AB2687474703A2F2F666F6F2E636F6D3A313233A366316BB8687474703A2F2F666F6F2E636F6D3A3132332F66316A2F78A366316CB6687474703A2F2F666F6F2E636F6D3A3132332F66316BA366316DB2687474703A2F2F666F6F2E636F6D3A313233A366316EB5687474703A2F2F666F6F2E636F6D3A3132332F2E2EA3663261B9687474703A2F2F7777772E6170616368652
E6F72672F663261A3663262B6687474703A2F2F666F6F2E636F6D3A3132332F663262A3663263BA687474703A2F2F666F6F2E636F6D3A3132332F6632632F782F79A3663264BF687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F663264A3663265D923687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F6632652F782F79A3663266BB687474703A2F2F666F6F2E636F6D3A3132332F7265736F75726365A3663267D921687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F6632672F78A3663268BF687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F663268A3663269BB687474703A2F2F666F6F2E636F6D3A3132332F7265736F75726365A366326AB2687474703A2F2F666F6F2E636F6D3A313233A366326BB8687474703A2F2F666F6F2E636F6D3A3132332F66326A2F78A366326CB6687474703A2F2F666F6F2E636F6D3A3132332F66326BA366326DB2687474703A2F2F666F6F2E636F6D3A313233A366326EB5687474703A2F2F666F6F2E636F6D3A3132332F2E2EA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362D92B687474703A2F2F666F6F2E636F6D3A3132332F7265736F75726365
2F253343253345253236253237253232A3663363D921687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F3C3E262722A26634D926687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F746573742F7572692F62A26635D920687474703A2F2F666F6F2E636F6D3A3132332F7265736F757263652F66352F78",
- "<rdf:RDF>\n<rdf:Description rdf:about='http://foo.com:123/resource/f0/x0'>\n<jp:f2i rdf:resource='http://foo.com:123/resource'/>\n<jp:f2h rdf:resource='http://foo.com:123/resource/f2h'/>\n<jp:f1g rdf:resource='http://foo.com:123/resource/f1g/x'/>\n<jp:f1n rdf:resource='http://foo.com:123/..'/>\n<jp:f2b rdf:resource='http://foo.com:123/f2b'/>\n<jp:f1f rdf:resource='http://foo.com:123/resource'/>\n<jp:f2j rdf:resource='http://foo.com:123'/>\n<jp:f2d rdf:resource='http://foo.com:123/resource/f2d'/>\n<jp:f1l rdf:resource='http://foo.com:123/f1k'/>\n<jp:f3b rdf:resource='http://foo.com:123/resource/%3C%3E%26%27%22'/>\n<jp:f4 rdf:resource='http://foo.com:123/resource/test/uri/b'/>\n<jp:f2l rdf:resource='http://foo.com:123/f2k'/>\n<jp:f1d rdf:resource='http://foo.com:123/resource/f1d'/>\n<jp:f1e rdf:resource='http://foo.com:123/resource/f1e/x/y'/>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1k rdf:resource='http://foo.com:123/f1j/x'/>\n<jp:f
2m rdf:resource='http://foo.com:123'/>\n<jp:f1i rdf:resource='http://foo.com:123/resource'/>\n<jp:f5 rdf:resource='http://foo.com:123/resource/f5/x'/>\n<jp:f2f rdf:resource='http://foo.com:123/resource'/>\n<jp:f2n rdf:resource='http://foo.com:123/..'/>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1h rdf:resource='http://foo.com:123/resource/f1h'/>\n<jp:f1m rdf:resource='http://foo.com:123'/>\n<jp:f2c rdf:resource='http://foo.com:123/f2c/x/y'/>\n<jp:f2g rdf:resource='http://foo.com:123/resource/f2g/x'/>\n<jp:f2k rdf:resource='http://foo.com:123/f2j/x'/>\n<jp:f1b rdf:resource='http://foo.com:123/f1b'/>\n<jp:f1c rdf:resource='http://foo.com:123/f1c/x/y'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f3c rdf:resource='http://foo.com:123/resource/<>&'"'/>\n<jp:f1j rdf:resource='http://foo.com:123'/>\n<jp:f2e rdf:resource='http://foo.com:123/resource/f2e/x/y'/>\n</rdf:Description>\n</rdf:RDF>\n"
+ "<rdf:RDF>\n<rdf:Description rdf:about='http://foo.com:123/resource/f0/x0'>\n<jp:f2i rdf:resource='http://foo.com:123/resource'/>\n<jp:f2j rdf:resource='http://foo.com:123'/>\n<jp:f2h rdf:resource='http://foo.com:123/resource/f2h'/>\n<jp:f1g rdf:resource='http://foo.com:123/resource/f1g/x'/>\n<jp:f1n rdf:resource='http://foo.com:123/..'/>\n<jp:f2b rdf:resource='http://foo.com:123/f2b'/>\n<jp:f1f rdf:resource='http://foo.com:123/resource'/>\n<jp:f2d rdf:resource='http://foo.com:123/resource/f2d'/>\n<jp:f1l rdf:resource='http://foo.com:123/f1k'/>\n<jp:f3b rdf:resource='http://foo.com:123/resource/%3C%3E%26%27%22'/>\n<jp:f4 rdf:resource='http://foo.com:123/resource/test/uri/b'/>\n<jp:f2l rdf:resource='http://foo.com:123/f2k'/>\n<jp:f1d rdf:resource='http://foo.com:123/resource/f1d'/>\n<jp:f1e rdf:resource='http://foo.com:123/resource/f1e/x/y'/>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f1j rdf:resource='http://foo.com:123'/>\n<jp:f1k rdf
:resource='http://foo.com:123/f1j/x'/>\n<jp:f2m rdf:resource='http://foo.com:123'/>\n<jp:f1i rdf:resource='http://foo.com:123/resource'/>\n<jp:f5 rdf:resource='http://foo.com:123/resource/f5/x'/>\n<jp:f2f rdf:resource='http://foo.com:123/resource'/>\n<jp:f2n rdf:resource='http://foo.com:123/..'/>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1h rdf:resource='http://foo.com:123/resource/f1h'/>\n<jp:f1m rdf:resource='http://foo.com:123'/>\n<jp:f2c rdf:resource='http://foo.com:123/f2c/x/y'/>\n<jp:f2g rdf:resource='http://foo.com:123/resource/f2g/x'/>\n<jp:f2k rdf:resource='http://foo.com:123/f2j/x'/>\n<jp:f1b rdf:resource='http://foo.com:123/f1b'/>\n<jp:f1c rdf:resource='http://foo.com:123/f1c/x/y'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f3c rdf:resource='http://foo.com:123/resource/<>&'"'/>\n<jp:f2e rdf:resource='http://foo.com:123/resource/f2e/x/y'/>\n</rdf:Description>\n</rdf:RDF>\n"
)
},
{ /* 10 */
@@ -251,7 +251,7 @@ public class UriResolutionTest {
"(f0=/resource/f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=/resource/f1d,f1e=/resource/f1e/x/y,f1f=/resource,f1g=/resource/f1g/x,f1h=/resource/f1h,f1i=/resource,f1j=/,f1k=/f1j/x,f1l=/f1k,f1m=/,f1n=/..,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=/resource/f2d,f2e=/resource/f2e/x/y,f2f=/resource,f2g=/resource/f2g/x,f2h=/resource/f2h,f2i=/resource,f2j=/,f2k=/f2j/x,f2l=/f2k,f2m=/,f2n=/..,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=/resource/%3C%3E%26%27%22,f3c=/resource/<>&~'\",f4=/resource/test/uri/b,f5=/resource/f5/x)",
"f0=/resource/f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=/resource/f1d&f1e=/resource/f1e/x/y&f1f=/resource&f1g=/resource/f1g/x&f1h=/resource/f1h&f1i=/resource&f1j=/&f1k=/f1j/x&f1l=/f1k&f1m=/&f1n=/..&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=/resource/f2d&f2e=/resource/f2e/x/y&f2f=/resource&f2g=/resource/f2g/x&f2h=/resource/f2h&f2i=/resource&f2j=/&f2k=/f2j/x&f2l=/f2k&f2m=/&f2n=/..&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=/resource/%253C%253E%2526%2527%2522&f3c=/resource/%3C%3E%26~'%22&f4=/resource/test/uri/b&f5=/resource/f5/x",
"DE0022A26630AF2F7265736F757263652F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164AD2F7265736F757263652F663164A3663165B12F7265736F757263652F6631652F782F79A3663166A92F7265736F75726365A3663167AF2F7265736F757263652F6631672F78A3663168AD2F7265736F757263652F663168A3663169A92F7265736F75726365A366316AA12FA366316BA62F66316A2F78A366316CA42F66316BA366316DA12FA366316EA32F2E2EA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264AD2F7265736F757263652F663264A3663265B12F7265736F757263652F6632652F782F79A3663266A92F7265736F75726365A3663267AF2F7265736F757263652F6632672F78A3663268AD2F7265736F757263652F663268A3663269A92F7265736F75726365A366326AA12FA366326BA62F66326A2F78A366326CA42F66326BA366326DA12FA366326EA32F2E2EA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362B92F7265736F757263652F2533432533452
53236253237253232A3663363AF2F7265736F757263652F3C3E262722A26634B42F7265736F757263652F746573742F7572692F62A26635AE2F7265736F757263652F66352F78",
- "<rdf:RDF>\n<rdf:Description rdf:about='/resource/f0/x0'>\n<jp:f2b rdf:resource='/f2b'/>\n<jp:f2j rdf:resource='/'/>\n<jp:f2e rdf:resource='/resource/f2e/x/y'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2n rdf:resource='/..'/>\n<jp:f2c rdf:resource='/f2c/x/y'/>\n<jp:f3c rdf:resource='/resource/<>&'"'/>\n<jp:f2h rdf:resource='/resource/f2h'/>\n<jp:f1i rdf:resource='/resource'/>\n<jp:f1n rdf:resource='/..'/>\n<jp:f1c rdf:resource='/f1c/x/y'/>\n<jp:f1e rdf:resource='/resource/f1e/x/y'/>\n<jp:f5 rdf:resource='/resource/f5/x'/>\n<jp:f2l rdf:resource='/f2k'/>\n<jp:f2d rdf:resource='/resource/f2d'/>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b rdf:resource='/resource/%3C%3E%26%27%22'/>\n<jp:f1d rdf:resource='/resource/f1d'/>\n<jp:f2m rdf:resource='/'/>\n<jp:f1f rdf:resource='/resource'/>\n<jp:f1b rdf:resource='/f1b'/>\n<jp:f4 rdf:resource='/resource/test/uri/b'/>\n<jp:f2i rdf:resource='/resource'/>\n<jp:f
1h rdf:resource='/resource/f1h'/>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1k rdf:resource='/f1j/x'/>\n<jp:f1l rdf:resource='/f1k'/>\n<jp:f2g rdf:resource='/resource/f2g/x'/>\n<jp:f2k rdf:resource='/f2j/x'/>\n<jp:f1j rdf:resource='/'/>\n<jp:f2f rdf:resource='/resource'/>\n<jp:f1g rdf:resource='/resource/f1g/x'/>\n<jp:f1m rdf:resource='/'/>\n</rdf:Description>\n</rdf:RDF>\n"
+ "<rdf:RDF>\n<rdf:Description rdf:about='/resource/f0/x0'>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f2e>/resource/f2e/x/y</jp:f2e>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2n>/..</jp:f2n>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f3c>/resource/<>&''</jp:f3c>\n<jp:f2h>/resource/f2h</jp:f2h>\n<jp:f1i>/resource</jp:f1i>\n<jp:f1n>/..</jp:f1n>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1e>/resource/f1e/x/y</jp:f1e>\n<jp:f5>/resource/f5/x</jp:f5>\n<jp:f2l>/f2k</jp:f2l>\n<jp:f2d>/resource/f2d</jp:f2d>\n<jp:f2j>/</jp:f2j>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b>/resource/%3C%3E%26%27%22</jp:f3b>\n<jp:f1j>/</jp:f1j>\n<jp:f1d>/resource/f1d</jp:f1d>\n<jp:f2m>/</jp:f2m>\n<jp:f1f>/resource</jp:f1f>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f4>/resource/test/uri/b</jp:f4>\n<jp:f2i>/resource</jp:f2i>\n<jp:f1h>/resource/f1h</jp:f1h>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1k>/f1j/x</jp:f1k>\n<jp:f1l>/f1k</jp:f1l>\n<jp:f2g>/resource/f2g/x</jp:f2g>\
n<jp:f2k>/f2j/x</jp:f2k>\n<jp:f2f>/resource</jp:f2f>\n<jp:f1g>/resource/f1g/x</jp:f1g>\n<jp:f1m>/</jp:f1m>\n</rdf:Description>\n</rdf:RDF>\n"
)
},
{ /* 11 */
@@ -266,7 +266,7 @@ public class UriResolutionTest {
"(f0=f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=f1d,f1e=f1e/x/y,f1f='',f1g=/resource/f1g/x,f1h=/resource/f1h,f1i=/resource,f1j=/,f1k=/f1j/x,f1l=/f1k,f1m=/,f1n=/..,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=f2d,f2e=f2e/x/y,f2f='',f2g=/resource/f2g/x,f2h=/resource/f2h,f2i=/resource,f2j=/,f2k=/f2j/x,f2l=/f2k,f2m=/,f2n=/..,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=%3C%3E%26%27%22,f3c=<>&~'\",f4=test/uri/b,f5=f5/x)",
"f0=f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=f1d&f1e=f1e/x/y&f1f=''&f1g=/resource/f1g/x&f1h=/resource/f1h&f1i=/resource&f1j=/&f1k=/f1j/x&f1l=/f1k&f1m=/&f1n=/..&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=f2d&f2e=f2e/x/y&f2f=''&f2g=/resource/f2g/x&f2h=/resource/f2h&f2i=/resource&f2j=/&f2k=/f2j/x&f2l=/f2k&f2m=/&f2n=/..&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=%253C%253E%2526%2527%2522&f3c=%3C%3E%26~'%22&f4=test/uri/b&f5=f5/x",
"DE0022A26630A566302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164A3663164A3663165A76631652F782F79A3663166A0A3663167AF2F7265736F757263652F6631672F78A3663168AD2F7265736F757263652F663168A3663169A92F7265736F75726365A366316AA12FA366316BA62F66316A2F78A366316CA42F66316BA366316DA12FA366316EA32F2E2EA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264A3663264A3663265A76632652F782F79A3663266A0A3663267AF2F7265736F757263652F6632672F78A3663268AD2F7265736F757263652F663268A3663269A92F7265736F75726365A366326AA12FA366326BA62F66326A2F78A366326CA42F66326BA366326DA12FA366326EA32F2E2EA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A3663362AF253343253345253236253237253232A3663363A53C3E262722A26634AA746573742F7572692F62A26635A466352F78",
- "<rdf:RDF>\n<rdf:Description rdf:about='f0/x0'>\n<jp:f1n rdf:resource='/..'/>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2h rdf:resource='/resource/f2h'/>\n<jp:f2n rdf:resource='/..'/>\n<jp:f1h rdf:resource='/resource/f1h'/>\n<jp:f1i rdf:resource='/resource'/>\n<jp:f1g rdf:resource='/resource/f1g/x'/>\n<jp:f2f rdf:resource=''/>\n<jp:f2k rdf:resource='/f2j/x'/>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b rdf:resource='%3C%3E%26%27%22'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2c rdf:resource='/f2c/x/y'/>\n<jp:f2i rdf:resource='/resource'/>\n<jp:f5 rdf:resource='f5/x'/>\n<jp:f1m rdf:resource='/'/>\n<jp:f2l rdf:resource='/f2k'/>\n<jp:f2g rdf:resource='/resource/f2g/x'/>\n<jp:f1k rdf:resource='/f1j/x'/>\n<jp:f1e rdf:resource='f1e/x/y'/>\n<jp:f2d rdf:resource='f2d'/>\n<jp:f3c rdf:resource='<>&'"'/>\n<jp:f2j rdf:resource='/'/>\n<jp:f1b rdf:resource='/f1b'/>\n<jp:f1l rdf:resource='/f1k'/
>\n<jp:f2b rdf:resource='/f2b'/>\n<jp:f1d rdf:resource='f1d'/>\n<jp:f2e rdf:resource='f2e/x/y'/>\n<jp:f1c rdf:resource='/f1c/x/y'/>\n<jp:f1f rdf:resource=''/>\n<jp:f4 rdf:resource='test/uri/b'/>\n<jp:f1j rdf:resource='/'/>\n<jp:f2m rdf:resource='/'/>\n</rdf:Description>\n</rdf:RDF>\n"
+ "<rdf:RDF>\n<rdf:Description rdf:about='f0/x0'>\n<jp:f1n>/..</jp:f1n>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f2h>/resource/f2h</jp:f2h>\n<jp:f2n>/..</jp:f2n>\n<jp:f1h>/resource/f1h</jp:f1h>\n<jp:f1i>/resource</jp:f1i>\n<jp:f1g>/resource/f1g/x</jp:f1g>\n<jp:f2f></jp:f2f>\n<jp:f2k>/f2j/x</jp:f2k>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f3b>%3C%3E%26%27%22</jp:f3b>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f2i>/resource</jp:f2i>\n<jp:f5>f5/x</jp:f5>\n<jp:f1m>/</jp:f1m>\n<jp:f2l>/f2k</jp:f2l>\n<jp:f2g>/resource/f2g/x</jp:f2g>\n<jp:f1k>/f1j/x</jp:f1k>\n<jp:f1e>f1e/x/y</jp:f1e>\n<jp:f2j>/</jp:f2j>\n<jp:f2d>f2d</jp:f2d>\n<jp:f3c><>&''</jp:f3c>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f1l>/f1k</jp:f1l>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f1d>f1d</jp:f1d>\n<jp:f1j>/</jp:f1j>\n<jp:f2e>f2e/x/y</jp:f2e>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1f></jp:f1f>\n<jp:f4>test/uri/b</jp:f4>\n<jp:f2m>/</jp:f2m>\n
</rdf:Description>\n</rdf:RDF>\n"
)
},
{ /* 12 */
@@ -281,7 +281,7 @@ public class UriResolutionTest {
"(f0=http://foo.com:123/context/f0/x0,f1a=http://www.apache.org/f1a,f1b=http://foo.com:123/f1b,f1c=http://foo.com:123/f1c/x/y,f1d=http://foo.com:123/context/f1d,f1e=http://foo.com:123/context/f1e/x/y,f1f=http://foo.com:123/context,f1g=http://foo.com:123/context/f1g/x,f1h=http://foo.com:123/context/f1h,f1i=http://foo.com:123/context,f1j=http://foo.com:123,f1k=http://foo.com:123/context/f1j/x,f1l=http://foo.com:123/context/f1k,f1m=http://foo.com:123/context,f1n=http://foo.com:123,f2a=http://www.apache.org/f2a,f2b=http://foo.com:123/f2b,f2c=http://foo.com:123/f2c/x/y,f2d=http://foo.com:123/context/f2d,f2e=http://foo.com:123/context/f2e/x/y,f2f=http://foo.com:123/context,f2g=http://foo.com:123/context/f2g/x,f2h=http://foo.com:123/context/f2h,f2i=http://foo.com:123/context,f2j=http://foo.com:123,f2k=http://foo.com:123/context/f2j/x,f2l=http://foo.com:123/context/f2k,f2m=http://foo.com:123/context,f2n=http://foo.com:123,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=htt
p://foo.com:123/context/%3C%3E%26%27%22,f3c=http://foo.com:123/context/<>&~'\",f4=http://foo.com:123/context/test/uri/b,f5=http://foo.com:123/context/f5/x)",
"f0=http://foo.com:123/context/f0/x0&f1a=http://www.apache.org/f1a&f1b=http://foo.com:123/f1b&f1c=http://foo.com:123/f1c/x/y&f1d=http://foo.com:123/context/f1d&f1e=http://foo.com:123/context/f1e/x/y&f1f=http://foo.com:123/context&f1g=http://foo.com:123/context/f1g/x&f1h=http://foo.com:123/context/f1h&f1i=http://foo.com:123/context&f1j=http://foo.com:123&f1k=http://foo.com:123/context/f1j/x&f1l=http://foo.com:123/context/f1k&f1m=http://foo.com:123/context&f1n=http://foo.com:123&f2a=http://www.apache.org/f2a&f2b=http://foo.com:123/f2b&f2c=http://foo.com:123/f2c/x/y&f2d=http://foo.com:123/context/f2d&f2e=http://foo.com:123/context/f2e/x/y&f2f=http://foo.com:123/context&f2g=http://foo.com:123/context/f2g/x&f2h=http://foo.com:123/context/f2h&f2i=http://foo.com:123/context&f2j=http://foo.com:123&f2k=http://foo.com:123/context/f2j/x&f2l=http://foo.com:123/context/f2k&f2m=http://foo.com:123/context&f2n=http://foo.com:123&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=ht
tp://foo.com:123/context/%253C%253E%2526%2527%2522&f3c=http://foo.com:123/context/%3C%3E%26~'%22&f4=http://foo.com:123/context/test/uri/b&f5=http://foo.com:123/context/f5/x",
"DE0022A26630D920687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162B6687474703A2F2F666F6F2E636F6D3A3132332F663162A3663163BA687474703A2F2F666F6F2E636F6D3A3132332F6631632F782F79A3663164BE687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F663164A3663165D922687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F6631652F782F79A3663166BA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A3663167D920687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F6631672F78A3663168BE687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F663168A3663169BA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A366316AB2687474703A2F2F666F6F2E636F6D3A313233A366316BD920687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66316A2F78A366316CBE687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66316BA366316DBA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A366316EB2687474703A2F2F666F6F2E636F6D3A313233A3663261B968747
4703A2F2F7777772E6170616368652E6F72672F663261A3663262B6687474703A2F2F666F6F2E636F6D3A3132332F663262A3663263BA687474703A2F2F666F6F2E636F6D3A3132332F6632632F782F79A3663264BE687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F663264A3663265D922687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F6632652F782F79A3663266BA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A3663267D920687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F6632672F78A3663268BE687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F663268A3663269BA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A366326AB2687474703A2F2F666F6F2E636F6D3A313233A366326BD920687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66326A2F78A366326CBE687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66326BA366326DBA687474703A2F2F666F6F2E636F6D3A3132332F636F6E74657874A366326EB2687474703A2F2F666F6F2E636F6D3A313233A3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C26666F6F3D626172A366
3362D92A687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F253343253345253236253237253232A3663363D920687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F3C3E262722A26634D925687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F746573742F7572692F62A26635BF687474703A2F2F666F6F2E636F6D3A3132332F636F6E746578742F66352F78",
- "<rdf:RDF>\n<rdf:Description rdf:about='http://foo.com:123/context/f0/x0'>\n<jp:f1f rdf:resource='http://foo.com:123/context'/>\n<jp:f1n rdf:resource='http://foo.com:123'/>\n<jp:f2j rdf:resource='http://foo.com:123'/>\n<jp:f2c rdf:resource='http://foo.com:123/f2c/x/y'/>\n<jp:f3b rdf:resource='http://foo.com:123/context/%3C%3E%26%27%22'/>\n<jp:f2d rdf:resource='http://foo.com:123/context/f2d'/>\n<jp:f2l rdf:resource='http://foo.com:123/context/f2k'/>\n<jp:f1b rdf:resource='http://foo.com:123/f1b'/>\n<jp:f1c rdf:resource='http://foo.com:123/f1c/x/y'/>\n<jp:f1k rdf:resource='http://foo.com:123/context/f1j/x'/>\n<jp:f2k rdf:resource='http://foo.com:123/context/f2j/x'/>\n<jp:f1g rdf:resource='http://foo.com:123/context/f1g/x'/>\n<jp:f2h rdf:resource='http://foo.com:123/context/f2h'/>\n<jp:f1i rdf:resource='http://foo.com:123/context'/>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f2m rdf:resource='http://foo.com:123/context'/>\n<jp:f1a rdf:re
source='http://www.apache.org/f1a'/>\n<jp:f1j rdf:resource='http://foo.com:123'/>\n<jp:f2n rdf:resource='http://foo.com:123'/>\n<jp:f1d rdf:resource='http://foo.com:123/context/f1d'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2i rdf:resource='http://foo.com:123/context'/>\n<jp:f1h rdf:resource='http://foo.com:123/context/f1h'/>\n<jp:f4 rdf:resource='http://foo.com:123/context/test/uri/b'/>\n<jp:f1e rdf:resource='http://foo.com:123/context/f1e/x/y'/>\n<jp:f3c rdf:resource='http://foo.com:123/context/<>&'"'/>\n<jp:f2b rdf:resource='http://foo.com:123/f2b'/>\n<jp:f2g rdf:resource='http://foo.com:123/context/f2g/x'/>\n<jp:f1l rdf:resource='http://foo.com:123/context/f1k'/>\n<jp:f1m rdf:resource='http://foo.com:123/context'/>\n<jp:f2f rdf:resource='http://foo.com:123/context'/>\n<jp:f5 rdf:resource='http://foo.com:123/context/f5/x'/>\n<jp:f2e rdf:resource='http://foo.com:123/context/f2e/x/y'/>\n</rdf:Description>\n</rdf:RDF>\n"
+ "<rdf:RDF>\n<rdf:Description rdf:about='http://foo.com:123/context/f0/x0'>\n<jp:f1f rdf:resource='http://foo.com:123/context'/>\n<jp:f2c rdf:resource='http://foo.com:123/f2c/x/y'/>\n<jp:f3b rdf:resource='http://foo.com:123/context/%3C%3E%26%27%22'/>\n<jp:f2d rdf:resource='http://foo.com:123/context/f2d'/>\n<jp:f2l rdf:resource='http://foo.com:123/context/f2k'/>\n<jp:f1b rdf:resource='http://foo.com:123/f1b'/>\n<jp:f1c rdf:resource='http://foo.com:123/f1c/x/y'/>\n<jp:f1j rdf:resource='http://foo.com:123'/>\n<jp:f1k rdf:resource='http://foo.com:123/context/f1j/x'/>\n<jp:f2n rdf:resource='http://foo.com:123'/>\n<jp:f2k rdf:resource='http://foo.com:123/context/f2j/x'/>\n<jp:f1g rdf:resource='http://foo.com:123/context/f1g/x'/>\n<jp:f2h rdf:resource='http://foo.com:123/context/f2h'/>\n<jp:f1i rdf:resource='http://foo.com:123/context'/>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f2m rdf:resource='http://foo.com:123/context'/>\n<jp:f1a rdf:re
source='http://www.apache.org/f1a'/>\n<jp:f1d rdf:resource='http://foo.com:123/context/f1d'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f2j rdf:resource='http://foo.com:123'/>\n<jp:f2i rdf:resource='http://foo.com:123/context'/>\n<jp:f1h rdf:resource='http://foo.com:123/context/f1h'/>\n<jp:f1n rdf:resource='http://foo.com:123'/>\n<jp:f4 rdf:resource='http://foo.com:123/context/test/uri/b'/>\n<jp:f1e rdf:resource='http://foo.com:123/context/f1e/x/y'/>\n<jp:f3c rdf:resource='http://foo.com:123/context/<>&'"'/>\n<jp:f2b rdf:resource='http://foo.com:123/f2b'/>\n<jp:f2g rdf:resource='http://foo.com:123/context/f2g/x'/>\n<jp:f1l rdf:resource='http://foo.com:123/context/f1k'/>\n<jp:f1m rdf:resource='http://foo.com:123/context'/>\n<jp:f2f rdf:resource='http://foo.com:123/context'/>\n<jp:f5 rdf:resource='http://foo.com:123/context/f5/x'/>\n<jp:f2e rdf:resource='http://foo.com:123/context/f2e/x/y'/>\n</rdf:Description>\n</rdf:RDF>\n"
)
},
{ /* 13 */
@@ -296,7 +296,7 @@ public class UriResolutionTest {
"(f0=/context/f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=/context/f1d,f1e=/context/f1e/x/y,f1f=/context,f1g=/context/f1g/x,f1h=/context/f1h,f1i=/context,f1j=/,f1k=/context/f1j/x,f1l=/context/f1k,f1m=/context,f1n=/,f2a=http://www.apache.org/f2a,f2b=/f2b,f2c=/f2c/x/y,f2d=/context/f2d,f2e=/context/f2e/x/y,f2f=/context,f2g=/context/f2g/x,f2h=/context/f2h,f2i=/context,f2j=/,f2k=/context/f2j/x,f2l=/context/f2k,f2m=/context,f2n=/,f3a='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar',f3b=/context/%3C%3E%26%27%22,f3c=/context/<>&~'\",f4=/context/test/uri/b,f5=/context/f5/x)",
"f0=/context/f0/x0&f1a=http://www.apache.org/f1a&f1b=/f1b&f1c=/f1c/x/y&f1d=/context/f1d&f1e=/context/f1e/x/y&f1f=/context&f1g=/context/f1g/x&f1h=/context/f1h&f1i=/context&f1j=/&f1k=/context/f1j/x&f1l=/context/f1k&f1m=/context&f1n=/&f2a=http://www.apache.org/f2a&f2b=/f2b&f2c=/f2c/x/y&f2d=/context/f2d&f2e=/context/f2e/x/y&f2f=/context&f2g=/context/f2g/x&f2h=/context/f2h&f2i=/context&f2j=/&f2k=/context/f2j/x&f2l=/context/f2k&f2m=/context&f2n=/&f3a='http://www.apache.org/f3a/x?label=MY_LABEL%26foo=bar'&f3b=/context/%253C%253E%2526%2527%2522&f3c=/context/%3C%3E%26~'%22&f4=/context/test/uri/b&f5=/context/f5/x",
"DE0022A26630AE2F636F6E746578742F66302F7830A3663161B9687474703A2F2F7777772E6170616368652E6F72672F663161A3663162A42F663162A3663163A82F6631632F782F79A3663164AC2F636F6E746578742F663164A3663165B02F636F6E746578742F6631652F782F79A3663166A82F636F6E74657874A3663167AE2F636F6E746578742F6631672F78A3663168AC2F636F6E746578742F663168A3663169A82F636F6E74657874A366316AA12FA366316BAE2F636F6E746578742F66316A2F78A366316CAC2F636F6E746578742F66316BA366316DA82F636F6E74657874A366316EA12FA3663261B9687474703A2F2F7777772E6170616368652E6F72672F663261A3663262A42F663262A3663263A82F6632632F782F79A3663264AC2F636F6E746578742F663264A3663265B02F636F6E746578742F6632652F782F79A3663266A82F636F6E74657874A3663267AE2F636F6E746578742F6632672F78A3663268AC2F636F6E746578742F663268A3663269A82F636F6E74657874A366326AA12FA366326BAE2F636F6E746578742F66326A2F78A366326CAC2F636F6E746578742F66326BA366326DA82F636F6E74657874A366326EA12FA3663361D932687474703A2F2F7777772E6170616368652E6F72672F6633612F783F6C6162656C3D4D595F4C4142454C2
6666F6F3D626172A3663362B82F636F6E746578742F253343253345253236253237253232A3663363AE2F636F6E746578742F3C3E262722A26634B32F636F6E746578742F746573742F7572692F62A26635AD2F636F6E746578742F66352F78",
- "<rdf:RDF>\n<rdf:Description rdf:about='/context/f0/x0'>\n<jp:f2k rdf:resource='/context/f2j/x'/>\n<jp:f1f rdf:resource='/context'/>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1e rdf:resource='/context/f1e/x/y'/>\n<jp:f2i rdf:resource='/context'/>\n<jp:f3b rdf:resource='/context/%3C%3E%26%27%22'/>\n<jp:f2b rdf:resource='/f2b'/>\n<jp:f1h rdf:resource='/context/f1h'/>\n<jp:f1l rdf:resource='/context/f1k'/>\n<jp:f1c rdf:resource='/f1c/x/y'/>\n<jp:f1i rdf:resource='/context'/>\n<jp:f2l rdf:resource='/context/f2k'/>\n<jp:f2g rdf:resource='/context/f2g/x'/>\n<jp:f3c rdf:resource='/context/<>&'"'/>\n<jp:f1k rdf:resource='/context/f1j/x'/>\n<jp:f2f rdf:resource='/context'/>\n<jp:f1b rdf:resource='/f1b'/>\n<jp:f1m rdf:resource='/context'/>\n<jp:f1d rdf:resource='/context/f1d'/>\n<jp:f2c rdf:resource='/f2c/x/y'/>\n<jp:f2m rdf:resource='/context'/>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1j rdf:resource='/'/>\n<jp:f4 rdf:resource='/cont
ext/test/uri/b'/>\n<jp:f2n rdf:resource='/'/>\n<jp:f1n rdf:resource='/'/>\n<jp:f2j rdf:resource='/'/>\n<jp:f1g rdf:resource='/context/f1g/x'/>\n<jp:f5 rdf:resource='/context/f5/x'/>\n<jp:f2d rdf:resource='/context/f2d'/>\n<jp:f3a rdf:resource='http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f2e rdf:resource='/context/f2e/x/y'/>\n<jp:f2h rdf:resource='/context/f2h'/>\n</rdf:Description>\n</rdf:RDF>\n"
+ "<rdf:RDF>\n<rdf:Description rdf:about='/context/f0/x0'>\n<jp:f2k>/context/f2j/x</jp:f2k>\n<jp:f1f>/context</jp:f1f>\n<jp:f2a rdf:resource='http://www.apache.org/f2a'/>\n<jp:f1e>/context/f1e/x/y</jp:f1e>\n<jp:f2i>/context</jp:f2i>\n<jp:f1j>/</jp:f1j>\n<jp:f3b>/context/%3C%3E%26%27%22</jp:f3b>\n<jp:f2b>/f2b</jp:f2b>\n<jp:f1h>/context/f1h</jp:f1h>\n<jp:f1l>/context/f1k</jp:f1l>\n<jp:f1c>/f1c/x/y</jp:f1c>\n<jp:f1i>/context</jp:f1i>\n<jp:f2j>/</jp:f2j>\n<jp:f2l>/context/f2k</jp:f2l>\n<jp:f2g>/context/f2g/x</jp:f2g>\n<jp:f3c>/context/<>&''</jp:f3c>\n<jp:f1k>/context/f1j/x</jp:f1k>\n<jp:f2f>/context</jp:f2f>\n<jp:f1b>/f1b</jp:f1b>\n<jp:f1m>/context</jp:f1m>\n<jp:f1d>/context/f1d</jp:f1d>\n<jp:f2c>/f2c/x/y</jp:f2c>\n<jp:f2m>/context</jp:f2m>\n<jp:f1a rdf:resource='http://www.apache.org/f1a'/>\n<jp:f1n>/</jp:f1n>\n<jp:f4>/context/test/uri/b</jp:f4>\n<jp:f1g>/context/f1g/x</jp:f1g>\n<jp:f5>/context/f5/x</jp:f5>\n<jp:f2d>/context/f2d</jp:f2d>\n<jp:f3a rdf:resource='http://www.a
pache.org/f3a/x?label=MY_LABEL&foo=bar'/>\n<jp:f2e>/context/f2e/x/y</jp:f2e>\n<jp:f2n>/</jp:f2n>\n<jp:f2h>/context/f2h</jp:f2h>\n</rdf:Description>\n</rdf:RDF>\n"
)
},
{ /* 14 */
@@ -311,7 +311,7 @@ public class UriResolutionTest {
"(f0=f0/x0,f1a=http://www.apache.org/f1a,f1b=/f1b,f1c=/f1c/x/y,f1d=f1d,f1e=f1e/x/y,f1f='',f1g=/context/f1g/x,f1h=/context/f1h,f1i=/context,f1j=/,f1k=/context/f1j/x,f1l=/context/f1k,f1
<TRUNCATED>
[4/4] incubator-juneau git commit: Add branding capability to
HtmlDocSerializer and REST servlet.
Posted by ja...@apache.org.
Add branding capability to HtmlDocSerializer and REST servlet.
Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/6dccf603
Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/6dccf603
Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/6dccf603
Branch: refs/heads/master
Commit: 6dccf6039cda11f64037ff8b752366d737c2d5f5
Parents: e6998a7
Author: JamesBognar <ja...@apache.org>
Authored: Sat Jun 10 16:19:48 2017 -0400
Committer: JamesBognar <ja...@apache.org>
Committed: Sat Jun 10 16:19:48 2017 -0400
----------------------------------------------------------------------
.../java/org/apache/juneau/jena/RdfParser.java | 2 +-
.../org/apache/juneau/jena/RdfSerializer.java | 8 ++-
.../apache/juneau/dto/html5/Html5ComboTest.java | 30 ++++-----
.../dto/html5/Html5TemplateComboTest.java | 44 ++++++-------
.../juneau/serializer/UriResolutionTest.java | 58 ++++++++--------
.../org/apache/juneau/BeanPropertyMeta.java | 5 +-
.../org/apache/juneau/dto/atom/AtomBuilder.java | 44 +++++--------
.../org/apache/juneau/dto/atom/Category.java | 14 +++-
.../java/org/apache/juneau/dto/atom/Common.java | 22 +++----
.../org/apache/juneau/dto/atom/Content.java | 21 +++---
.../java/org/apache/juneau/dto/atom/Entry.java | 3 +-
.../java/org/apache/juneau/dto/atom/Feed.java | 3 +-
.../org/apache/juneau/dto/atom/Generator.java | 25 +++----
.../java/org/apache/juneau/dto/atom/Icon.java | 41 +++++-------
.../java/org/apache/juneau/dto/atom/Id.java | 4 +-
.../java/org/apache/juneau/dto/atom/Link.java | 4 +-
.../java/org/apache/juneau/dto/atom/Logo.java | 41 +++++-------
.../java/org/apache/juneau/dto/atom/Person.java | 26 ++++----
.../java/org/apache/juneau/dto/atom/Source.java | 3 +-
.../java/org/apache/juneau/dto/atom/Text.java | 10 +--
.../java/org/apache/juneau/dto/atom/Utils.java | 15 -----
.../java/org/apache/juneau/dto/html5/A.java | 10 ++-
.../java/org/apache/juneau/dto/html5/Area.java | 10 ++-
.../java/org/apache/juneau/dto/html5/Audio.java | 10 ++-
.../java/org/apache/juneau/dto/html5/Base.java | 10 ++-
.../org/apache/juneau/dto/html5/Button.java | 12 +++-
.../java/org/apache/juneau/dto/html5/Embed.java | 10 ++-
.../java/org/apache/juneau/dto/html5/Form.java | 12 +++-
.../apache/juneau/dto/html5/HtmlElement.java | 36 +++++++++-
.../org/apache/juneau/dto/html5/Iframe.java | 10 ++-
.../java/org/apache/juneau/dto/html5/Img.java | 10 ++-
.../java/org/apache/juneau/dto/html5/Link.java | 10 ++-
.../org/apache/juneau/dto/html5/Script.java | 10 ++-
.../org/apache/juneau/dto/html5/Source.java | 10 ++-
.../java/org/apache/juneau/dto/html5/Track.java | 10 ++-
.../java/org/apache/juneau/dto/html5/Video.java | 10 ++-
.../apache/juneau/dto/jsonschema/Schema.java | 65 +++++++-----------
.../apache/juneau/dto/jsonschema/SchemaMap.java | 24 +++----
.../apache/juneau/dto/jsonschema/SchemaRef.java | 11 +++-
.../org/apache/juneau/dto/swagger/Contact.java | 25 ++++---
.../dto/swagger/ExternalDocumentation.java | 30 ++++++---
.../org/apache/juneau/dto/swagger/License.java | 30 ++++++---
.../juneau/dto/swagger/SwaggerBuilder.java | 31 ++++++---
.../juneau/html/HtmlDocSerializerContext.java | 25 ++++++-
.../juneau/html/HtmlDocSerializerSession.java | 13 +++-
.../juneau/html/HtmlDocTemplateBasic.java | 3 +
.../org/apache/juneau/internal/StringUtils.java | 66 +++++++++++++++++++
.../juneau/serializer/SerializerContext.java | 4 +-
juneau-core/src/main/javadoc/overview.html | 3 +
.../juneau/examples/rest/RootResources.java | 3 +-
.../java/org/apache/juneau/rest/CallMethod.java | 10 ++-
.../java/org/apache/juneau/rest/RestConfig.java | 27 +++++++-
.../org/apache/juneau/rest/RestContext.java | 18 ++++-
.../apache/juneau/rest/RestParamDefaults.java | 26 ++++++++
.../org/apache/juneau/rest/RestRequest.java | 9 +++
.../org/apache/juneau/rest/RestResponse.java | 21 ++++++
.../apache/juneau/rest/RestServletDefault.java | 5 +-
.../apache/juneau/rest/annotation/HtmlDoc.java | 19 +++++-
.../org/apache/juneau/rest/vars/UrlVar.java | 2 +-
.../rest/widget/ContentTypeLinksWidget.java | 2 +-
.../rest/widget/PoweredByApacheWidget.java | 35 ++++++++++
.../rest/widget/PoweredByJuneauWidget.java | 2 +-
.../org/apache/juneau/rest/htdocs/asf.png | Bin 0 -> 8875 bytes
.../org/apache/juneau/rest/htdocs/juneau.png | Bin 0 -> 6274 bytes
64 files changed, 754 insertions(+), 358 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
----------------------------------------------------------------------
diff --git a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
index ed9fc34..25e5c0a 100644
--- a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
+++ b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
@@ -273,7 +273,7 @@ public class RdfParser extends ReaderParser {
PojoSwap<T,Object> transform = (PojoSwap<T,Object>)eType.getPojoSwap();
ClassMeta<?> sType = eType.getSerializedClassMeta();
session.setCurrentClass(sType);
-
+
if (! sType.canCreateNewInstance(outer)) {
if (n.isResource()) {
Statement st = n.asResource().getProperty(session.getTypeProperty());
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
index 7ac3cde..733d343 100644
--- a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
+++ b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
@@ -21,6 +21,7 @@ import java.util.*;
import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
import org.apache.juneau.http.*;
+import org.apache.juneau.internal.*;
import org.apache.juneau.serializer.*;
import org.apache.juneau.transform.*;
import org.apache.juneau.xml.*;
@@ -261,7 +262,12 @@ public class RdfSerializer extends WriterSerializer {
}
} else if (sType.isUri() || isURI) {
- n = m.createResource(getUri(session, o, null));
+ // Note that RDF URIs must be absolute to be valid!
+ String uri = getUri(session, o, null);
+ if (StringUtils.isAbsoluteUri(uri))
+ n = m.createResource(uri);
+ else
+ n = m.createLiteral(session.encodeTextInvalidChars(uri));
} else if (sType.isCharSequence() || sType.isChar()) {
n = m.createLiteral(session.encodeTextInvalidChars(o));
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core-test/src/test/java/org/apache/juneau/dto/html5/Html5ComboTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/dto/html5/Html5ComboTest.java b/juneau-core-test/src/test/java/org/apache/juneau/dto/html5/Html5ComboTest.java
index 37fa197..62e3c15 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/dto/html5/Html5ComboTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/dto/html5/Html5ComboTest.java
@@ -56,9 +56,9 @@ public class Html5ComboTest extends ComboTest {
/* UrlEncR */ "_type=a\n&a=(\n\thref=http://foo\n)\n&c=@(\n\tbar\n)",
/* MsgPack */ "83A55F74797065A161A16181A468726566AA687474703A2F2F666F6FA16391A3626172",
/* MsgPackT */ "83A174A161A16181A468726566AA687474703A2F2F666F6FA16391A3626172",
- /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:_type>a</jp:_type>\n<jp:a rdf:parseType='Resource'>\n<jp:href>http://foo</jp:href>\n</jp:a>\n<jp:c>\n<rdf:Seq>\n<rdf:li>bar</rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:Description>\n</rdf:RDF>\n",
- /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:t>a</jp:t>\n<jp:a rdf:parseType='Resource'>\n<jp:href>http://foo</jp:href>\n</jp:a>\n<jp:c>\n<rdf:Seq>\n<rdf:li>bar</rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:Description>\n</rdf:RDF>\n",
- /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:_type>a</jp:_type>\n <jp:a rdf:parseType='Resource'>\n <jp:href>http://foo</jp:href>\n </jp:a>\n <jp:c>\n <rdf:Seq>\n <rdf:li>bar</rdf:li>\n </rdf:Seq>\n </jp:c>\n </rdf:Description>\n</rdf:RDF>\n"
+ /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:_type>a</jp:_type>\n<jp:a rdf:parseType='Resource'>\n<jp:href rdf:resource='http://foo'/>\n</jp:a>\n<jp:c>\n<rdf:Seq>\n<rdf:li>bar</rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:Description>\n</rdf:RDF>\n",
+ /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:t>a</jp:t>\n<jp:a rdf:parseType='Resource'>\n<jp:href rdf:resource='http://foo'/>\n</jp:a>\n<jp:c>\n<rdf:Seq>\n<rdf:li>bar</rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:Description>\n</rdf:RDF>\n",
+ /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:_type>a</jp:_type>\n <jp:a rdf:parseType='Resource'>\n <jp:href rdf:resource='http://foo'/>\n </jp:a>\n <jp:c>\n <rdf:Seq>\n <rdf:li>bar</rdf:li>\n </rdf:Seq>\n </jp:c>\n </rdf:Description>\n</rdf:RDF>\n"
)
{
public void verify(A o) {
@@ -89,9 +89,9 @@ public class Html5ComboTest extends ComboTest {
/* UrlEncR */ "_type=a\n&a=(\n\thref=http://foo\n)\n&c=@(\n\tbar,\n\t(\n\t\t_type=b,\n\t\tc=@(\n\t\t\tbbb\n\t\t)\n\t),\n\tbaz\n)",
/* MsgPack */ "83A55F74797065A161A16181A468726566AA687474703A2F2F666F6FA16393A362617282A55F74797065A162A16391A3626262A362617A",
/* MsgPackT */ "83A174A161A16181A468726566AA687474703A2F2F666F6FA16393A362617282A174A162A16391A3626262A362617A",
- /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:_type>a</jp:_type>\n<jp:a rdf:parseType='Resource'>\n<jp:href>http://foo</jp:href>\n</jp:a>\n<jp:c>\n<rdf:Seq>\n<rdf:li>bar</rdf:li>\n<rdf:li rdf:parseType='Resource'>\n<jp:_type>b</jp:_type>\n<jp:c>\n<rdf:Seq>\n<rdf:li>bbb</rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:li>\n<rdf:li>baz</rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:Description>\n</rdf:RDF>\n",
- /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:t>a</jp:t>\n<jp:a rdf:parseType='Resource'>\n<jp:href>http://foo</jp:href>\n</jp:a>\n<jp:c>\n<rdf:Seq>\n<rdf:li>bar</rdf:li>\n<rdf:li rdf:parseType='Resource'>\n<jp:t>b</jp:t>\n<jp:c>\n<rdf:Seq>\n<rdf:li>bbb</rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:li>\n<rdf:li>baz</rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:Description>\n</rdf:RDF>\n",
- /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:_type>a</jp:_type>\n <jp:a rdf:parseType='Resource'>\n <jp:href>http://foo</jp:href>\n </jp:a>\n <jp:c>\n <rdf:Seq>\n <rdf:li>bar</rdf:li>\n <rdf:li rdf:parseType='Resource'>\n <jp:_type>b</jp:_type>\n <jp:c>\n <rdf:Seq>\n <rdf:li>bbb</rdf:li>\n </rdf:Seq>\n </jp:c>\n </rdf:li>\n <rdf:li>baz</rdf:li>\n </rdf:Seq>\n </jp:c>\n </rdf:Description>\n</rdf:RDF>\n"
+ /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:_type>a</jp:_type>\n<jp:a rdf:parseType='Resource'>\n<jp:href rdf:resource='http://foo'/>\n</jp:a>\n<jp:c>\n<rdf:Seq>\n<rdf:li>bar</rdf:li>\n<rdf:li rdf:parseType='Resource'>\n<jp:_type>b</jp:_type>\n<jp:c>\n<rdf:Seq>\n<rdf:li>bbb</rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:li>\n<rdf:li>baz</rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:Description>\n</rdf:RDF>\n",
+ /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:t>a</jp:t>\n<jp:a rdf:parseType='Resource'>\n<jp:href rdf:resource='http://foo'/>\n</jp:a>\n<jp:c>\n<rdf:Seq>\n<rdf:li>bar</rdf:li>\n<rdf:li rdf:parseType='Resource'>\n<jp:t>b</jp:t>\n<jp:c>\n<rdf:Seq>\n<rdf:li>bbb</rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:li>\n<rdf:li>baz</rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:Description>\n</rdf:RDF>\n",
+ /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:_type>a</jp:_type>\n <jp:a rdf:parseType='Resource'>\n <jp:href rdf:resource='http://foo'/>\n </jp:a>\n <jp:c>\n <rdf:Seq>\n <rdf:li>bar</rdf:li>\n <rdf:li rdf:parseType='Resource'>\n <jp:_type>b</jp:_type>\n <jp:c>\n <rdf:Seq>\n <rdf:li>bbb</rdf:li>\n </rdf:Seq>\n </jp:c>\n </rdf:li>\n <rdf:li>baz</rdf:li>\n </rdf:Seq>\n </jp:c>\n </rdf:Description>\n</rdf:RDF>\n"
)
{
public void verify(A o) {
@@ -122,9 +122,9 @@ public class Html5ComboTest extends ComboTest {
/* UrlEncR */ "_type=a\n&a=(\n\thref=http://foo\n)\n&c=@(\n\t''\n)",
/* MsgPack */ "83A55F74797065A161A16181A468726566AA687474703A2F2F666F6FA16391A0",
/* MsgPackT */ "83A174A161A16181A468726566AA687474703A2F2F666F6FA16391A0",
- /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:_type>a</jp:_type>\n<jp:a rdf:parseType='Resource'>\n<jp:href>http://foo</jp:href>\n</jp:a>\n<jp:c>\n<rdf:Seq>\n<rdf:li></rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:Description>\n</rdf:RDF>\n",
- /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:t>a</jp:t>\n<jp:a rdf:parseType='Resource'>\n<jp:href>http://foo</jp:href>\n</jp:a>\n<jp:c>\n<rdf:Seq>\n<rdf:li></rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:Description>\n</rdf:RDF>\n",
- /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:_type>a</jp:_type>\n <jp:a rdf:parseType='Resource'>\n <jp:href>http://foo</jp:href>\n </jp:a>\n <jp:c>\n <rdf:Seq>\n <rdf:li></rdf:li>\n </rdf:Seq>\n </jp:c>\n </rdf:Description>\n</rdf:RDF>\n"
+ /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:_type>a</jp:_type>\n<jp:a rdf:parseType='Resource'>\n<jp:href rdf:resource='http://foo'/>\n</jp:a>\n<jp:c>\n<rdf:Seq>\n<rdf:li></rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:Description>\n</rdf:RDF>\n",
+ /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:t>a</jp:t>\n<jp:a rdf:parseType='Resource'>\n<jp:href rdf:resource='http://foo'/>\n</jp:a>\n<jp:c>\n<rdf:Seq>\n<rdf:li></rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:Description>\n</rdf:RDF>\n",
+ /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:_type>a</jp:_type>\n <jp:a rdf:parseType='Resource'>\n <jp:href rdf:resource='http://foo'/>\n </jp:a>\n <jp:c>\n <rdf:Seq>\n <rdf:li></rdf:li>\n </rdf:Seq>\n </jp:c>\n </rdf:Description>\n</rdf:RDF>\n"
)
{
public void verify(A o) {
@@ -155,9 +155,9 @@ public class Html5ComboTest extends ComboTest {
/* UrlEncR */ "_type=a\n&a=(\n\thref=http://foo\n)\n&c=@(\n\t'+'\n)",
/* MsgPack */ "83A55F74797065A161A16181A468726566AA687474703A2F2F666F6FA16391A120",
/* MsgPackT */ "83A174A161A16181A468726566AA687474703A2F2F666F6FA16391A120",
- /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:_type>a</jp:_type>\n<jp:a rdf:parseType='Resource'>\n<jp:href>http://foo</jp:href>\n</jp:a>\n<jp:c>\n<rdf:Seq>\n<rdf:li>_x0020_</rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:Description>\n</rdf:RDF>\n",
- /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:t>a</jp:t>\n<jp:a rdf:parseType='Resource'>\n<jp:href>http://foo</jp:href>\n</jp:a>\n<jp:c>\n<rdf:Seq>\n<rdf:li>_x0020_</rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:Description>\n</rdf:RDF>\n",
- /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:_type>a</jp:_type>\n <jp:a rdf:parseType='Resource'>\n <jp:href>http://foo</jp:href>\n </jp:a>\n <jp:c>\n <rdf:Seq>\n <rdf:li>_x0020_</rdf:li>\n </rdf:Seq>\n </jp:c>\n </rdf:Description>\n</rdf:RDF>\n"
+ /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:_type>a</jp:_type>\n<jp:a rdf:parseType='Resource'>\n<jp:href rdf:resource='http://foo'/>\n</jp:a>\n<jp:c>\n<rdf:Seq>\n<rdf:li>_x0020_</rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:Description>\n</rdf:RDF>\n",
+ /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:t>a</jp:t>\n<jp:a rdf:parseType='Resource'>\n<jp:href rdf:resource='http://foo'/>\n</jp:a>\n<jp:c>\n<rdf:Seq>\n<rdf:li>_x0020_</rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:Description>\n</rdf:RDF>\n",
+ /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:_type>a</jp:_type>\n <jp:a rdf:parseType='Resource'>\n <jp:href rdf:resource='http://foo'/>\n </jp:a>\n <jp:c>\n <rdf:Seq>\n <rdf:li>_x0020_</rdf:li>\n </rdf:Seq>\n </jp:c>\n </rdf:Description>\n</rdf:RDF>\n"
)
{
public void verify(A o) {
@@ -188,9 +188,9 @@ public class Html5ComboTest extends ComboTest {
/* UrlEncR */ "_type=a\n&a=(\n\thref=http://foo\n)",
/* MsgPack */ "82A55F74797065A161A16181A468726566AA687474703A2F2F666F6F",
/* MsgPackT */ "82A174A161A16181A468726566AA687474703A2F2F666F6F",
- /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:_type>a</jp:_type>\n<jp:a rdf:parseType='Resource'>\n<jp:href>http://foo</jp:href>\n</jp:a>\n</rdf:Description>\n</rdf:RDF>\n",
- /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:t>a</jp:t>\n<jp:a rdf:parseType='Resource'>\n<jp:href>http://foo</jp:href>\n</jp:a>\n</rdf:Description>\n</rdf:RDF>\n",
- /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:_type>a</jp:_type>\n <jp:a rdf:parseType='Resource'>\n <jp:href>http://foo</jp:href>\n </jp:a>\n </rdf:Description>\n</rdf:RDF>\n"
+ /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:_type>a</jp:_type>\n<jp:a rdf:parseType='Resource'>\n<jp:href rdf:resource='http://foo'/>\n</jp:a>\n</rdf:Description>\n</rdf:RDF>\n",
+ /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:t>a</jp:t>\n<jp:a rdf:parseType='Resource'>\n<jp:href rdf:resource='http://foo'/>\n</jp:a>\n</rdf:Description>\n</rdf:RDF>\n",
+ /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:_type>a</jp:_type>\n <jp:a rdf:parseType='Resource'>\n <jp:href rdf:resource='http://foo'/>\n </jp:a>\n </rdf:Description>\n</rdf:RDF>\n"
)
{
public void verify(A o) {
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/6dccf603/juneau-core-test/src/test/java/org/apache/juneau/dto/html5/Html5TemplateComboTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/dto/html5/Html5TemplateComboTest.java b/juneau-core-test/src/test/java/org/apache/juneau/dto/html5/Html5TemplateComboTest.java
index 4a39c33..65e4dcb 100644
--- a/juneau-core-test/src/test/java/org/apache/juneau/dto/html5/Html5TemplateComboTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/dto/html5/Html5TemplateComboTest.java
@@ -37,28 +37,28 @@ public class Html5TemplateComboTest extends ComboTest {
new ComboInput<FormTemplate>(
"FormTemplate-1",
FormTemplate.class,
- new FormTemplate("myaction", 123, true),
- /* Json */ "{a:{action:'myaction'},c:[{_type:'input',a:{type:'text',name:'v1',value:123}},{_type:'input',a:{type:'text',name:'v2',value:true}}]}",
- /* JsonT */ "{a:{action:'myaction'},c:[{t:'input',a:{type:'text',name:'v1',value:123}},{t:'input',a:{type:'text',name:'v2',value:true}}]}",
- /* JsonR */ "{\n\ta: {\n\t\taction: 'myaction'\n\t},\n\tc: [\n\t\t{\n\t\t\t_type: 'input',\n\t\t\ta: {\n\t\t\t\ttype: 'text',\n\t\t\t\tname: 'v1',\n\t\t\t\tvalue: 123\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t_type: 'input',\n\t\t\ta: {\n\t\t\t\ttype: 'text',\n\t\t\t\tname: 'v2',\n\t\t\t\tvalue: true\n\t\t\t}\n\t\t}\n\t]\n}",
- /* Xml */ "<form action='myaction'><input type='text' name='v1' value='123'/><input type='text' name='v2' value='true'/></form>",
- /* XmlT */ "<form action='myaction'><input type='text' name='v1' value='123'/><input type='text' name='v2' value='true'/></form>",
- /* XmlR */ "<form action='myaction'><input type='text' name='v1' value='123'/><input type='text' name='v2' value='true'/></form>\n",
- /* XmlNs */ "<form action='myaction'><input type='text' name='v1' value='123'/><input type='text' name='v2' value='true'/></form>",
- /* Html */ "<form action='myaction'><input type='text' name='v1' value='123'/><input type='text' name='v2' value='true'/></form>",
- /* HtmlT */ "<form action='myaction'><input type='text' name='v1' value='123'/><input type='text' name='v2' value='true'/></form>",
- /* HtmlR */ "<form action='myaction'><input type='text' name='v1' value='123'/><input type='text' name='v2' value='true'/></form>\n",
- /* Uon */ "(a=(action=myaction),c=@((_type=input,a=(type=text,name=v1,value=123)),(_type=input,a=(type=text,name=v2,value=true))))",
- /* UonT */ "(a=(action=myaction),c=@((t=input,a=(type=text,name=v1,value=123)),(t=input,a=(type=text,name=v2,value=true))))",
- /* UonR */ "(\n\ta=(\n\t\taction=myaction\n\t),\n\tc=@(\n\t\t(\n\t\t\t_type=input,\n\t\t\ta=(\n\t\t\t\ttype=text,\n\t\t\t\tname=v1,\n\t\t\t\tvalue=123\n\t\t\t)\n\t\t),\n\t\t(\n\t\t\t_type=input,\n\t\t\ta=(\n\t\t\t\ttype=text,\n\t\t\t\tname=v2,\n\t\t\t\tvalue=true\n\t\t\t)\n\t\t)\n\t)\n)",
- /* UrlEnc */ "a=(action=myaction)&c=@((_type=input,a=(type=text,name=v1,value=123)),(_type=input,a=(type=text,name=v2,value=true)))",
- /* UrlEncT */ "a=(action=myaction)&c=@((t=input,a=(type=text,name=v1,value=123)),(t=input,a=(type=text,name=v2,value=true)))",
- /* UrlEncR */ "a=(\n\taction=myaction\n)\n&c=@(\n\t(\n\t\t_type=input,\n\t\ta=(\n\t\t\ttype=text,\n\t\t\tname=v1,\n\t\t\tvalue=123\n\t\t)\n\t),\n\t(\n\t\t_type=input,\n\t\ta=(\n\t\t\ttype=text,\n\t\t\tname=v2,\n\t\t\tvalue=true\n\t\t)\n\t)\n)",
- /* MsgPack */ "82A16181A6616374696F6EA86D79616374696F6EA1639282A55F74797065A5696E707574A16183A474797065A474657874A46E616D65A27631A576616C75657B82A55F74797065A5696E707574A16183A474797065A474657874A46E616D65A27632A576616C7565C3",
- /* MsgPackT */ "82A16181A6616374696F6EA86D79616374696F6EA1639282A174A5696E707574A16183A474797065A474657874A46E616D65A27631A576616C75657B82A174A5696E707574A16183A474797065A474657874A46E616D65A27632A576616C7565C3",
- /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:a rdf:parseType='Resource'>\n<jp:action>myaction</jp:action>\n</jp:a>\n<jp:c>\n<rdf:Seq>\n<rdf:li rdf:parseType='Resource'>\n<jp:_type>input</jp:_type>\n<jp:a rdf:parseType='Resource'>\n<jp:type>text</jp:type>\n<jp:name>v1</jp:name>\n<jp:value>123</jp:value>\n</jp:a>\n</rdf:li>\n<rdf:li rdf:parseType='Resource'>\n<jp:_type>input</jp:_type>\n<jp:a rdf:parseType='Resource'>\n<jp:type>text</jp:type>\n<jp:name>v2</jp:name>\n<jp:value>true</jp:value>\n</jp:a>\n</rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:Description>\n</rdf:RDF>\n",
- /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:a rdf:parseType='Resource'>\n<jp:action>myaction</jp:action>\n</jp:a>\n<jp:c>\n<rdf:Seq>\n<rdf:li rdf:parseType='Resource'>\n<jp:t>input</jp:t>\n<jp:a rdf:parseType='Resource'>\n<jp:type>text</jp:type>\n<jp:name>v1</jp:name>\n<jp:value>123</jp:value>\n</jp:a>\n</rdf:li>\n<rdf:li rdf:parseType='Resource'>\n<jp:t>input</jp:t>\n<jp:a rdf:parseType='Resource'>\n<jp:type>text</jp:type>\n<jp:name>v2</jp:name>\n<jp:value>true</jp:value>\n</jp:a>\n</rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:Description>\n</rdf:RDF>\n",
- /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:a rdf:parseType='Resource'>\n <jp:action>myaction</jp:action>\n </jp:a>\n <jp:c>\n <rdf:Seq>\n <rdf:li rdf:parseType='Resource'>\n <jp:_type>input</jp:_type>\n <jp:a rdf:parseType='Resource'>\n <jp:type>text</jp:type>\n <jp:name>v1</jp:name>\n <jp:value>123</jp:value>\n </jp:a>\n </rdf:li>\n <rdf:li rdf:parseType='Resource'>\n <jp:_type>input</jp:_type>\n <jp:a rdf:parseType='Resource'>\n <jp:type>text</jp:type>\n <jp:name>v2</jp:name>\n <jp:value>true</jp:value>\n </jp:a>\n </rdf:li>\n </rdf:Seq>\n </jp:c>\n </rdf:Description>\n</rdf:RDF>\n"
+ new FormTemplate("http://myaction", 123, true),
+ /* Json */ "{a:{action:'http://myaction'},c:[{_type:'input',a:{type:'text',name:'v1',value:123}},{_type:'input',a:{type:'text',name:'v2',value:true}}]}",
+ /* JsonT */ "{a:{action:'http://myaction'},c:[{t:'input',a:{type:'text',name:'v1',value:123}},{t:'input',a:{type:'text',name:'v2',value:true}}]}",
+ /* JsonR */ "{\n\ta: {\n\t\taction: 'http://myaction'\n\t},\n\tc: [\n\t\t{\n\t\t\t_type: 'input',\n\t\t\ta: {\n\t\t\t\ttype: 'text',\n\t\t\t\tname: 'v1',\n\t\t\t\tvalue: 123\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t_type: 'input',\n\t\t\ta: {\n\t\t\t\ttype: 'text',\n\t\t\t\tname: 'v2',\n\t\t\t\tvalue: true\n\t\t\t}\n\t\t}\n\t]\n}",
+ /* Xml */ "<form action='http://myaction'><input type='text' name='v1' value='123'/><input type='text' name='v2' value='true'/></form>",
+ /* XmlT */ "<form action='http://myaction'><input type='text' name='v1' value='123'/><input type='text' name='v2' value='true'/></form>",
+ /* XmlR */ "<form action='http://myaction'><input type='text' name='v1' value='123'/><input type='text' name='v2' value='true'/></form>\n",
+ /* XmlNs */ "<form action='http://myaction'><input type='text' name='v1' value='123'/><input type='text' name='v2' value='true'/></form>",
+ /* Html */ "<form action='http://myaction'><input type='text' name='v1' value='123'/><input type='text' name='v2' value='true'/></form>",
+ /* HtmlT */ "<form action='http://myaction'><input type='text' name='v1' value='123'/><input type='text' name='v2' value='true'/></form>",
+ /* HtmlR */ "<form action='http://myaction'><input type='text' name='v1' value='123'/><input type='text' name='v2' value='true'/></form>\n",
+ /* Uon */ "(a=(action=http://myaction),c=@((_type=input,a=(type=text,name=v1,value=123)),(_type=input,a=(type=text,name=v2,value=true))))",
+ /* UonT */ "(a=(action=http://myaction),c=@((t=input,a=(type=text,name=v1,value=123)),(t=input,a=(type=text,name=v2,value=true))))",
+ /* UonR */ "(\n\ta=(\n\t\taction=http://myaction\n\t),\n\tc=@(\n\t\t(\n\t\t\t_type=input,\n\t\t\ta=(\n\t\t\t\ttype=text,\n\t\t\t\tname=v1,\n\t\t\t\tvalue=123\n\t\t\t)\n\t\t),\n\t\t(\n\t\t\t_type=input,\n\t\t\ta=(\n\t\t\t\ttype=text,\n\t\t\t\tname=v2,\n\t\t\t\tvalue=true\n\t\t\t)\n\t\t)\n\t)\n)",
+ /* UrlEnc */ "a=(action=http://myaction)&c=@((_type=input,a=(type=text,name=v1,value=123)),(_type=input,a=(type=text,name=v2,value=true)))",
+ /* UrlEncT */ "a=(action=http://myaction)&c=@((t=input,a=(type=text,name=v1,value=123)),(t=input,a=(type=text,name=v2,value=true)))",
+ /* UrlEncR */ "a=(\n\taction=http://myaction\n)\n&c=@(\n\t(\n\t\t_type=input,\n\t\ta=(\n\t\t\ttype=text,\n\t\t\tname=v1,\n\t\t\tvalue=123\n\t\t)\n\t),\n\t(\n\t\t_type=input,\n\t\ta=(\n\t\t\ttype=text,\n\t\t\tname=v2,\n\t\t\tvalue=true\n\t\t)\n\t)\n)",
+ /* MsgPack */ "82A16181A6616374696F6EAF687474703A2F2F6D79616374696F6EA1639282A55F74797065A5696E707574A16183A474797065A474657874A46E616D65A27631A576616C75657B82A55F74797065A5696E707574A16183A474797065A474657874A46E616D65A27632A576616C7565C3",
+ /* MsgPackT */ "82A16181A6616374696F6EAF687474703A2F2F6D79616374696F6EA1639282A174A5696E707574A16183A474797065A474657874A46E616D65A27631A576616C75657B82A174A5696E707574A16183A474797065A474657874A46E616D65A27632A576616C7565C3",
+ /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:a rdf:parseType='Resource'>\n<jp:action rdf:resource='http://myaction'/>\n</jp:a>\n<jp:c>\n<rdf:Seq>\n<rdf:li rdf:parseType='Resource'>\n<jp:_type>input</jp:_type>\n<jp:a rdf:parseType='Resource'>\n<jp:type>text</jp:type>\n<jp:name>v1</jp:name>\n<jp:value>123</jp:value>\n</jp:a>\n</rdf:li>\n<rdf:li rdf:parseType='Resource'>\n<jp:_type>input</jp:_type>\n<jp:a rdf:parseType='Resource'>\n<jp:type>text</jp:type>\n<jp:name>v2</jp:name>\n<jp:value>true</jp:value>\n</jp:a>\n</rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:Description>\n</rdf:RDF>\n",
+ /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:a rdf:parseType='Resource'>\n<jp:action rdf:resource='http://myaction'/>\n</jp:a>\n<jp:c>\n<rdf:Seq>\n<rdf:li rdf:parseType='Resource'>\n<jp:t>input</jp:t>\n<jp:a rdf:parseType='Resource'>\n<jp:type>text</jp:type>\n<jp:name>v1</jp:name>\n<jp:value>123</jp:value>\n</jp:a>\n</rdf:li>\n<rdf:li rdf:parseType='Resource'>\n<jp:t>input</jp:t>\n<jp:a rdf:parseType='Resource'>\n<jp:type>text</jp:type>\n<jp:name>v2</jp:name>\n<jp:value>true</jp:value>\n</jp:a>\n</rdf:li>\n</rdf:Seq>\n</jp:c>\n</rdf:Description>\n</rdf:RDF>\n",
+ /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:a rdf:parseType='Resource'>\n <jp:action rdf:resource='http://myaction'/>\n </jp:a>\n <jp:c>\n <rdf:Seq>\n <rdf:li rdf:parseType='Resource'>\n <jp:_type>input</jp:_type>\n <jp:a rdf:parseType='Resource'>\n <jp:type>text</jp:type>\n <jp:name>v1</jp:name>\n <jp:value>123</jp:value>\n </jp:a>\n </rdf:li>\n <rdf:li rdf:parseType='Resource'>\n <jp:_type>input</jp:_type>\n <jp:a rdf:parseType='Resource'>\n <jp:type>text</jp:type>\n <jp:name>v2</jp:name>\n <jp:value>true</jp:value>\n </jp:a>\n </rdf:li>\n </rdf:Seq>\n </jp:c>\n </rdf:Description>\n</rdf:RDF>\n"
)
{
public void verify(FormTemplate o) {