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/09/08 23:21:18 UTC
svn commit: r21538 [13/27] - in /release/incubator/juneau:
juneau-microservice-server/ juneau-microservice-server/.settings/
juneau-microservice-server/src/ juneau-microservice-server/src/main/
juneau-microservice-server/src/main/java/ juneau-microserv...
Added: release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/ImplicitSwappedPojo.java
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/ImplicitSwappedPojo.java (added)
+++ release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/ImplicitSwappedPojo.java Fri Sep 8 23:21:12 2017
@@ -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.test.pojos;
+
+import static org.apache.juneau.rest.test.pojos.Constants.*;
+
+import org.apache.juneau.annotation.*;
+
+@BeanIgnore
+public class ImplicitSwappedPojo {
+ public boolean wasUnswapped;
+
+ @Override
+ public String toString() {
+ return SWAP;
+ }
+
+ public ImplicitSwappedPojo() {}
+
+
+ public ImplicitSwappedPojo(String fromString) {
+ if (fromString.equals(SWAP))
+ wasUnswapped = true;
+ }
+}
\ No newline at end of file
Propchange: release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/ImplicitSwappedPojo.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/SwappedPojo.java
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/SwappedPojo.java (added)
+++ release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/SwappedPojo.java Fri Sep 8 23:21:12 2017
@@ -0,0 +1,20 @@
+// ***************************************************************************************************************************
+// * 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.test.pojos;
+
+import org.apache.juneau.annotation.*;
+
+@Swap(SwappedPojoSwap.class)
+public class SwappedPojo {
+ public boolean wasUnswapped;
+}
\ No newline at end of file
Propchange: release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/SwappedPojo.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/SwappedPojoSwap.java
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/SwappedPojoSwap.java (added)
+++ release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/SwappedPojoSwap.java Fri Sep 8 23:21:12 2017
@@ -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.test.pojos;
+
+import static org.apache.juneau.rest.test.pojos.Constants.*;
+
+import org.apache.juneau.*;
+import org.apache.juneau.parser.*;
+import org.apache.juneau.serializer.*;
+import org.apache.juneau.transform.*;
+
+public class SwappedPojoSwap extends PojoSwap<SwappedPojo,String> {
+ @Override
+ public String swap(BeanSession session, SwappedPojo c) throws SerializeException {
+ return SWAP;
+ }
+
+ @Override
+ public SwappedPojo unswap(BeanSession session, String f, ClassMeta<?> hint) throws ParseException {
+ SwappedPojo c = new SwappedPojo();
+ if (f.equals(SWAP))
+ c.wasUnswapped = true;
+ return c;
+ }
+}
\ No newline at end of file
Propchange: release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/SwappedPojoSwap.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/TestEnum.java
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/TestEnum.java (added)
+++ release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/TestEnum.java Fri Sep 8 23:21:12 2017
@@ -0,0 +1,17 @@
+// ***************************************************************************************************************************
+// * 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.test.pojos;
+
+public enum TestEnum {
+ ONE,TWO,THREE
+}
\ No newline at end of file
Propchange: release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/TestEnum.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/TypedBean.java
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/TypedBean.java (added)
+++ release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/TypedBean.java Fri Sep 8 23:21:12 2017
@@ -0,0 +1,17 @@
+// ***************************************************************************************************************************
+// * 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.test.pojos;
+
+@org.apache.juneau.annotation.Bean(beanDictionary={TypedBeanImpl.class})
+public interface TypedBean {
+}
\ No newline at end of file
Propchange: release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/TypedBean.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/TypedBeanImpl.java
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/TypedBeanImpl.java (added)
+++ release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/TypedBeanImpl.java Fri Sep 8 23:21:12 2017
@@ -0,0 +1,25 @@
+// ***************************************************************************************************************************
+// * 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.test.pojos;
+
+@org.apache.juneau.annotation.Bean(typeName="TypedBeanImpl", sort=true)
+public class TypedBeanImpl implements TypedBean {
+ public int a;
+ public String b;
+
+ public TypedBeanImpl init() {
+ this.a = 1;
+ this.b = "foo";
+ return this;
+ }
+}
\ No newline at end of file
Propchange: release/incubator/juneau/juneau-microservice-test/src/main/java/org/apache/juneau/rest/test/pojos/TypedBeanImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/HtmlPropertiesResource.properties
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/HtmlPropertiesResource.properties (added)
+++ release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/HtmlPropertiesResource.properties Fri Sep 8 23:21:12 2017
@@ -0,0 +1,31 @@
+# ***************************************************************************************************************************
+# * 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. *
+# * *
+# ***************************************************************************************************************************
+
+LocalizedExplicit.pageTitle = LocalizedExplicit.nls.pageTitle
+LocalizedExplicit.pageText = LocalizedExplicit.nls.pageText
+
+LocalizedExplicit.test2.pageTitle = LocalizedExplicit.test2.nls.pageTitle
+LocalizedExplicit.test2.pageText = LocalizedExplicit.test2.nls.pageText
+
+LocalizedExplicit.test3.pageTitle = LocalizedExplicit.test3.nls.pageTitle
+LocalizedExplicit.test3.pageText = LocalizedExplicit.test3.nls.pageText
+
+LocalizedExplicit.test4.pageTitle = LocalizedExplicit.test4.nls.pageTitle
+LocalizedExplicit.test4.pageText = LocalizedExplicit.test4.nls.pageText
+
+LocalizedImplicit.pageTitle = LocalizedImplicit.nls.pageTitle
+LocalizedImplicit.pageText = LocalizedImplicit.nls.pageText
+
+LocalizedImplicit.test2.pageTitle = LocalizedImplicit.test2.nls.pageTitle
+LocalizedImplicit.test2.pageText = LocalizedImplicit.test2.nls.pageText
Propchange: release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/HtmlPropertiesResource.properties
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/Messages2Resource.properties
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/Messages2Resource.properties (added)
+++ release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/Messages2Resource.properties Fri Sep 8 23:21:12 2017
@@ -0,0 +1,16 @@
+# ***************************************************************************************************************************
+# * 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. *
+# * *
+# ***************************************************************************************************************************
+
+key2 = value2b
+key3 = value3b
\ No newline at end of file
Propchange: release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/Messages2Resource.properties
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/MessagesResource.properties
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/MessagesResource.properties (added)
+++ release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/MessagesResource.properties Fri Sep 8 23:21:12 2017
@@ -0,0 +1,16 @@
+# ***************************************************************************************************************************
+# * 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. *
+# * *
+# ***************************************************************************************************************************
+
+key1 = value1a
+key2 = value2a
\ No newline at end of file
Propchange: release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/MessagesResource.properties
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/NlsPropertyResource.properties
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/NlsPropertyResource.properties (added)
+++ release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/NlsPropertyResource.properties Fri Sep 8 23:21:12 2017
@@ -0,0 +1,16 @@
+# ***************************************************************************************************************************
+# * 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. *
+# * *
+# ***************************************************************************************************************************
+
+key1 = value1
+key2 = value2
\ No newline at end of file
Propchange: release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/NlsPropertyResource.properties
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/NlsResource.properties
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/NlsResource.properties (added)
+++ release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/NlsResource.properties Fri Sep 8 23:21:12 2017
@@ -0,0 +1,71 @@
+# ***************************************************************************************************************************
+# * 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. *
+# * *
+# ***************************************************************************************************************************
+
+title = Test2.a
+description = Test2.b
+test2.summary = Test2.c
+test2.req.path.a.description = Test2.d
+test2.req.query.b.description = Test2.e
+test2.req.body.description = Test2.f
+test2.req.header.D.description = Test2.g
+test2.req.path.a2.description = Test2.h
+test2.req.query.b2.description = Test2.i
+test2.req.header.D2.description = Test2.j
+test2.res.200.description = OK2
+test2.res.201.description = Test2.l
+
+Test3.title = Test3.a
+Test3.description = Test3.b
+Test3.test3.summary = Test3.c
+Test3.test3.req.path.a.description = Test3.d
+Test3.test3.req.query.b.description = Test3.e
+Test3.test3.req.body.description = Test3.f
+Test3.test3.req.header.D.description = Test3.g
+Test3.test3.req.path.a2.description = Test3.h
+Test3.test3.req.query.b2.description = Test3.i
+Test3.test3.req.header.D2.description = Test3.j
+Test3.test3.res.200.description = OK3
+Test3.test3.res.201.description = Test3.l
+
+Test4.title = $L{foo}
+Test4.description = $L{foo}
+Test4.test4.summary = $L{foo}
+Test4.test4.req.path.a.description = $L{foo}
+Test4.test4.req.query.b.description = $L{foo}
+Test4.test4.req.body.description = $L{foo}
+Test4.test4.req.header.D.description = $L{foo}
+Test4.test4.req.path.a2.description = $L{foo}
+Test4.test4.req.query.b2.description = $L{foo}
+Test4.test4.req.header.D2.description = $L{foo}
+Test4.test4.res.200.description = foo$L{foo}foo$L{foo}foo
+Test4.test4.res.201.description = $L{foo}
+
+foo = $L{bar}
+bar = baz
+
+Test5.title = $L{foo2}
+Test5.description = $R{servletTitle}
+Test5.test5.summary = $R{servletTitle}
+Test5.test5.req.path.a.description = $R{servletTitle}
+Test5.test5.req.query.b.description = $R{servletTitle}
+Test5.test5.req.body.description = $R{servletTitle}
+Test5.test5.req.header.D.description = $R{servletTitle}
+Test5.test5.req.path.a2.description = $R{servletTitle}
+Test5.test5.req.query.b2.description = $R{servletTitle}
+Test5.test5.req.header.D2.description = $R{servletTitle}
+Test5.test5.res.200.description = foo$R{servletTitle}foo$R{servletTitle}foo
+Test5.test5.res.201.description = $R{servletTitle}
+Test5.foo2 = $L{bar2}
+Test5.bar2 = baz2
+
Propchange: release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/NlsResource.properties
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/ParamsResource.properties
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/ParamsResource.properties (added)
+++ release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/ParamsResource.properties Fri Sep 8 23:21:12 2017
@@ -0,0 +1,15 @@
+# ***************************************************************************************************************************
+# * 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. *
+# * *
+# ***************************************************************************************************************************
+
+foo = bar
\ No newline at end of file
Propchange: release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/ParamsResource.properties
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/ParamsResource_ja_JP.properties
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/ParamsResource_ja_JP.properties (added)
+++ release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/ParamsResource_ja_JP.properties Fri Sep 8 23:21:12 2017
@@ -0,0 +1,15 @@
+# ***************************************************************************************************************************
+# * 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. *
+# * *
+# ***************************************************************************************************************************
+
+foo = baz
\ No newline at end of file
Propchange: release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/ParamsResource_ja_JP.properties
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/xdocs/test.txt
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/xdocs/test.txt (added)
+++ release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/xdocs/test.txt Fri Sep 8 23:21:12 2017
@@ -0,0 +1,13 @@
+ ***************************************************************************************************************************
+ * 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. *
+ ***************************************************************************************************************************
+ OK-1
\ No newline at end of file
Propchange: release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/xdocs/test.txt
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/xdocs/xdocs/test.txt
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/xdocs/xdocs/test.txt (added)
+++ release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/xdocs/xdocs/test.txt Fri Sep 8 23:21:12 2017
@@ -0,0 +1,13 @@
+ ***************************************************************************************************************************
+ * 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. *
+ ***************************************************************************************************************************
+ OK-2
\ No newline at end of file
Propchange: release/incubator/juneau/juneau-microservice-test/src/main/resources/org/apache/juneau/rest/test/xdocs/xdocs/test.txt
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/AcceptCharsetTest.java
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/AcceptCharsetTest.java (added)
+++ release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/AcceptCharsetTest.java Fri Sep 8 23:21:12 2017
@@ -0,0 +1,125 @@
+// ***************************************************************************************************************************
+// * 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.test;
+
+import static javax.servlet.http.HttpServletResponse.*;
+import static org.apache.juneau.internal.IOUtils.*;
+import static org.apache.juneau.rest.test.TestUtils.*;
+import static org.junit.Assert.*;
+
+import java.io.*;
+
+import org.apache.juneau.rest.client.*;
+import org.junit.*;
+
+public class AcceptCharsetTest extends RestTestcase {
+
+ boolean debug = false;
+
+ //====================================================================================================
+ // Test that Q-values are being resolved correctly.
+ //====================================================================================================
+ @Test
+ public void testQValues() throws Exception {
+ RestClient client = TestMicroservice.DEFAULT_CLIENT_PLAINTEXT;
+
+ check1(client, "utf-8", "utf-8");
+ check1(client, "iso-8859-1", "iso-8859-1");
+ check1(client, "bad,utf-8", "utf-8");
+ check1(client, "utf-8,bad", "utf-8");
+ check1(client, "bad;q=0.9,utf-8;q=0.1", "utf-8");
+ check1(client, "bad;q=0.1,utf-8;q=0.9", "utf-8");
+// check1(client, "utf-8,iso-8859-1", "utf-8");
+// check1(client, "iso-8859-1,utf-8", "utf-8");
+ check1(client, "utf-8;q=0.9,iso-8859-1;q=0.1", "utf-8");
+ check1(client, "utf-8;q=0.1,iso-8859-1;q=0.9", "iso-8859-1");
+ check1(client, "*", "utf-8");
+ check1(client, "bad,iso-8859-1;q=0.5,*;q=0.1", "iso-8859-1");
+ check1(client, "bad,iso-8859-1;q=0.1,*;q=0.5", "utf-8");
+ }
+
+ private void check1(RestClient client, String requestCharset, String responseCharset) throws Exception {
+ RestCall r;
+ debug=true;
+ InputStream is;
+ String url = "/testAcceptCharset/testQValues";
+ r = client.doGet(url).acceptCharset(requestCharset).connect();
+
+ if (! r.getResponse().getFirstHeader("Content-Type").getValue().toLowerCase().contains(responseCharset))
+ System.err.println("Expected '"+responseCharset+"', actual '"+r.getResponse().getFirstHeader("Content-Type").getValue().toLowerCase()+"'");
+ assertTrue(r.getResponse().getFirstHeader("Content-Type").getValue().toLowerCase().contains(responseCharset));
+ is = r.getInputStream();
+ assertEquals("foo", read(new InputStreamReader(is, responseCharset)));
+ }
+
+ //====================================================================================================
+ // Validate various Accept-Charset variations.
+ //====================================================================================================
+ @Test
+ public void testCharsetOnResponse() throws Exception {
+ RestClient client = TestMicroservice.DEFAULT_CLIENT_PLAINTEXT;
+ String url = "/testAcceptCharset/testCharsetOnResponse";
+ String r;
+
+ r = client.doPut(url, new StringReader("")).getResponseAsString();
+ assertEquals("utf-8/utf-8", r.toLowerCase());
+
+ r = client.doPut(url, new StringReader("")).acceptCharset("Shift_JIS").getResponseAsString();
+ assertEquals("utf-8/shift_jis", r.toLowerCase());
+
+ try {
+ r = client.doPut(url+"?noTrace=true", new StringReader("")).acceptCharset("BAD").getResponseAsString();
+ fail("Exception expected");
+ } catch (RestCallException e) {
+ checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE, "No supported charsets in header 'Accept-Charset': 'BAD'");
+ }
+
+ r = client.doPut(url, new StringReader("")).acceptCharset("UTF-8").getResponseAsString();
+ assertEquals("utf-8/utf-8", r.toLowerCase());
+
+ r = client.doPut(url, new StringReader("")).acceptCharset("bad,iso-8859-1").getResponseAsString();
+ assertEquals("utf-8/iso-8859-1", r.toLowerCase());
+
+ r = client.doPut(url, new StringReader("")).acceptCharset("bad;q=0.9,iso-8859-1;q=0.1").getResponseAsString();
+ assertEquals("utf-8/iso-8859-1", r.toLowerCase());
+
+ r = client.doPut(url, new StringReader("")).acceptCharset("bad;q=0.1,iso-8859-1;q=0.9").getResponseAsString();
+ assertEquals("utf-8/iso-8859-1", r.toLowerCase());
+
+ client = TestMicroservice.client().accept("text/plain").contentType("text/plain").acceptCharset("utf-8").build();
+
+ r = client.doPut(url, new StringReader("")).contentType("text/plain").getResponseAsString();
+ assertEquals("utf-8/utf-8", r.toLowerCase());
+
+ r = client.doPut(url, new StringReader("")).contentType("text/plain;charset=utf-8").getResponseAsString();
+ assertEquals("utf-8/utf-8", r.toLowerCase());
+
+ r = client.doPut(url, new StringReader("")).contentType("text/plain;charset=UTF-8").getResponseAsString();
+ assertEquals("utf-8/utf-8", r.toLowerCase());
+
+ r = client.doPut(url, new StringReader("")).contentType("text/plain;charset=iso-8859-1").getResponseAsString();
+ assertEquals("iso-8859-1/utf-8", r.toLowerCase());
+
+ r = client.doPut(url, new StringReader("")).contentType("text/plain;charset=Shift_JIS").getResponseAsString();
+ assertEquals("shift_jis/utf-8", r.toLowerCase());
+
+ try {
+ r = client.doPut(url + "?noTrace=true&Content-Type=text/plain;charset=BAD", new StringReader("")).getResponseAsString();
+ fail("Exception expected");
+ } catch (RestCallException e) {
+ checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE, "Unsupported charset in header 'Content-Type': 'text/plain;charset=BAD'");
+ }
+
+ client.closeQuietly();
+ }
+}
\ No newline at end of file
Propchange: release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/AcceptCharsetTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/BeanContextPropertiesTest.java
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/BeanContextPropertiesTest.java (added)
+++ release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/BeanContextPropertiesTest.java Fri Sep 8 23:21:12 2017
@@ -0,0 +1,34 @@
+// ***************************************************************************************************************************
+// * 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.test;
+
+import static org.junit.Assert.*;
+
+import org.apache.juneau.rest.client.*;
+import org.junit.*;
+
+public class BeanContextPropertiesTest extends RestTestcase {
+
+ boolean debug = false;
+
+ //====================================================================================================
+ // Validate that filters defined on class filter to underlying bean context.
+ //====================================================================================================
+ @Test
+ public void testClassTransforms() throws Exception {
+ RestClient client = TestMicroservice.DEFAULT_CLIENT;
+ String r;
+ r = client.doGet("/testBeanContext/testClassTransforms/2001-07-04T15:30:45Z?d2=2001-07-05T15:30:45Z").header("X-D3", "2001-07-06T15:30:45Z").getResponseAsString();
+ assertEquals("d1=2001-07-04T15:30:45Z,d2=2001-07-05T15:30:45Z,d3=2001-07-06T15:30:45Z", r);
+ }
+}
\ No newline at end of file
Propchange: release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/BeanContextPropertiesTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/BpiTest.java
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/BpiTest.java (added)
+++ release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/BpiTest.java Fri Sep 8 23:21:12 2017
@@ -0,0 +1,253 @@
+// ***************************************************************************************************************************
+// * 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.test;
+
+import static org.junit.Assert.*;
+
+import java.util.*;
+
+import org.apache.juneau.*;
+import org.apache.juneau.msgpack.*;
+import org.apache.juneau.rest.client.*;
+import org.junit.*;
+import org.junit.runner.*;
+import org.junit.runners.*;
+
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+@RunWith(Parameterized.class)
+public class BpiTest extends RestTestcase {
+
+ @Parameterized.Parameters
+ public static Collection<Object[]> getParameters() {
+ return Arrays.asList(new Object[][] {
+ { /* 0 */
+ "a1",
+ "{a:1,_b:'foo'}",
+ "<?xml version='1.0' encoding='UTF-8'?><object><a>1</a><_b>foo</_b></object>",
+ "<table><tr><td>a</td><td>1</td></tr><tr><td>_b</td><td>foo</td></tr></table>",
+ "(a=1,_b=foo)",
+ "a=1&_b=foo",
+ "{a:1,_b:'foo'}",
+ "<rdf:RDF>\n<rdf:Description>\n<jp:a>1</jp:a>\n<jp:_b>foo</jp:_b>\n</rdf:Description>\n</rdf:RDF>"
+ },
+ { /* 1 */
+ "a2",
+ "{a:1}",
+ "<?xml version='1.0' encoding='UTF-8'?><object><a>1</a></object>",
+ "<table><tr><td>a</td><td>1</td></tr></table>",
+ "(a=1)",
+ "a=1",
+ "{a:1}",
+ "<rdf:RDF>\n<rdf:Description>\n<jp:a>1</jp:a>\n</rdf:Description>\n</rdf:RDF>"
+ },
+ { /* 2 */
+ "a3",
+ "{_b:'foo'}",
+ "<?xml version='1.0' encoding='UTF-8'?><object><_b>foo</_b></object>",
+ "<table><tr><td>_b</td><td>foo</td></tr></table>",
+ "(_b=foo)",
+ "_b=foo",
+ "{_b:'foo'}",
+ "<rdf:RDF>\n<rdf:Description>\n<jp:_b>foo</jp:_b>\n</rdf:Description>\n</rdf:RDF>"
+ },
+ { /* 3 */
+ "a4",
+ "{_b:'foo'}",
+ "<?xml version='1.0' encoding='UTF-8'?><object><_b>foo</_b></object>",
+ "<table><tr><td>_b</td><td>foo</td></tr></table>",
+ "(_b=foo)",
+ "_b=foo",
+ "{_b:'foo'}",
+ "<rdf:RDF>\n<rdf:Description>\n<jp:_b>foo</jp:_b>\n</rdf:Description>\n</rdf:RDF>"
+ },
+ { /* 4 */
+ "a5",
+ "{a:1}",
+ "<?xml version='1.0' encoding='UTF-8'?><object><a>1</a></object>",
+ "<table><tr><td>a</td><td>1</td></tr></table>",
+ "(a=1)",
+ "a=1",
+ "{a:1}",
+ "<rdf:RDF>\n<rdf:Description>\n<jp:a>1</jp:a>\n</rdf:Description>\n</rdf:RDF>"
+ },
+ { /* 5 */
+ "a6",
+ "{}",
+ "<?xml version='1.0' encoding='UTF-8'?><object/>",
+ "<table></table>",
+ "()",
+ "",
+ "{}",
+ "<rdf:RDF>\n</rdf:RDF>"
+ },
+ { /* 6 */
+ "b1",
+ "{_b:'foo',a:1}",
+ "<?xml version='1.0' encoding='UTF-8'?><object><_b>foo</_b><a>1</a></object>",
+ "<table><tr><td>_b</td><td>foo</td></tr><tr><td>a</td><td>1</td></tr></table>",
+ "(_b=foo,a=1)",
+ "_b=foo&a=1",
+ "{_b:'foo',a:1}",
+ "<rdf:RDF>\n<rdf:Description>\n<jp:a>1</jp:a>\n<jp:_b>foo</jp:_b>\n</rdf:Description>\n</rdf:RDF>"
+ },
+ { /* 7 */
+ "b2",
+ "{a:1}",
+ "<?xml version='1.0' encoding='UTF-8'?><object><a>1</a></object>",
+ "<table><tr><td>a</td><td>1</td></tr></table>",
+ "(a=1)",
+ "a=1",
+ "{a:1}",
+ "<rdf:RDF>\n<rdf:Description>\n<jp:a>1</jp:a>\n</rdf:Description>\n</rdf:RDF>"
+ },
+ { /* 8 */
+ "b3",
+ "{_b:'foo'}",
+ "<?xml version='1.0' encoding='UTF-8'?><object><_b>foo</_b></object>",
+ "<table><tr><td>_b</td><td>foo</td></tr></table>",
+ "(_b=foo)",
+ "_b=foo",
+ "{_b:'foo'}",
+ "<rdf:RDF>\n<rdf:Description>\n<jp:_b>foo</jp:_b>\n</rdf:Description>\n</rdf:RDF>"
+ },
+ { /* 9 */
+ "b4",
+ "{_b:'foo'}",
+ "<?xml version='1.0' encoding='UTF-8'?><object><_b>foo</_b></object>",
+ "<table><tr><td>_b</td><td>foo</td></tr></table>",
+ "(_b=foo)",
+ "_b=foo",
+ "{_b:'foo'}",
+ "<rdf:RDF>\n<rdf:Description>\n<jp:_b>foo</jp:_b>\n</rdf:Description>\n</rdf:RDF>"
+ },
+ { /* 10 */
+ "b5",
+ "{a:1}",
+ "<?xml version='1.0' encoding='UTF-8'?><object><a>1</a></object>",
+ "<table><tr><td>a</td><td>1</td></tr></table>",
+ "(a=1)",
+ "a=1",
+ "{a:1}",
+ "<rdf:RDF>\n<rdf:Description>\n<jp:a>1</jp:a>\n</rdf:Description>\n</rdf:RDF>"
+ },
+ { /* 11 */
+ "b6",
+ "{}",
+ "<?xml version='1.0' encoding='UTF-8'?><object/>",
+ "<table></table>",
+ "()",
+ "",
+ "{}",
+ "<rdf:RDF>\n</rdf:RDF>"
+ },
+ { /* 12 */
+ "c1",
+ "{a:1}",
+ "<?xml version='1.0' encoding='UTF-8'?><object><a>1</a></object>",
+ "<table><tr><td>a</td><td>1</td></tr></table>",
+ "(a=1)",
+ "a=1",
+ "{a:1}",
+ "<rdf:RDF>\n<rdf:Description>\n<jp:a>1</jp:a>\n</rdf:Description>\n</rdf:RDF>"
+ },
+ { /* 13 */
+ "c2",
+ "{a:1}",
+ "<?xml version='1.0' encoding='UTF-8'?><object><a>1</a></object>",
+ "<table><tr><td>a</td><td>1</td></tr></table>",
+ "(a=1)",
+ "a=1",
+ "{a:1}",
+ "<rdf:RDF>\n<rdf:Description>\n<jp:a>1</jp:a>\n</rdf:Description>\n</rdf:RDF>"
+ },
+ { /* 14 */
+ "d1",
+ "{a:1,_b:'foo'}",
+ "<?xml version='1.0' encoding='UTF-8'?><object><a>1</a><_b>foo</_b></object>",
+ "<table><tr><td>a</td><td>1</td></tr><tr><td>_b</td><td>foo</td></tr></table>",
+ "(a=1,_b=foo)",
+ "a=1&_b=foo",
+ "{a:1,_b:'foo'}",
+ "<rdf:RDF>\n<rdf:Description>\n<jp:a>1</jp:a>\n<jp:_b>foo</jp:_b>\n</rdf:Description>\n</rdf:RDF>"
+ },
+ { /* 15 */
+ "d2",
+ "{a:1,_b:'foo'}",
+ "<?xml version='1.0' encoding='UTF-8'?><object><a>1</a><_b>foo</_b></object>",
+ "<table><tr><td>a</td><td>1</td></tr><tr><td>_b</td><td>foo</td></tr></table>",
+ "(a=1,_b=foo)",
+ "a=1&_b=foo",
+ "{a:1,_b:'foo'}",
+ "<rdf:RDF>\n<rdf:Description>\n<jp:a>1</jp:a>\n<jp:_b>foo</jp:_b>\n</rdf:Description>\n</rdf:RDF>"
+ }
+ });
+ }
+
+ private String label;
+ private String json, xml, html, uon, urlEnc, msgPack, rdfXml;
+ private RestClient client = TestMicroservice.DEFAULT_CLIENT;
+
+ public BpiTest(String label, String json, String xml, String html, String uon, String urlEnc, String msgPack, String rdfXml) {
+ this.label = label;
+ this.json = json;
+ this.xml = xml;
+ this.html = html;
+ this.uon = uon;
+ this.urlEnc = urlEnc;
+ this.msgPack = msgPack;
+ this.rdfXml = rdfXml;
+ }
+
+ @Test
+ public void a01_json() throws Exception {
+ String r = client.doGet("/testBpi/test/" + label).accept("text/json+simple").getResponseAsString();
+ assertEquals(json, r);
+ }
+
+ @Test
+ public void a02_xml() throws Exception {
+ String r = client.doGet("/testBpi/test/" + label).accept("text/xml").getResponseAsString().replace('"', '\'');
+ assertEquals(xml, r);
+ }
+
+ @Test
+ public void a03_html() throws Exception {
+ String r = client.doGet("/testBpi/test/" + label).accept("text/html+stripped").getResponseAsString();
+ assertEquals(html, r);
+ }
+
+ @Test
+ public void a04_uon() throws Exception {
+ String r = client.doGet("/testBpi/test/" + label).accept("text/uon").getResponseAsString();
+ assertEquals(uon, r);
+ }
+
+ @Test
+ public void a05_urlEnc() throws Exception {
+ String r = client.doGet("/testBpi/test/" + label).accept("application/x-www-form-urlencoded").getResponseAsString();
+ assertEquals(urlEnc, r);
+ }
+
+ @Test
+ public void a06_msgPack() throws Exception {
+ String r = client.doGet("/testBpi/test/" + label).accept("octal/msgpack").parser(MsgPackParser.DEFAULT).getResponse(ObjectMap.class).toString();
+ assertEquals(msgPack, r);
+ }
+
+ @Test
+ public void a07_rdfXml() throws Exception {
+ String r = client.doGet("/testBpi/test/" + label).accept("text/xml+rdf+abbrev").getResponseAsString();
+ r = r.replaceAll("<rdf:RDF[^>]*>", "<rdf:RDF>").replace('"', '\'');
+ TestUtils.assertEqualsAfterSort(rdfXml, r, "a07_rdfXml failed");
+ }
+}
Propchange: release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/BpiTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/CallbackStringsTest.java
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/CallbackStringsTest.java (added)
+++ release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/CallbackStringsTest.java Fri Sep 8 23:21:12 2017
@@ -0,0 +1,50 @@
+// ***************************************************************************************************************************
+// * 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.test;
+
+import static org.junit.Assert.*;
+
+import org.apache.juneau.rest.client.*;
+import org.junit.*;
+
+public class CallbackStringsTest extends RestTestcase {
+
+ //====================================================================================================
+ // Basic tests using @Body parameter
+ //====================================================================================================
+ @Test
+ public void test() throws Exception {
+ RestClient c = TestMicroservice.client().accept("text/json+simple").build();
+ String r;
+
+ r = c.doCallback("GET /testCallback").getResponseAsString();
+ assertEquals("{method:'GET',headers:{},content:''}", r);
+
+ r = c.doCallback("GET /testCallback some sample content").getResponseAsString();
+ assertEquals("{method:'GET',headers:{},content:'some sample content'}", r);
+
+ r = c.doCallback("GET {Foo-X:123,Foo-Y:'abc'} /testCallback").getResponseAsString();
+ assertEquals("{method:'GET',headers:{'Foo-X':'123','Foo-Y':'abc'},content:''}", r);
+
+ r = c.doCallback("GET { Foo-X : 123, Foo-Y : 'abc' } /testCallback").getResponseAsString();
+ assertEquals("{method:'GET',headers:{'Foo-X':'123','Foo-Y':'abc'},content:''}", r);
+
+ r = c.doCallback("GET {Foo-X:123,Foo-Y:'abc'} /testCallback some sample content ").getResponseAsString();
+ assertEquals("{method:'GET',headers:{'Foo-X':'123','Foo-Y':'abc'},content:'some sample content'}", r);
+
+ r = c.doCallback("PUT {Foo-X:123,Foo-Y:'abc'} /testCallback some sample content ").getResponseAsString();
+ assertEquals("{method:'PUT',headers:{'Foo-X':'123','Foo-Y':'abc'},content:'some sample content'}", r);
+
+ c.closeQuietly();
+ }
+}
Propchange: release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/CallbackStringsTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/CharsetEncodingsTest.java
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/CharsetEncodingsTest.java (added)
+++ release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/CharsetEncodingsTest.java Fri Sep 8 23:21:12 2017
@@ -0,0 +1,110 @@
+// ***************************************************************************************************************************
+// * 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.test;
+
+import static javax.servlet.http.HttpServletResponse.*;
+import static org.apache.juneau.internal.IOUtils.*;
+import static org.apache.juneau.rest.test.TestUtils.*;
+import static org.junit.Assert.*;
+
+import java.io.*;
+
+import org.apache.juneau.rest.client.*;
+import org.junit.*;
+
+
+public class CharsetEncodingsTest extends RestTestcase {
+
+ private static boolean debug = false;
+
+ /**
+ * Basic tests to ensure that the correct charsets are found and used
+ * under a variety of scenarios.
+ */
+ @Test
+ public void test() throws Exception {
+ String url = "/testCharsetEncodings";
+ RestClientBuilder cb = TestMicroservice.client().accept("text/s").contentType("text/p");
+ RestClient client = cb.build();
+ InputStream is;
+ String r;
+
+ r = client.doPut(url, new StringReader("foo")).getResponseAsString();
+ if (debug) System.err.println(r);
+ assertEquals("utf-8/foo/utf-8", r);
+
+ is = client.doPut(url, new StringReader("foo")).getInputStream();
+ r = read(new InputStreamReader(is, "utf-8"));
+ if (debug) System.err.println(r);
+ assertEquals("utf-8/foo/utf-8", r);
+
+ client.closeQuietly();
+
+ client = cb.acceptCharset("utf-8").contentType("text/p;charset=utf-8").build();
+ is = client.doPut(url, new StringReader("foo")).acceptCharset("utf-8").contentType("text/p;charset=utf-8").getInputStream();
+ r = read(new InputStreamReader(is, "utf-8"));
+ if (debug) System.err.println(r);
+ assertEquals("utf-8/foo/utf-8", r);
+
+ client.closeQuietly();
+
+ client = cb.acceptCharset("Shift_JIS").contentType("text/p;charset=shift_jis").build();
+ is = client.doPut(url, new StringReader("foo")).getInputStream();
+ r = read(new InputStreamReader(is, "Shift_JIS"));
+ if (debug) System.err.println(r);
+ assertEquals("shift_jis/foo/shift_jis", r);
+
+ client.closeQuietly();
+
+ try {
+ client = cb.acceptCharset("BAD").contentType("text/p;charset=sjis").build();
+ is = client.doPut(url + "?noTrace=true", new StringReader("foo")).getInputStream();
+ r = read(new InputStreamReader(is, "sjis"));
+ if (debug) System.err.println(r);
+ fail("Exception expected");
+ } catch (RestCallException e) {
+ checkErrorResponse(debug, e, SC_NOT_ACCEPTABLE, "No supported charsets in header 'Accept-Charset': 'BAD'");
+ }
+
+ client.closeQuietly();
+
+ client = cb.accept("text/s").acceptCharset("utf-8").contentType("text/p").build();
+ is = client.doPut(url+"?Content-Type=text/p", new StringReader("foo")).getInputStream();
+ r = read(new InputStreamReader(is, "utf-8"));
+ if (debug) System.err.println(r);
+ assertEquals("utf-8/foo/utf-8", r);
+
+ client.closeQuietly();
+
+ client = cb.accept("text/s").contentType("text/bad").acceptCharset("utf-8").build();
+ is = client.doPut(url+"?Content-Type=text/p;charset=utf-8", new StringReader("foo")).getInputStream();
+ r = read(new InputStreamReader(is, "utf-8"));
+ if (debug) System.err.println(r);
+ assertEquals("utf-8/foo/utf-8", r);
+
+ client.closeQuietly();
+
+ try {
+ client = cb.accept("text/s").contentType("text/p").acceptCharset("utf-8").build();
+ is = client.doPut(url+"?Content-Type=text/p;charset=BAD&noTrace=true", new StringReader("foo")).getInputStream();
+ r = read(new InputStreamReader(is, "utf-8"));
+ if (debug) System.err.println(r);
+ assertEquals("utf-8/foo/utf-8", r);
+ fail("Exception expected");
+ } catch (RestCallException e) {
+ checkErrorResponse(debug, e, SC_UNSUPPORTED_MEDIA_TYPE, "Unsupported charset in header 'Content-Type': 'text/p;charset=BAD'");
+ }
+
+ client.closeQuietly();
+ }
+}
Propchange: release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/CharsetEncodingsTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/ClientFuturesTest.java
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/ClientFuturesTest.java (added)
+++ release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/ClientFuturesTest.java Fri Sep 8 23:21:12 2017
@@ -0,0 +1,44 @@
+// ***************************************************************************************************************************
+// * 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.test;
+
+import static org.apache.juneau.rest.test.TestUtils.*;
+import static org.junit.Assert.*;
+
+import java.util.concurrent.*;
+
+import org.apache.juneau.*;
+import org.apache.juneau.rest.client.*;
+import org.junit.*;
+
+public class ClientFuturesTest extends RestTestcase {
+
+ private static String URL = "/testClientFutures";
+
+ //====================================================================================================
+ // Basic tests
+ //====================================================================================================
+ @Test
+ public void test() throws Exception {
+ RestClient client = TestMicroservice.DEFAULT_CLIENT;
+
+ Future<Integer> f = client.doGet(URL).runFuture();
+ assertEquals(200, f.get().intValue());
+
+ Future<ObjectMap> f2 = client.doGet(URL).getResponseFuture(ObjectMap.class);
+ assertObjectEquals("{foo:'bar'}", f2.get());
+
+ Future<String> f3 = client.doGet(URL).getResponseAsStringFuture();
+ assertObjectEquals("'{\"foo\":\"bar\"}'", f3.get());
+ }
+}
\ No newline at end of file
Propchange: release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/ClientFuturesTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/ClientVersionTest.java
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/ClientVersionTest.java (added)
+++ release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/ClientVersionTest.java Fri Sep 8 23:21:12 2017
@@ -0,0 +1,77 @@
+// ***************************************************************************************************************************
+// * 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.test;
+
+import static org.junit.Assert.*;
+
+import org.apache.juneau.rest.client.*;
+import org.junit.*;
+
+public class ClientVersionTest extends RestTestcase {
+
+ private static String URL = "/testClientVersion";
+
+ //====================================================================================================
+ // Basic tests - default X-Client-Version header.
+ //====================================================================================================
+ @Test
+ public void testDefaultHeader() throws Exception {
+ RestClient client = TestMicroservice.DEFAULT_CLIENT_PLAINTEXT;
+ String url = URL + "/defaultHeader";
+
+ assertEquals("no-version", client.doGet(url).getResponseAsString());
+
+// for (String s : "0, 0.0, 0.1, .1, .9, .99".split("\\s*,\\s*")) {
+// assertEquals(s, "[0.0,1.0)", client.doGet(url).clientVersion(s).getResponseAsString());
+// }
+
+ for (String s : "1, 1.0, 1.0.0, 1.0.1".split("\\s*,\\s*")) {
+ assertEquals(s, "[1.0,1.0]", client.doGet(url).clientVersion(s).getResponseAsString());
+ }
+
+ for (String s : "1.1, 1.1.1, 1.2, 1.9.9".split("\\s*,\\s*")) {
+ assertEquals(s, "[1.1,2)", client.doGet(url).clientVersion(s).getResponseAsString());
+ }
+
+ for (String s : "2, 2.0, 2.1, 9, 9.9".split("\\s*,\\s*")) {
+ assertEquals(s, "2", client.doGet(url).clientVersion(s).getResponseAsString());
+ }
+ }
+
+ //====================================================================================================
+ // Basic tests - Custom-Client-Version header.
+ //====================================================================================================
+ @Test
+ public void testCustomHeader() throws Exception {
+ RestClient client = TestMicroservice.DEFAULT_CLIENT_PLAINTEXT;
+ String url = URL + "/customHeader";
+
+ assertEquals("no-version", client.doGet(url).getResponseAsString());
+
+ for (String s : "0, 0.0, 0.1, .1, .9, .99".split("\\s*,\\s*")) {
+ assertEquals("[0.0,1.0)", client.doGet(url).header("Custom-Client-Version", s).getResponseAsString());
+ }
+
+ for (String s : "1, 1.0, 1.0.0, 1.0.1".split("\\s*,\\s*")) {
+ assertEquals("[1.0,1.0]", client.doGet(url).header("Custom-Client-Version", s).getResponseAsString());
+ }
+
+ for (String s : "1.1, 1.1.1, 1.2, 1.9.9".split("\\s*,\\s*")) {
+ assertEquals("[1.1,2)", client.doGet(url).header("Custom-Client-Version", s).getResponseAsString());
+ }
+
+ for (String s : "2, 2.0, 2.1, 9, 9.9".split("\\s*,\\s*")) {
+ assertEquals("2", client.doGet(url).header("Custom-Client-Version", s).getResponseAsString());
+ }
+ }
+}
Propchange: release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/ClientVersionTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/ConfigTest.java
==============================================================================
--- release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/ConfigTest.java (added)
+++ release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/ConfigTest.java Fri Sep 8 23:21:12 2017
@@ -0,0 +1,57 @@
+// ***************************************************************************************************************************
+// * 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.test;
+
+import static org.apache.juneau.internal.StringUtils.*;
+import static org.apache.juneau.rest.test.TestUtils.*;
+import static org.junit.Assert.*;
+
+import org.apache.juneau.ini.*;
+import org.apache.juneau.rest.client.*;
+import org.junit.*;
+
+public class ConfigTest extends RestTestcase {
+
+ private static String URL = "/testConfig";
+
+ //====================================================================================================
+ // Basic tests
+ //====================================================================================================
+ @Test
+ public void test() throws Exception {
+ RestClient c = TestMicroservice.client().accept("text/json+simple").build();
+
+ ConfigFile cf = c.doGet(URL).getResponse(ConfigFileImpl.class);
+
+ assertObjectEquals("{int1:'1',int2:'[1,2,3]',int3:'$C{Test/int1, -1}',int4:'$C{Test/int3, -1}',int5:'$C{XXX, -1}',boolean1:'true',boolean2:'[true,true]',path:'$E{PATH}',testManifestEntry:'$MF{Test-Entry}'}", cf.get("Test"));
+
+ assertEquals("'1'", c.doGet(URL + "/Test%2Fint1/" + getName(String.class)).getResponseAsString());
+ assertEquals("'[1,2,3]'", c.doGet(URL + "/Test%2Fint2/" + getName(String.class)).getResponseAsString());
+ assertEquals("['1','2','3']", c.doGet(URL + "/Test%2Fint2/" + getName(String[].class)).getResponseAsString());
+ assertEquals("[1,2,3]", c.doGet(URL + "/Test%2Fint2/" + getName(int[].class)).getResponseAsString());
+ assertEquals("[1,2,3]", c.doGet(URL + "/Test%2Fint2/" + getName(Integer[].class)).getResponseAsString());
+ assertEquals("1", c.doGet(URL + "/Test%2Fint3/" + getName(Integer.class)).getResponseAsString());
+ assertEquals("1", c.doGet(URL + "/Test%2Fint4/" + getName(Integer.class)).getResponseAsString());
+ assertEquals("-1", c.doGet(URL + "/Test%2Fint5/" + getName(Integer.class)).getResponseAsString());
+ assertEquals("true", c.doGet(URL + "/Test%2Fboolean1/" + getName(Boolean.class)).getResponseAsString());
+ assertEquals("[true,true]", c.doGet(URL + "/Test%2Fboolean2/" + getName(Boolean[].class)).getResponseAsString());
+ assertTrue(c.doGet(URL + "/Test%2Fpath/" + getName(String.class)).getResponseAsString().length() > 10);
+ assertEquals("'test-value'", c.doGet(URL + "/Test%2FtestManifestEntry/" + getName(String.class)).getResponseAsString());
+
+ c.closeQuietly();
+ }
+
+ private String getName(Class<?> c) {
+ return urlEncode(c.getName());
+ }
+}
Propchange: release/incubator/juneau/juneau-microservice-test/src/test/java/org/apache/juneau/rest/test/ConfigTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain