From 87aaaf63e00d838671f31a912ea4902a6a990bdc Mon Sep 17 00:00:00 2001 From: Arjan Tijms Date: Sun, 26 Jan 2025 12:45:17 +0100 Subject: [PATCH] Small amount of cleaning for JSONB src Mostly formatting --- .../com/sun/ts/tests/jsonb/TypeContainer.java | 4 +- .../AdaptersCustomizationCDIEjbTest.java | 256 ++++++++++-------- .../AdaptersCustomizationCDIJspTest.java | 169 ++++++------ .../AdaptersCustomizationCDIServletTest.java | 168 ++++++------ .../AdaptersCustomizationCDITest.java | 87 +++--- .../adapters/model/Animal.java | 151 +++++------ .../model/AnimalShelterInjectedAdapter.java | 66 ++--- .../customizedmapping/adapters/model/Cat.java | 77 +++--- .../customizedmapping/adapters/model/Dog.java | 77 +++--- .../model/adapter/AnimalIdentifier.java | 16 +- .../adapters/model/adapter/AnimalJson.java | 104 +++---- .../model/adapter/InjectedAdapter.java | 85 +++--- .../model/adapter/InjectedListAdapter.java | 38 +-- .../SerializersCustomizationCDIEjbTest.java | 247 ++++++++--------- .../SerializersCustomizationCDIJspTest.java | 161 ++++++----- ...erializersCustomizationCDIServletTest.java | 199 +++++++------- .../SerializersCustomizationCDITest.java | 88 +++--- .../serializers/model/Animal.java | 151 +++++------ .../AnimalShelterWithInjectedSerializer.java | 54 ++-- .../serializers/model/Cat.java | 77 +++--- .../serializers/model/Dog.java | 77 +++--- .../model/serializer/AnimalBuilder.java | 92 +++---- .../model/serializer/AnimalDeserializer.java | 105 +++---- .../AnimalDeserializerInjected.java | 107 ++++---- .../AnimalListDeserializerInjected.java | 29 +- .../serializer/AnimalListSerializer.java | 17 +- .../model/serializer/AnimalSerializer.java | 44 +-- .../ClientAppclientTest.java | 175 ++++++------ .../jsonbprovidertests/ClientEjbTest.java | 219 +++++++-------- .../jsonbprovidertests/ClientJspTest.java | 181 ++++++------- .../jsonbprovidertests/ClientServletTest.java | 174 ++++++------ 31 files changed, 1718 insertions(+), 1777 deletions(-) diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/TypeContainer.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/TypeContainer.java index 4000d8371e..f5f956c267 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/TypeContainer.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/TypeContainer.java @@ -21,7 +21,7 @@ package com.sun.ts.tests.jsonb; public interface TypeContainer { - T getInstance(); + T getInstance(); - void setInstance(T instance); + void setInstance(T instance); } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/AdaptersCustomizationCDIEjbTest.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/AdaptersCustomizationCDIEjbTest.java index 6f3e4b24cc..460f73e75c 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/AdaptersCustomizationCDIEjbTest.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/AdaptersCustomizationCDIEjbTest.java @@ -20,9 +20,31 @@ package com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters; +import com.sun.ts.lib.harness.EETest; +import com.sun.ts.lib.harness.ServiceEETest; import com.sun.ts.lib.harness.Status; +import com.sun.ts.tests.common.vehicle.EmptyVehicleRunner; +import com.sun.ts.tests.common.vehicle.VehicleClient; +import com.sun.ts.tests.common.vehicle.VehicleRunnable; +import com.sun.ts.tests.common.vehicle.VehicleRunnerFactory; +import com.sun.ts.tests.common.vehicle.ejb.EJBVehicle; +import com.sun.ts.tests.common.vehicle.ejb.EJBVehicleRemote; +import com.sun.ts.tests.common.vehicle.ejb.EJBVehicleRunner; +import com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Animal; +import com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.AnimalShelterInjectedAdapter; +import com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Cat; +import com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Dog; +import com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.AnimalIdentifier; +import com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.AnimalJson; +import com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.InjectedAdapter; +import com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.InjectedListAdapter; + import jakarta.json.bind.Jsonb; import jakarta.json.bind.JsonbBuilder; + +import java.lang.System.Logger; +import java.net.URL; + import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.OverProtocol; import org.jboss.arquillian.container.test.api.TargetsContainer; @@ -35,12 +57,10 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; + import tck.arquillian.porting.lib.spi.TestArchiveProcessor; import tck.arquillian.protocol.common.TargetVehicle; -import java.lang.System.Logger; -import java.net.URL; - /** * @test * @sources AdaptersCustomizationTest.java @@ -56,121 +76,127 @@ @ExtendWith(ArquillianExtension.class) public class AdaptersCustomizationCDIEjbTest extends AdaptersCustomizationCDITest { - static final String VEHICLE_ARCHIVE = "jsonb_cdi_customizedmapping_adapters_ejb_vehicle"; - - private final Jsonb jsonb = JsonbBuilder.create(); - - public static void main(String[] args) { - AdaptersCustomizationCDIEjbTest t = new AdaptersCustomizationCDIEjbTest(); - Status s = t.run(args, System.out, System.err); - s.exit(); - } - - private static final Logger logger = System.getLogger(AdaptersCustomizationCDIEjbTest.class.getName()); - - private static String packagePath = AdaptersCustomizationCDIEjbTest.class.getPackageName().replace(".", "/"); - - @TargetsContainer("tck-appclient") - @OverProtocol("appclient") - @Deployment(name = VEHICLE_ARCHIVE, order = 2) - public static EnterpriseArchive createDeploymentVehicle(@ArquillianResource TestArchiveProcessor archiveProcessor) { - - JavaArchive jsonb_cdi_customizedmapping_adapters_ejb_vehicle_client = ShrinkWrap.create(JavaArchive.class, "jsonb_cdi_customizedmapping_adapters_ejb_vehicle_client.jar"); - jsonb_cdi_customizedmapping_adapters_ejb_vehicle_client.addClasses( - com.sun.ts.tests.common.vehicle.EmptyVehicleRunner.class, - com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class, - com.sun.ts.tests.common.vehicle.VehicleRunnable.class, - com.sun.ts.tests.common.vehicle.VehicleClient.class, - com.sun.ts.tests.common.vehicle.ejb.EJBVehicleRemote.class, - com.sun.ts.tests.common.vehicle.ejb.EJBVehicleRunner.class, - com.sun.ts.lib.harness.EETest.class, - com.sun.ts.lib.harness.EETest.Fault.class, - com.sun.ts.lib.harness.EETest.SetupException.class, - com.sun.ts.lib.harness.ServiceEETest.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Animal.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Cat.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Dog.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.AnimalShelterInjectedAdapter.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.AnimalIdentifier.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.AnimalJson.TYPE.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.AnimalJson.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.InjectedAdapter.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.InjectedListAdapter.class, - AdaptersCustomizationCDIEjbTest.class, - AdaptersCustomizationCDITest.class - ); - - URL resURL = AdaptersCustomizationCDIEjbTest.class.getClassLoader().getResource(packagePath+"/ejb_vehicle_client.xml"); - if(resURL != null) { - jsonb_cdi_customizedmapping_adapters_ejb_vehicle_client.addAsManifestResource(resURL, "application-client.xml"); - } - jsonb_cdi_customizedmapping_adapters_ejb_vehicle_client.addAsManifestResource(new StringAsset("Main-Class: com.sun.ts.tests.common.vehicle.VehicleClient\n"), "MANIFEST.MF"); + static final String VEHICLE_ARCHIVE = "jsonb_cdi_customizedmapping_adapters_ejb_vehicle"; + private final Jsonb jsonb = JsonbBuilder.create(); - resURL = AdaptersCustomizationCDIEjbTest.class.getClassLoader().getResource(packagePath+"/ejb_vehicle_client.jar.sun-application-client.xml"); - if(resURL != null) { - jsonb_cdi_customizedmapping_adapters_ejb_vehicle_client.addAsManifestResource(resURL, "sun-application-client.xml"); + public static void main(String[] args) { + AdaptersCustomizationCDIEjbTest t = new AdaptersCustomizationCDIEjbTest(); + Status s = t.run(args, System.out, System.err); + s.exit(); } - archiveProcessor.processClientArchive(jsonb_cdi_customizedmapping_adapters_ejb_vehicle_client, AdaptersCustomizationCDIEjbTest.class, resURL); - - - JavaArchive jsonb_cdi_customizedmapping_adapters_ejb_vehicle_ejb = ShrinkWrap.create(JavaArchive.class, "jsonb_cdi_customizedmapping_adapters_ejb_vehicle_ejb.jar"); - jsonb_cdi_customizedmapping_adapters_ejb_vehicle_ejb.addClasses( - com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class, - com.sun.ts.tests.common.vehicle.VehicleRunnable.class, - com.sun.ts.tests.common.vehicle.VehicleClient.class, - com.sun.ts.tests.common.vehicle.ejb.EJBVehicleRemote.class, - com.sun.ts.tests.common.vehicle.ejb.EJBVehicle.class, - com.sun.ts.lib.harness.EETest.class, - com.sun.ts.lib.harness.EETest.Fault.class, - com.sun.ts.lib.harness.EETest.SetupException.class, - com.sun.ts.lib.harness.ServiceEETest.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.AnimalIdentifier.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.AnimalJson.TYPE.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.AnimalJson.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.InjectedAdapter.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.InjectedListAdapter.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Animal.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.AnimalShelterInjectedAdapter.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Cat.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Dog.class, - AdaptersCustomizationCDIEjbTest.class, - AdaptersCustomizationCDITest.class - ); - - // The ejb-jar.xml descriptor - URL ejbResURL = AdaptersCustomizationCDIEjbTest.class.getClassLoader().getResource(packagePath+"/ejb_vehicle_ejb.xml"); - if(ejbResURL != null) { - jsonb_cdi_customizedmapping_adapters_ejb_vehicle_ejb.addAsManifestResource(ejbResURL, "ejb-jar.xml"); - } - ejbResURL = AdaptersCustomizationCDIEjbTest.class.getClassLoader().getResource(packagePath+"/ejb_vehicle_ejb.jar.sun-ejb-jar.xml"); - if(ejbResURL != null) { - jsonb_cdi_customizedmapping_adapters_ejb_vehicle_ejb.addAsManifestResource(ejbResURL, "sun-ejb-jar.xml"); + + private static final Logger logger = System.getLogger(AdaptersCustomizationCDIEjbTest.class.getName()); + + private static String packagePath = AdaptersCustomizationCDIEjbTest.class.getPackageName().replace(".", "/"); + + @TargetsContainer("tck-appclient") + @OverProtocol("appclient") + @Deployment(name = VEHICLE_ARCHIVE, order = 2) + public static EnterpriseArchive createDeploymentVehicle(@ArquillianResource TestArchiveProcessor archiveProcessor) { + + JavaArchive jsonb_cdi_customizedmapping_adapters_ejb_vehicle_client = ShrinkWrap.create(JavaArchive.class, + "jsonb_cdi_customizedmapping_adapters_ejb_vehicle_client.jar"); + jsonb_cdi_customizedmapping_adapters_ejb_vehicle_client.addClasses( + EmptyVehicleRunner.class, + VehicleRunnerFactory.class, + VehicleRunnable.class, + VehicleClient.class, + EJBVehicleRemote.class, + EJBVehicleRunner.class, + EETest.class, + Fault.class, + SetupException.class, + ServiceEETest.class, + Animal.class, + Cat.class, + Dog.class, + AnimalShelterInjectedAdapter.class, + AnimalIdentifier.class, + AnimalJson.TYPE.class, + AnimalJson.class, + InjectedAdapter.class, + InjectedListAdapter.class, + AdaptersCustomizationCDIEjbTest.class, + AdaptersCustomizationCDITest.class); + + URL resURL = AdaptersCustomizationCDIEjbTest.class.getClassLoader().getResource(packagePath + "/ejb_vehicle_client.xml"); + if (resURL != null) { + jsonb_cdi_customizedmapping_adapters_ejb_vehicle_client.addAsManifestResource(resURL, "application-client.xml"); + } + jsonb_cdi_customizedmapping_adapters_ejb_vehicle_client + .addAsManifestResource(new StringAsset("Main-Class: com.sun.ts.tests.common.vehicle.VehicleClient\n"), "MANIFEST.MF"); + + resURL = AdaptersCustomizationCDIEjbTest.class + .getClassLoader() + .getResource(packagePath + "/ejb_vehicle_client.jar.sun-application-client.xml"); + + if (resURL != null) { + jsonb_cdi_customizedmapping_adapters_ejb_vehicle_client.addAsManifestResource(resURL, "sun-application-client.xml"); + } + archiveProcessor.processClientArchive( + jsonb_cdi_customizedmapping_adapters_ejb_vehicle_client, + AdaptersCustomizationCDIEjbTest.class, + resURL); + + JavaArchive jsonb_cdi_customizedmapping_adapters_ejb_vehicle_ejb = ShrinkWrap.create(JavaArchive.class, + "jsonb_cdi_customizedmapping_adapters_ejb_vehicle_ejb.jar"); + jsonb_cdi_customizedmapping_adapters_ejb_vehicle_ejb.addClasses(VehicleRunnerFactory.class, + com.sun.ts.tests.common.vehicle.VehicleRunnable.class, VehicleClient.class, + com.sun.ts.tests.common.vehicle.ejb.EJBVehicleRemote.class, EJBVehicle.class, + EETest.class, Fault.class, + SetupException.class, ServiceEETest.class, + AnimalIdentifier.class, + AnimalJson.TYPE.class, + AnimalJson.class, + InjectedAdapter.class, + InjectedListAdapter.class, + Animal.class, + AnimalShelterInjectedAdapter.class, + Cat.class, + Dog.class, AdaptersCustomizationCDIEjbTest.class, + AdaptersCustomizationCDITest.class); + + // The ejb-jar.xml descriptor + URL ejbResURL = AdaptersCustomizationCDIEjbTest.class.getClassLoader().getResource(packagePath + "/ejb_vehicle_ejb.xml"); + if (ejbResURL != null) { + jsonb_cdi_customizedmapping_adapters_ejb_vehicle_ejb.addAsManifestResource(ejbResURL, "ejb-jar.xml"); + } + ejbResURL = AdaptersCustomizationCDIEjbTest.class + .getClassLoader() + .getResource(packagePath + "/ejb_vehicle_ejb.jar.sun-ejb-jar.xml"); + if (ejbResURL != null) { + jsonb_cdi_customizedmapping_adapters_ejb_vehicle_ejb.addAsManifestResource(ejbResURL, "sun-ejb-jar.xml"); + } + + URL warResURL = AdaptersCustomizationCDIEjbTest.class.getClassLoader().getResource(packagePath + "/beans.xml"); + if (warResURL != null) { + jsonb_cdi_customizedmapping_adapters_ejb_vehicle_ejb.addAsManifestResource(warResURL, "beans.xml"); + } + archiveProcessor.processEjbArchive(jsonb_cdi_customizedmapping_adapters_ejb_vehicle_ejb, AdaptersCustomizationCDIEjbTest.class, + ejbResURL); + + EnterpriseArchive jsonb_cdi_customizedmapping_adapters_ejb_vehicle = + ShrinkWrap.create(EnterpriseArchive.class, "jsonb_cdi_customizedmapping_adapters_ejb_vehicle.ear"); + + jsonb_cdi_customizedmapping_adapters_ejb_vehicle.addAsModule(jsonb_cdi_customizedmapping_adapters_ejb_vehicle_client); + jsonb_cdi_customizedmapping_adapters_ejb_vehicle.addAsModule(jsonb_cdi_customizedmapping_adapters_ejb_vehicle_ejb); + + return jsonb_cdi_customizedmapping_adapters_ejb_vehicle; + } - URL warResURL = AdaptersCustomizationCDIEjbTest.class.getClassLoader().getResource(packagePath+"/beans.xml"); - if(warResURL != null) { - jsonb_cdi_customizedmapping_adapters_ejb_vehicle_ejb.addAsManifestResource(warResURL, "beans.xml"); + + /* + * @testName: testCDISupport + * + * @assertion_ids: JSONB:SPEC:JSB-4.7.1-3 + * + * @test_Strategy: Assert that CDI injection is supported in adapters + */ + @Override + @Test + @TargetVehicle("ejb") + public void testCDISupport() throws Exception { + super.testCDISupport(); } - archiveProcessor.processEjbArchive(jsonb_cdi_customizedmapping_adapters_ejb_vehicle_ejb, AdaptersCustomizationCDIEjbTest.class, ejbResURL); - - EnterpriseArchive jsonb_cdi_customizedmapping_adapters_ejb_vehicle = ShrinkWrap.create(EnterpriseArchive.class, "jsonb_cdi_customizedmapping_adapters_ejb_vehicle.ear"); - jsonb_cdi_customizedmapping_adapters_ejb_vehicle.addAsModule(jsonb_cdi_customizedmapping_adapters_ejb_vehicle_client); - jsonb_cdi_customizedmapping_adapters_ejb_vehicle.addAsModule(jsonb_cdi_customizedmapping_adapters_ejb_vehicle_ejb); - - return jsonb_cdi_customizedmapping_adapters_ejb_vehicle; - - } - - /* - * @testName: testCDISupport - * - * @assertion_ids: JSONB:SPEC:JSB-4.7.1-3 - * - * @test_Strategy: Assert that CDI injection is supported in adapters - */ - @Test - @TargetVehicle("ejb") - public void testCDISupport() throws Exception { - super.testCDISupport(); - } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/AdaptersCustomizationCDIJspTest.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/AdaptersCustomizationCDIJspTest.java index 01e05b7228..e1dc4a7170 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/AdaptersCustomizationCDIJspTest.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/AdaptersCustomizationCDIJspTest.java @@ -21,6 +21,11 @@ package com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters; import com.sun.ts.lib.harness.Status; + +import java.io.IOException; +import java.lang.System.Logger; +import java.net.URL; + import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.OverProtocol; import org.jboss.arquillian.container.test.api.TargetsContainer; @@ -33,11 +38,8 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInfo; import org.junit.jupiter.api.extension.ExtendWith; -import tck.arquillian.protocol.common.TargetVehicle; -import java.io.IOException; -import java.lang.System.Logger; -import java.net.URL; +import tck.arquillian.protocol.common.TargetVehicle; /** * @test @@ -55,84 +57,85 @@ @ExtendWith(ArquillianExtension.class) public class AdaptersCustomizationCDIJspTest extends AdaptersCustomizationCDITest { - static final String VEHICLE_ARCHIVE = "jsonb_cdi_customizedmapping_adapters_jsp_vehicle"; - - public static void main(String[] args) { - AdaptersCustomizationCDIJspTest t = new AdaptersCustomizationCDIJspTest(); - Status s = t.run(args, System.out, System.err); - s.exit(); - } - - private static final Logger logger = System.getLogger(AdaptersCustomizationCDIJspTest.class.getName()); - - private static String packagePath = AdaptersCustomizationCDIJspTest.class.getPackageName().replace(".", "/"); - - @BeforeEach - void logStartTest(TestInfo testInfo) { - logger.log(Logger.Level.INFO, "STARTING TEST : " + testInfo.getDisplayName()); - } - - @AfterEach - void logFinishTest(TestInfo testInfo) { - logger.log(Logger.Level.INFO, "FINISHED TEST : " + testInfo.getDisplayName()); - } - - @TargetsContainer("tck-javatest") - @OverProtocol("javatest") - @Deployment(name = VEHICLE_ARCHIVE, testable = true) - public static WebArchive createServletDeployment() throws IOException { - - WebArchive jsonb_cdi_customizedmapping_adapters_jsp_vehicle_web = ShrinkWrap.create(WebArchive.class, "jsonb_cdi_customizedmapping_adapters_jsp_vehicle_web.war"); - jsonb_cdi_customizedmapping_adapters_jsp_vehicle_web.addClass(AdaptersCustomizationCDIJspTest.class) - .addClass(com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class) - .addClass(com.sun.ts.tests.common.vehicle.VehicleRunnable.class) - .addClass(com.sun.ts.tests.common.vehicle.VehicleClient.class) - .addClass(com.sun.ts.lib.harness.EETest.class) - .addClass(com.sun.ts.lib.harness.EETest.SetupException.class) - .addClass(com.sun.ts.lib.harness.EETest.Fault.class) - .addClass(com.sun.ts.lib.harness.Status.class) - .addClass(com.sun.ts.lib.harness.ServiceEETest.class) - .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.AnimalIdentifier.class) - .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.AnimalJson.TYPE.class) - .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.AnimalJson.class) - .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.InjectedAdapter.class) - .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.InjectedListAdapter.class) - .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Animal.class) - .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.AnimalShelterInjectedAdapter.class) - .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Cat.class) - .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Dog.class) - .addClass(AdaptersCustomizationCDITest.class); - - jsonb_cdi_customizedmapping_adapters_jsp_vehicle_web.setWebXML(AdaptersCustomizationCDIJspTest.class.getClassLoader().getResource(packagePath+"/jsp_vehicle_web.xml")); - - // Web content - URL resURL = AdaptersCustomizationCDIJspTest.class.getResource("/vehicle/jsp/contentRoot/jsp_vehicle.jsp"); - jsonb_cdi_customizedmapping_adapters_jsp_vehicle_web.addAsWebResource(resURL, "/jsp_vehicle.jsp"); - resURL = AdaptersCustomizationCDIJspTest.class.getResource("/vehicle/jsp/contentRoot/client.html"); - jsonb_cdi_customizedmapping_adapters_jsp_vehicle_web.addAsWebResource(resURL, "/client.html"); - - URL warResURL = AdaptersCustomizationCDIJspTest.class.getClassLoader().getResource(packagePath+"/beans.xml"); - if(warResURL != null) { - jsonb_cdi_customizedmapping_adapters_jsp_vehicle_web.addAsWebResource(warResURL, "/WEB-INF/beans.xml"); + static final String VEHICLE_ARCHIVE = "jsonb_cdi_customizedmapping_adapters_jsp_vehicle"; + + public static void main(String[] args) { + AdaptersCustomizationCDIJspTest t = new AdaptersCustomizationCDIJspTest(); + Status s = t.run(args, System.out, System.err); + s.exit(); + } + + private static final Logger logger = System.getLogger(AdaptersCustomizationCDIJspTest.class.getName()); + + private static String packagePath = AdaptersCustomizationCDIJspTest.class.getPackageName().replace(".", "/"); + + @BeforeEach + void logStartTest(TestInfo testInfo) { + logger.log(Logger.Level.INFO, "STARTING TEST : " + testInfo.getDisplayName()); + } + + @AfterEach + void logFinishTest(TestInfo testInfo) { + logger.log(Logger.Level.INFO, "FINISHED TEST : " + testInfo.getDisplayName()); + } + + @TargetsContainer("tck-javatest") + @OverProtocol("javatest") + @Deployment(name = VEHICLE_ARCHIVE, testable = true) + public static WebArchive createServletDeployment() throws IOException { + + WebArchive jsonb_cdi_customizedmapping_adapters_jsp_vehicle_web = ShrinkWrap.create(WebArchive.class, + "jsonb_cdi_customizedmapping_adapters_jsp_vehicle_web.war"); + jsonb_cdi_customizedmapping_adapters_jsp_vehicle_web.addClass(AdaptersCustomizationCDIJspTest.class) + .addClass(com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class) + .addClass(com.sun.ts.tests.common.vehicle.VehicleRunnable.class) + .addClass(com.sun.ts.tests.common.vehicle.VehicleClient.class).addClass(com.sun.ts.lib.harness.EETest.class) + .addClass(com.sun.ts.lib.harness.EETest.SetupException.class).addClass(com.sun.ts.lib.harness.EETest.Fault.class) + .addClass(com.sun.ts.lib.harness.Status.class).addClass(com.sun.ts.lib.harness.ServiceEETest.class) + .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.AnimalIdentifier.class) + .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.AnimalJson.TYPE.class) + .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.AnimalJson.class) + .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.InjectedAdapter.class) + .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.InjectedListAdapter.class) + .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Animal.class) + .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.AnimalShelterInjectedAdapter.class) + .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Cat.class) + .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Dog.class) + .addClass(AdaptersCustomizationCDITest.class); + + jsonb_cdi_customizedmapping_adapters_jsp_vehicle_web + .setWebXML(AdaptersCustomizationCDIJspTest.class.getClassLoader().getResource(packagePath + "/jsp_vehicle_web.xml")); + + // Web content + URL resURL = AdaptersCustomizationCDIJspTest.class.getResource("/vehicle/jsp/contentRoot/jsp_vehicle.jsp"); + jsonb_cdi_customizedmapping_adapters_jsp_vehicle_web.addAsWebResource(resURL, "/jsp_vehicle.jsp"); + resURL = AdaptersCustomizationCDIJspTest.class.getResource("/vehicle/jsp/contentRoot/client.html"); + jsonb_cdi_customizedmapping_adapters_jsp_vehicle_web.addAsWebResource(resURL, "/client.html"); + + URL warResURL = AdaptersCustomizationCDIJspTest.class.getClassLoader().getResource(packagePath + "/beans.xml"); + if (warResURL != null) { + jsonb_cdi_customizedmapping_adapters_jsp_vehicle_web.addAsWebResource(warResURL, "/WEB-INF/beans.xml"); + } + return jsonb_cdi_customizedmapping_adapters_jsp_vehicle_web; + + // EnterpriseArchive ear = ShrinkWrap.create(EnterpriseArchive.class, + // "jsonb_cdi_customizedmapping_adapters_jsp_vehicle.ear"); + // ear.addAsModule(jsonb_cdi_customizedmapping_adapters_jsp_vehicle_web); + // return ear; + + } + + /* + * @testName: testCDISupport + * + * @assertion_ids: JSONB:SPEC:JSB-4.7.1-3 + * + * @test_Strategy: Assert that CDI injection is supported in adapters + */ + @Override + @Test + @TargetVehicle("jsp") + public void testCDISupport() throws Exception { + super.testCDISupport(); } - return jsonb_cdi_customizedmapping_adapters_jsp_vehicle_web; - - // EnterpriseArchive ear = ShrinkWrap.create(EnterpriseArchive.class, "jsonb_cdi_customizedmapping_adapters_jsp_vehicle.ear"); - // ear.addAsModule(jsonb_cdi_customizedmapping_adapters_jsp_vehicle_web); - // return ear; - - } - - /* - * @testName: testCDISupport - * - * @assertion_ids: JSONB:SPEC:JSB-4.7.1-3 - * - * @test_Strategy: Assert that CDI injection is supported in adapters - */ - @Test - @TargetVehicle("jsp") - public void testCDISupport() throws Exception { - super.testCDISupport(); - } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/AdaptersCustomizationCDIServletTest.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/AdaptersCustomizationCDIServletTest.java index 03ca0cc1f9..9022560d80 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/AdaptersCustomizationCDIServletTest.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/AdaptersCustomizationCDIServletTest.java @@ -21,6 +21,10 @@ package com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters; import com.sun.ts.lib.harness.Status; + +import java.lang.System.Logger; +import java.net.URL; + import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.OverProtocol; import org.jboss.arquillian.container.test.api.TargetsContainer; @@ -33,10 +37,8 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInfo; import org.junit.jupiter.api.extension.ExtendWith; -import tck.arquillian.protocol.common.TargetVehicle; -import java.lang.System.Logger; -import java.net.URL; +import tck.arquillian.protocol.common.TargetVehicle; /** * @test @@ -54,85 +56,87 @@ @ExtendWith(ArquillianExtension.class) public class AdaptersCustomizationCDIServletTest extends AdaptersCustomizationCDITest { - static final String VEHICLE_ARCHIVE = "jsonb_cdi_customizedmapping_adapters_servlet_vehicle"; - - public static void main(String[] args) { - AdaptersCustomizationCDIServletTest t = new AdaptersCustomizationCDIServletTest(); - Status s = t.run(args, System.out, System.err); - s.exit(); - } - - private static final Logger logger = System.getLogger(AdaptersCustomizationCDIServletTest.class.getName()); - - private static String packagePath = AdaptersCustomizationCDIServletTest.class.getPackageName().replace(".", "/"); - - @BeforeEach - void logStartTest(TestInfo testInfo) { - logger.log(Logger.Level.INFO, "STARTING TEST : " + testInfo.getDisplayName()); - } - - @AfterEach - void logFinishTest(TestInfo testInfo) { - logger.log(Logger.Level.INFO, "FINISHED TEST : " + testInfo.getDisplayName()); - } - - @TargetsContainer("tck-javatest") - @OverProtocol("javatest") - @Deployment(name = VEHICLE_ARCHIVE, testable = true) - public static WebArchive createServletDeployment() throws Exception { - - // EnterpriseArchive ear = ShrinkWrap.create(EnterpriseArchive.class, "jsonb_cdi_customizedmapping_adapters_servlet_vehicle.ear"); - WebArchive war = ShrinkWrap.create(WebArchive.class, "jsonb_cdi_customizedmapping_adapters_servlet_vehicle_web.war"); - war.addClass(AdaptersCustomizationCDIServletTest.class) - .addClass(com.sun.ts.tests.common.vehicle.servlet.ServletVehicle.class) - .addClass(com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class) - .addClass(com.sun.ts.tests.common.vehicle.VehicleRunnable.class) - .addClass(com.sun.ts.tests.common.vehicle.VehicleClient.class) - .addClass(com.sun.ts.lib.harness.EETest.class) - .addClass(com.sun.ts.lib.harness.EETest.SetupException.class) - .addClass(com.sun.ts.lib.harness.EETest.Fault.class) - .addClass(com.sun.ts.lib.harness.ServiceEETest.class) - .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.AnimalIdentifier.class) - .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.AnimalJson.class) - .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.InjectedAdapter.class) - .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.InjectedListAdapter.class) - .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Animal.class) - .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.AnimalShelterInjectedAdapter.class) - .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Cat.class) - .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Dog.class) - .addClass(AdaptersCustomizationCDITest.class); - - // InputStream inStream = AdaptersCustomizationCDIServletTest.class.getClassLoader().getResourceAsStream(packagePath + "/servlet_vehicle_web.xml"); - // String webXml = editWebXmlString(inStream, "jsonb_cdi_customizedmapping_adapters_servlet_vehicle"); - // war.setWebXML(new StringAsset(webXml)); - war.setWebXML(AdaptersCustomizationCDIServletTest.class.getClassLoader().getResource(packagePath+"/servlet_vehicle_web.xml")); - - // InputStream inStream = AdaptersCustomizationCDIServletTest.class.getClassLoader().getResourceAsStream(packagePath+"/beans.xml"); - // String beansXml = toString(inStream); - // war.addAsWebInfResource(AdaptersCustomizationCDIServletTest.class.getClassLoader().getResource(packagePath+"/beans.xml")); - - URL warResURL = AdaptersCustomizationCDIServletTest.class.getClassLoader().getResource(packagePath+"/beans.xml"); - if(warResURL != null) { - war.addAsWebResource(warResURL, "/WEB-INF/beans.xml"); + static final String VEHICLE_ARCHIVE = "jsonb_cdi_customizedmapping_adapters_servlet_vehicle"; + + public static void main(String[] args) { + AdaptersCustomizationCDIServletTest t = new AdaptersCustomizationCDIServletTest(); + Status s = t.run(args, System.out, System.err); + s.exit(); } - return war; - // EnterpriseArchive ear = ShrinkWrap.create(EnterpriseArchive.class, "jsonb_cdi_customizedmapping_adapters_servlet_vehicle.ear"); - // ear.addAsModule(war); - // return ear; - - } - - /* - * @testName: testCDISupport - * - * @assertion_ids: JSONB:SPEC:JSB-4.7.1-3 - * - * @test_Strategy: Assert that CDI injection is supported in adapters - */ - @Test - @TargetVehicle("servlet") - public void testCDISupport() throws Exception { - super.testCDISupport(); - } + private static final Logger logger = System.getLogger(AdaptersCustomizationCDIServletTest.class.getName()); + + private static String packagePath = AdaptersCustomizationCDIServletTest.class.getPackageName().replace(".", "/"); + + @BeforeEach + void logStartTest(TestInfo testInfo) { + logger.log(Logger.Level.INFO, "STARTING TEST : " + testInfo.getDisplayName()); + } + + @AfterEach + void logFinishTest(TestInfo testInfo) { + logger.log(Logger.Level.INFO, "FINISHED TEST : " + testInfo.getDisplayName()); + } + + @TargetsContainer("tck-javatest") + @OverProtocol("javatest") + @Deployment(name = VEHICLE_ARCHIVE, testable = true) + public static WebArchive createServletDeployment() throws Exception { + + // EnterpriseArchive ear = ShrinkWrap.create(EnterpriseArchive.class, + // "jsonb_cdi_customizedmapping_adapters_servlet_vehicle.ear"); + WebArchive war = ShrinkWrap.create(WebArchive.class, "jsonb_cdi_customizedmapping_adapters_servlet_vehicle_web.war"); + war.addClass(AdaptersCustomizationCDIServletTest.class).addClass(com.sun.ts.tests.common.vehicle.servlet.ServletVehicle.class) + .addClass(com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class) + .addClass(com.sun.ts.tests.common.vehicle.VehicleRunnable.class) + .addClass(com.sun.ts.tests.common.vehicle.VehicleClient.class).addClass(com.sun.ts.lib.harness.EETest.class) + .addClass(com.sun.ts.lib.harness.EETest.SetupException.class).addClass(com.sun.ts.lib.harness.EETest.Fault.class) + .addClass(com.sun.ts.lib.harness.ServiceEETest.class) + .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.AnimalIdentifier.class) + .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.AnimalJson.class) + .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.InjectedAdapter.class) + .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.InjectedListAdapter.class) + .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Animal.class) + .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.AnimalShelterInjectedAdapter.class) + .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Cat.class) + .addClass(com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Dog.class) + .addClass(AdaptersCustomizationCDITest.class); + + // InputStream inStream = AdaptersCustomizationCDIServletTest.class.getClassLoader().getResourceAsStream(packagePath + + // "/servlet_vehicle_web.xml"); + // String webXml = editWebXmlString(inStream, "jsonb_cdi_customizedmapping_adapters_servlet_vehicle"); + // war.setWebXML(new StringAsset(webXml)); + war.setWebXML(AdaptersCustomizationCDIServletTest.class.getClassLoader().getResource(packagePath + "/servlet_vehicle_web.xml")); + + // InputStream inStream = + // AdaptersCustomizationCDIServletTest.class.getClassLoader().getResourceAsStream(packagePath+"/beans.xml"); + // String beansXml = toString(inStream); + // war.addAsWebInfResource(AdaptersCustomizationCDIServletTest.class.getClassLoader().getResource(packagePath+"/beans.xml")); + + URL warResURL = AdaptersCustomizationCDIServletTest.class.getClassLoader().getResource(packagePath + "/beans.xml"); + if (warResURL != null) { + war.addAsWebResource(warResURL, "/WEB-INF/beans.xml"); + } + + return war; + // EnterpriseArchive ear = ShrinkWrap.create(EnterpriseArchive.class, + // "jsonb_cdi_customizedmapping_adapters_servlet_vehicle.ear"); + // ear.addAsModule(war); + // return ear; + + } + + /* + * @testName: testCDISupport + * + * @assertion_ids: JSONB:SPEC:JSB-4.7.1-3 + * + * @test_Strategy: Assert that CDI injection is supported in adapters + */ + @Override + @Test + @TargetVehicle("servlet") + public void testCDISupport() throws Exception { + super.testCDISupport(); + } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/AdaptersCustomizationCDITest.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/AdaptersCustomizationCDITest.java index ae0bc2a262..c763cd0dee 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/AdaptersCustomizationCDITest.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/AdaptersCustomizationCDITest.java @@ -26,6 +26,7 @@ import com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.AnimalShelterInjectedAdapter; import com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Cat; import com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Dog; + import jakarta.json.bind.Jsonb; import jakarta.json.bind.JsonbBuilder; @@ -42,55 +43,53 @@ public class AdaptersCustomizationCDITest extends ServiceEETest { - private final Jsonb jsonb = JsonbBuilder.create(); - - public static void main(String[] args) { - AdaptersCustomizationCDITest t = new AdaptersCustomizationCDITest(); - Status s = t.run(args, System.out, System.err); - s.exit(); - } + private final Jsonb jsonb = JsonbBuilder.create(); - public void setup(String[] args, Properties p) throws Exception { - // logMsg("setup ok"); - } + public static void main(String[] args) { + AdaptersCustomizationCDITest t = new AdaptersCustomizationCDITest(); + Status s = t.run(args, System.out, System.err); + s.exit(); + } - public void cleanup() throws Exception { - // logMsg("cleanup ok"); - } + public void setup(String[] args, Properties p) throws Exception { + // logMsg("setup ok"); + } + public void cleanup() throws Exception { + // logMsg("cleanup ok"); + } - /* - * @testName: testCDISupport - * - * @assertion_ids: JSONB:SPEC:JSB-4.7.1-3 - * - * @test_Strategy: Assert that CDI injection is supported in adapters - */ - public void testCDISupport() throws Exception { - AnimalShelterInjectedAdapter animalShelter = new AnimalShelterInjectedAdapter(); - animalShelter.addAnimal(new Cat(5, "Garfield", 10.5f, true, true)); - animalShelter.addAnimal(new Dog(3, "Milo", 5.5f, false, true)); - animalShelter.addAnimal(new Animal(6, "Tweety", 0.5f, false)); + /* + * @testName: testCDISupport + * + * @assertion_ids: JSONB:SPEC:JSB-4.7.1-3 + * + * @test_Strategy: Assert that CDI injection is supported in adapters + */ + public void testCDISupport() throws Exception { + AnimalShelterInjectedAdapter animalShelter = new AnimalShelterInjectedAdapter(); + animalShelter.addAnimal(new Cat(5, "Garfield", 10.5f, true, true)); + animalShelter.addAnimal(new Dog(3, "Milo", 5.5f, false, true)); + animalShelter.addAnimal(new Animal(6, "Tweety", 0.5f, false)); - String jsonString = jsonb.toJson(animalShelter); - if (!jsonString.matches("\\{\\s*\"animals\"\\s*:\\s*\\[\\s*" - + "\\{\\s*\"age\"\\s*:\\s*5\\s*,\\s*\"cuddly\"\\s*:\\s*true\\s*,\\s*\"furry\"\\s*:\\s*true\\s*,\\s*\"name\"\\s*:\\s*\"Garfield\"\\s*,\\s*\"type\"\\s*:\\s*\"CAT\"\\s*,\\s*\"weight\"\\s*:\\s*10.5\\s*}\\s*,\\s*" - + "\\{\\s*\"age\"\\s*:\\s*3\\s*,\\s*\"barking\"\\s*:\\s*true\\s*,\\s*\"furry\"\\s*:\\s*false\\s*,\\s*\"name\"\\s*:\\s*\"Milo\"\\s*,\\s*\"type\"\\s*:\\s*\"DOG\"\\s*,\\s*\"weight\"\\s*:\\s*5.5\\s*}\\s*,\\s*" - + "\\{\\s*\"age\"\\s*:\\s*6\\s*,\\s*\"furry\"\\s*:\\s*false\\s*,\\s*\"name\"\\s*:\\s*\"Tweety\"\\s*,\\s*\"type\"\\s*:\\s*\"GENERIC\"\\s*,\\s*\"weight\"\\s*:\\s*0.5\\s*}\\s*" - + "]\\s*}")) { - throw new Exception( - "Failed to correctly marshall complex type hierarchy using an adapter with a CDI managed field configured using JsonbTypeAdapter annotation to a simpler class."); - } + String jsonString = jsonb.toJson(animalShelter); + if (!jsonString.matches("\\{\\s*\"animals\"\\s*:\\s*\\[\\s*" + + "\\{\\s*\"age\"\\s*:\\s*5\\s*,\\s*\"cuddly\"\\s*:\\s*true\\s*,\\s*\"furry\"\\s*:\\s*true\\s*,\\s*\"name\"\\s*:\\s*\"Garfield\"\\s*,\\s*\"type\"\\s*:\\s*\"CAT\"\\s*,\\s*\"weight\"\\s*:\\s*10.5\\s*}\\s*,\\s*" + + "\\{\\s*\"age\"\\s*:\\s*3\\s*,\\s*\"barking\"\\s*:\\s*true\\s*,\\s*\"furry\"\\s*:\\s*false\\s*,\\s*\"name\"\\s*:\\s*\"Milo\"\\s*,\\s*\"type\"\\s*:\\s*\"DOG\"\\s*,\\s*\"weight\"\\s*:\\s*5.5\\s*}\\s*,\\s*" + + "\\{\\s*\"age\"\\s*:\\s*6\\s*,\\s*\"furry\"\\s*:\\s*false\\s*,\\s*\"name\"\\s*:\\s*\"Tweety\"\\s*,\\s*\"type\"\\s*:\\s*\"GENERIC\"\\s*,\\s*\"weight\"\\s*:\\s*0.5\\s*}\\s*" + + "]\\s*}")) { + throw new Exception( + "Failed to correctly marshall complex type hierarchy using an adapter with a CDI managed field configured using JsonbTypeAdapter annotation to a simpler class."); + } - AnimalShelterInjectedAdapter unmarshalledObject = jsonb - .fromJson("{ \"animals\" : [ " - + "{ \"age\" : 5, \"cuddly\" : true, \"furry\" : true, \"name\" : \"Garfield\" , \"type\" : \"CAT\", \"weight\" : 10.5}, " - + "{ \"age\" : 3, \"barking\" : true, \"furry\" : false, \"name\" : \"Milo\", \"type\" : \"DOG\", \"weight\" : 5.5}, " - + "{ \"age\" : 6, \"furry\" : false, \"name\" : \"Tweety\", \"type\" : \"GENERIC\", \"weight\" : 0.5}" - + " ] }", AnimalShelterInjectedAdapter.class); - if (!animalShelter.equals(unmarshalledObject)) { - throw new Exception( - "Failed to correctly unmarshall complex type hierarchy using an adapter with a CDI managed field configured using JsonbTypeAdapter annotation to a simpler class."); + AnimalShelterInjectedAdapter unmarshalledObject = jsonb.fromJson("{ \"animals\" : [ " + + "{ \"age\" : 5, \"cuddly\" : true, \"furry\" : true, \"name\" : \"Garfield\" , \"type\" : \"CAT\", \"weight\" : 10.5}, " + + "{ \"age\" : 3, \"barking\" : true, \"furry\" : false, \"name\" : \"Milo\", \"type\" : \"DOG\", \"weight\" : 5.5}, " + + "{ \"age\" : 6, \"furry\" : false, \"name\" : \"Tweety\", \"type\" : \"GENERIC\", \"weight\" : 0.5}" + " ] }", + AnimalShelterInjectedAdapter.class); + if (!animalShelter.equals(unmarshalledObject)) { + throw new Exception( + "Failed to correctly unmarshall complex type hierarchy using an adapter with a CDI managed field configured using JsonbTypeAdapter annotation to a simpler class."); + } } - } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/Animal.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/Animal.java index 9d55242586..4220097fe9 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/Animal.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/Animal.java @@ -21,80 +21,79 @@ package com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model; public class Animal { - private int age; - - private String name; - - private float weight; - - private boolean furry; - - public Animal() { - } - - public Animal(int age, String name, float weight, boolean furry) { - this.age = age; - this.name = name; - this.weight = weight; - this.furry = furry; - } - - public int getAge() { - return age; - } - - public void setAge(int age) { - this.age = age; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public float getWeight() { - return weight; - } - - public void setWeight(float weight) { - this.weight = weight; - } - - public boolean isFurry() { - return furry; - } - - public void setFurry(boolean furry) { - this.furry = furry; - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (!(o instanceof Animal)) - return false; - - Animal animal = (Animal) o; - - if (age != animal.age) - return false; - if (Float.compare(animal.weight, weight) != 0) - return false; - if (furry != animal.furry) - return false; - return name != null ? name.equals(animal.name) : animal.name == null; - } - - @Override - public int hashCode() { - int result = age; - result = 31 * result + (name != null ? name.hashCode() : 0); - result = 31 * result + (weight != +0.0f ? Float.floatToIntBits(weight) : 0); - result = 31 * result + (furry ? 1 : 0); - return result; - } + private int age; + + private String name; + + private float weight; + + private boolean furry; + + public Animal() { + } + + public Animal(int age, String name, float weight, boolean furry) { + this.age = age; + this.name = name; + this.weight = weight; + this.furry = furry; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public float getWeight() { + return weight; + } + + public void setWeight(float weight) { + this.weight = weight; + } + + public boolean isFurry() { + return furry; + } + + public void setFurry(boolean furry) { + this.furry = furry; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Animal)) { + return false; + } + + Animal animal = (Animal) o; + + if ((age != animal.age) || (Float.compare(animal.weight, weight) != 0) || (furry != animal.furry)) { + return false; + } + return name != null ? name.equals(animal.name) : animal.name == null; + } + + @Override + public int hashCode() { + int result = age; + result = 31 * result + (name != null ? name.hashCode() : 0); + result = 31 * result + (weight != +0.0f ? Float.floatToIntBits(weight) : 0); + result = 31 * result + (furry ? 1 : 0); + return result; + } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/AnimalShelterInjectedAdapter.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/AnimalShelterInjectedAdapter.java index 6353f8911a..03fd449864 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/AnimalShelterInjectedAdapter.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/AnimalShelterInjectedAdapter.java @@ -21,42 +21,44 @@ package com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model; import com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.InjectedListAdapter; + import jakarta.json.bind.annotation.JsonbTypeAdapter; import java.util.ArrayList; import java.util.List; public class AnimalShelterInjectedAdapter { - @JsonbTypeAdapter(InjectedListAdapter.class) - private List animals = new ArrayList<>(); - - public List getAnimals() { - return animals; - } - - public void setAnimals(List animals) { - this.animals = animals; - } - - public boolean addAnimal(Animal animal) { - return animals.add(animal); - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (!(o instanceof AnimalShelterInjectedAdapter)) - return false; - - AnimalShelterInjectedAdapter that = (AnimalShelterInjectedAdapter) o; - - return animals != null ? animals.equals(that.animals) - : that.animals == null; - } - - @Override - public int hashCode() { - return animals != null ? animals.hashCode() : 0; - } + @JsonbTypeAdapter(InjectedListAdapter.class) + private List animals = new ArrayList<>(); + + public List getAnimals() { + return animals; + } + + public void setAnimals(List animals) { + this.animals = animals; + } + + public boolean addAnimal(Animal animal) { + return animals.add(animal); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof AnimalShelterInjectedAdapter)) { + return false; + } + + AnimalShelterInjectedAdapter that = (AnimalShelterInjectedAdapter) o; + + return animals != null ? animals.equals(that.animals) : that.animals == null; + } + + @Override + public int hashCode() { + return animals != null ? animals.hashCode() : 0; + } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/Cat.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/Cat.java index 9262dd7202..dc3e3103a2 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/Cat.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/Cat.java @@ -21,43 +21,42 @@ package com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model; public class Cat extends Animal { - public Cat() { - } - - public Cat(int age, String name, float weight, boolean furry, - boolean cuddly) { - super(age, name, weight, furry); - this.cuddly = cuddly; - } - - private boolean cuddly; - - public boolean isCuddly() { - return cuddly; - } - - public void setCuddly(boolean cuddly) { - this.cuddly = cuddly; - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (!(o instanceof Cat)) - return false; - if (!super.equals(o)) - return false; - - Cat cat = (Cat) o; - - return cuddly == cat.cuddly; - } - - @Override - public int hashCode() { - int result = super.hashCode(); - result = 31 * result + (cuddly ? 1 : 0); - return result; - } + public Cat() { + } + + public Cat(int age, String name, float weight, boolean furry, boolean cuddly) { + super(age, name, weight, furry); + this.cuddly = cuddly; + } + + private boolean cuddly; + + public boolean isCuddly() { + return cuddly; + } + + public void setCuddly(boolean cuddly) { + this.cuddly = cuddly; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Cat) || !super.equals(o)) { + return false; + } + + Cat cat = (Cat) o; + + return cuddly == cat.cuddly; + } + + @Override + public int hashCode() { + int result = super.hashCode(); + result = 31 * result + (cuddly ? 1 : 0); + return result; + } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/Dog.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/Dog.java index 17d1794e3d..8588b600c3 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/Dog.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/Dog.java @@ -21,43 +21,42 @@ package com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model; public class Dog extends Animal { - private boolean barking; - - public Dog() { - } - - public Dog(int age, String name, float weight, boolean furry, - boolean barking) { - super(age, name, weight, furry); - this.barking = barking; - } - - public boolean isBarking() { - return barking; - } - - public void setBarking(boolean barking) { - this.barking = barking; - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (!(o instanceof Dog)) - return false; - if (!super.equals(o)) - return false; - - Dog dog = (Dog) o; - - return barking == dog.barking; - } - - @Override - public int hashCode() { - int result = super.hashCode(); - result = 31 * result + (barking ? 1 : 0); - return result; - } + private boolean barking; + + public Dog() { + } + + public Dog(int age, String name, float weight, boolean furry, boolean barking) { + super(age, name, weight, furry); + this.barking = barking; + } + + public boolean isBarking() { + return barking; + } + + public void setBarking(boolean barking) { + this.barking = barking; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Dog) || !super.equals(o)) { + return false; + } + + Dog dog = (Dog) o; + + return barking == dog.barking; + } + + @Override + public int hashCode() { + int result = super.hashCode(); + result = 31 * result + (barking ? 1 : 0); + return result; + } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/adapter/AnimalIdentifier.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/adapter/AnimalIdentifier.java index a40dd00446..c6e44ea742 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/adapter/AnimalIdentifier.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/adapter/AnimalIdentifier.java @@ -29,13 +29,13 @@ import static com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.AnimalJson.TYPE.GENERIC; public class AnimalIdentifier { - public AnimalJson.TYPE getType(Animal animal) { - if (Cat.class.isAssignableFrom(animal.getClass())) { - return CAT; - } else if (Dog.class.isAssignableFrom(animal.getClass())) { - return DOG; - } else { - return GENERIC; + public AnimalJson.TYPE getType(Animal animal) { + if (Cat.class.isAssignableFrom(animal.getClass())) { + return CAT; + } else if (Dog.class.isAssignableFrom(animal.getClass())) { + return DOG; + } else { + return GENERIC; + } } - } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/adapter/AnimalJson.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/adapter/AnimalJson.java index 205f5393a8..9005b74e93 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/adapter/AnimalJson.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/adapter/AnimalJson.java @@ -21,77 +21,77 @@ package com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter; public class AnimalJson { - public enum TYPE { - CAT, DOG, GENERIC - } + public enum TYPE { + CAT, DOG, GENERIC + } - private TYPE type; + private TYPE type; - private int age; + private int age; - private String name; + private String name; - private float weight; + private float weight; - private Boolean furry; + private Boolean furry; - private Boolean cuddly; + private Boolean cuddly; - private Boolean barking; + private Boolean barking; - public TYPE getType() { - return type; - } + public TYPE getType() { + return type; + } - public void setType(TYPE type) { - this.type = type; - } + public void setType(TYPE type) { + this.type = type; + } - public int getAge() { - return age; - } + public int getAge() { + return age; + } - public void setAge(int age) { - this.age = age; - } + public void setAge(int age) { + this.age = age; + } - public String getName() { - return name; - } + public String getName() { + return name; + } - public void setName(String name) { - this.name = name; - } + public void setName(String name) { + this.name = name; + } - public float getWeight() { - return weight; - } + public float getWeight() { + return weight; + } - public void setWeight(float weight) { - this.weight = weight; - } + public void setWeight(float weight) { + this.weight = weight; + } - public Boolean isFurry() { - return furry; - } + public Boolean isFurry() { + return furry; + } - public void setFurry(Boolean furry) { - this.furry = furry; - } + public void setFurry(Boolean furry) { + this.furry = furry; + } - public Boolean isCuddly() { - return cuddly; - } + public Boolean isCuddly() { + return cuddly; + } - public void setCuddly(Boolean cuddly) { - this.cuddly = cuddly; - } + public void setCuddly(Boolean cuddly) { + this.cuddly = cuddly; + } - public Boolean isBarking() { - return barking; - } + public Boolean isBarking() { + return barking; + } - public void setBarking(Boolean barking) { - this.barking = barking; - } + public void setBarking(Boolean barking) { + this.barking = barking; + } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/adapter/InjectedAdapter.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/adapter/InjectedAdapter.java index 147dd81805..b4a589a237 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/adapter/InjectedAdapter.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/adapter/InjectedAdapter.java @@ -19,6 +19,7 @@ import com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Animal; import com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Cat; import com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Dog; + import jakarta.inject.Inject; import jakarta.json.bind.adapter.JsonbAdapter; @@ -27,50 +28,50 @@ import static com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter.AnimalJson.TYPE.GENERIC; public class InjectedAdapter implements JsonbAdapter { - @Inject - private AnimalIdentifier animalIdentifier; + @Inject + private AnimalIdentifier animalIdentifier; - @Override - public AnimalJson adaptToJson(Animal animal) throws Exception { - AnimalJson adapted = new AnimalJson(); - switch (animalIdentifier.getType(animal)) { - case CAT: - adapted.setType(CAT); - adapted.setCuddly(((Cat) animal).isCuddly()); - break; - case DOG: - adapted.setType(DOG); - adapted.setBarking(((Dog) animal).isBarking()); - break; - default: - adapted.setType(GENERIC); + @Override + public AnimalJson adaptToJson(Animal animal) throws Exception { + AnimalJson adapted = new AnimalJson(); + switch (animalIdentifier.getType(animal)) { + case CAT: + adapted.setType(CAT); + adapted.setCuddly(((Cat) animal).isCuddly()); + break; + case DOG: + adapted.setType(DOG); + adapted.setBarking(((Dog) animal).isBarking()); + break; + default: + adapted.setType(GENERIC); + } + adapted.setName(animal.getName()); + adapted.setAge(animal.getAge()); + adapted.setFurry(animal.isFurry()); + adapted.setWeight(animal.getWeight()); + return adapted; } - adapted.setName(animal.getName()); - adapted.setAge(animal.getAge()); - adapted.setFurry(animal.isFurry()); - adapted.setWeight(animal.getWeight()); - return adapted; - } - @Override - public Animal adaptFromJson(AnimalJson adapted) throws Exception { - Animal animal; - switch (adapted.getType()) { - case CAT: - animal = new Cat(); - ((Cat) animal).setCuddly(adapted.isCuddly()); - break; - case DOG: - animal = new Dog(); - ((Dog) animal).setBarking(adapted.isBarking()); - break; - default: - animal = new Animal(); + @Override + public Animal adaptFromJson(AnimalJson adapted) throws Exception { + Animal animal; + switch (adapted.getType()) { + case CAT: + animal = new Cat(); + ((Cat) animal).setCuddly(adapted.isCuddly()); + break; + case DOG: + animal = new Dog(); + ((Dog) animal).setBarking(adapted.isBarking()); + break; + default: + animal = new Animal(); + } + animal.setName(adapted.getName()); + animal.setAge(adapted.getAge()); + animal.setFurry(adapted.isFurry()); + animal.setWeight(adapted.getWeight()); + return animal; } - animal.setName(adapted.getName()); - animal.setAge(adapted.getAge()); - animal.setFurry(adapted.isFurry()); - animal.setWeight(adapted.getWeight()); - return animal; - } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/adapter/InjectedListAdapter.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/adapter/InjectedListAdapter.java index e660b702f2..bc8c1b846f 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/adapter/InjectedListAdapter.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/adapters/model/adapter/InjectedListAdapter.java @@ -21,32 +21,32 @@ package com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.adapter; import com.sun.ts.tests.jsonb.cdi.customizedmapping.adapters.model.Animal; + import jakarta.inject.Inject; import jakarta.json.bind.adapter.JsonbAdapter; import java.util.ArrayList; import java.util.List; -public class InjectedListAdapter - implements JsonbAdapter, List> { - @Inject - private InjectedAdapter animalAdapter; +public class InjectedListAdapter implements JsonbAdapter, List> { + @Inject + private InjectedAdapter animalAdapter; - @Override - public List adaptToJson(List animals) throws Exception { - List adapted = new ArrayList<>(); - for (Animal animal : animals) { - adapted.add(animalAdapter.adaptToJson(animal)); + @Override + public List adaptToJson(List animals) throws Exception { + List adapted = new ArrayList<>(); + for (Animal animal : animals) { + adapted.add(animalAdapter.adaptToJson(animal)); + } + return adapted; } - return adapted; - } - - @Override - public List adaptFromJson(List adapted) throws Exception { - List animals = new ArrayList<>(); - for (AnimalJson animal : adapted) { - animals.add(animalAdapter.adaptFromJson(animal)); + + @Override + public List adaptFromJson(List adapted) throws Exception { + List animals = new ArrayList<>(); + for (AnimalJson animal : adapted) { + animals.add(animalAdapter.adaptFromJson(animal)); + } + return animals; } - return animals; - } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/SerializersCustomizationCDIEjbTest.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/SerializersCustomizationCDIEjbTest.java index 0a9e3273d5..8909417d80 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/SerializersCustomizationCDIEjbTest.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/SerializersCustomizationCDIEjbTest.java @@ -21,6 +21,10 @@ package com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers; import com.sun.ts.lib.harness.Status; + +import java.lang.System.Logger; +import java.net.URL; + import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.OverProtocol; import org.jboss.arquillian.container.test.api.TargetsContainer; @@ -36,12 +40,10 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInfo; import org.junit.jupiter.api.extension.ExtendWith; + import tck.arquillian.porting.lib.spi.TestArchiveProcessor; import tck.arquillian.protocol.common.TargetVehicle; -import java.lang.System.Logger; -import java.net.URL; - /** * @test * @sources SerializersCustomizationTest.java @@ -53,137 +55,128 @@ @ExtendWith(ArquillianExtension.class) public class SerializersCustomizationCDIEjbTest extends SerializersCustomizationCDITest { - static final String VEHICLE_ARCHIVE = "jsonb_cdi_customizedmapping_serializers_servlet_vehicle"; - - public static void main(String[] args) { - SerializersCustomizationCDIEjbTest t = new SerializersCustomizationCDIEjbTest(); - Status s = t.run(args, System.out, System.err); - s.exit(); - } - - private static final Logger logger = System.getLogger(SerializersCustomizationCDIEjbTest.class.getName()); - - private static String packagePath = SerializersCustomizationCDIEjbTest.class.getPackageName().replace(".", "/"); - - @BeforeEach - void logStartTest(TestInfo testInfo) { - logger.log(Logger.Level.INFO, "STARTING TEST : " + testInfo.getDisplayName()); - } - - @AfterEach - void logFinishTest(TestInfo testInfo) { - logger.log(Logger.Level.INFO, "FINISHED TEST : " + testInfo.getDisplayName()); - } - - @TargetsContainer("tck-appclient") - @OverProtocol("appclient") - @Deployment(name = VEHICLE_ARCHIVE, order = 2) - public static EnterpriseArchive createDeploymentVehicle(@ArquillianResource TestArchiveProcessor archiveProcessor) { - - JavaArchive jsonb_cdi_customizedmapping_serializers_ejb_vehicle_client = ShrinkWrap.create(JavaArchive.class, "jsonb_cdi_customizedmapping_serializers_ejb_vehicle_client.jar"); - jsonb_cdi_customizedmapping_serializers_ejb_vehicle_client.addClasses( - com.sun.ts.tests.common.vehicle.EmptyVehicleRunner.class, - com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class, - com.sun.ts.tests.common.vehicle.VehicleRunnable.class, - com.sun.ts.tests.common.vehicle.VehicleClient.class, - com.sun.ts.tests.common.vehicle.ejb.EJBVehicleRemote.class, - com.sun.ts.tests.common.vehicle.ejb.EJBVehicleRunner.class, - com.sun.ts.lib.harness.EETest.class, - com.sun.ts.lib.harness.EETest.Fault.class, - com.sun.ts.lib.harness.EETest.SetupException.class, - com.sun.ts.lib.harness.ServiceEETest.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalSerializer.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalListSerializer.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalListDeserializerInjected.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalDeserializerInjected.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalDeserializer.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalBuilder.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.AnimalShelterWithInjectedSerializer.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Animal.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Cat.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Dog.class, - SerializersCustomizationCDIEjbTest.class, - SerializersCustomizationCDITest.class - ); - - URL resURL = SerializersCustomizationCDIEjbTest.class.getClassLoader().getResource(packagePath+"/ejb_vehicle_client.xml"); - if(resURL != null) { - jsonb_cdi_customizedmapping_serializers_ejb_vehicle_client.addAsManifestResource(resURL, "application-client.xml"); + static final String VEHICLE_ARCHIVE = "jsonb_cdi_customizedmapping_serializers_servlet_vehicle"; + + public static void main(String[] args) { + SerializersCustomizationCDIEjbTest t = new SerializersCustomizationCDIEjbTest(); + Status s = t.run(args, System.out, System.err); + s.exit(); } - jsonb_cdi_customizedmapping_serializers_ejb_vehicle_client.addAsManifestResource(new StringAsset("Main-Class: com.sun.ts.tests.common.vehicle.VehicleClient\n"), "MANIFEST.MF"); - resURL = SerializersCustomizationCDIEjbTest.class.getClassLoader().getResource(packagePath+"/ejb_vehicle_client.jar.sun-application-client.xml"); - if(resURL != null) { - jsonb_cdi_customizedmapping_serializers_ejb_vehicle_client.addAsManifestResource(resURL, "sun-application-client.xml"); + private static final Logger logger = System.getLogger(SerializersCustomizationCDIEjbTest.class.getName()); + + private static String packagePath = SerializersCustomizationCDIEjbTest.class.getPackageName().replace(".", "/"); + + @BeforeEach + void logStartTest(TestInfo testInfo) { + logger.log(Logger.Level.INFO, "STARTING TEST : " + testInfo.getDisplayName()); } - archiveProcessor.processClientArchive(jsonb_cdi_customizedmapping_serializers_ejb_vehicle_client, SerializersCustomizationCDIEjbTest.class, resURL); - - - JavaArchive jsonb_cdi_customizedmapping_serializers_ejb_vehicle_ejb = ShrinkWrap.create(JavaArchive.class, "jsonb_cdi_customizedmapping_serializers_ejb_vehicle_ejb.jar"); - jsonb_cdi_customizedmapping_serializers_ejb_vehicle_ejb.addClasses( - com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class, - com.sun.ts.tests.common.vehicle.VehicleRunnable.class, - com.sun.ts.tests.common.vehicle.VehicleClient.class, - com.sun.ts.tests.common.vehicle.ejb.EJBVehicleRemote.class, - com.sun.ts.tests.common.vehicle.ejb.EJBVehicle.class, - com.sun.ts.lib.harness.EETest.class, - com.sun.ts.lib.harness.EETest.Fault.class, - com.sun.ts.lib.harness.EETest.SetupException.class, - com.sun.ts.lib.harness.ServiceEETest.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalSerializer.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalListSerializer.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalListDeserializerInjected.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalDeserializerInjected.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalDeserializer.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalBuilder.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalBuilder.TYPE.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Animal.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Cat.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Dog.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.AnimalShelterWithInjectedSerializer.class, - SerializersCustomizationCDIEjbTest.class, - SerializersCustomizationCDITest.class - ); - - // The ejb-jar.xml descriptor - URL ejbResURL = SerializersCustomizationCDIEjbTest.class.getClassLoader().getResource(packagePath+"/ejb_vehicle_ejb.xml"); - if(ejbResURL != null) { - jsonb_cdi_customizedmapping_serializers_ejb_vehicle_ejb.addAsManifestResource(ejbResURL, "ejb-jar.xml"); + @AfterEach + void logFinishTest(TestInfo testInfo) { + logger.log(Logger.Level.INFO, "FINISHED TEST : " + testInfo.getDisplayName()); } - URL warResURL = SerializersCustomizationCDIEjbTest.class.getClassLoader().getResource(packagePath+"/beans.xml"); - if(warResURL != null) { - jsonb_cdi_customizedmapping_serializers_ejb_vehicle_ejb.addAsManifestResource(warResURL, "beans.xml"); + + @TargetsContainer("tck-appclient") + @OverProtocol("appclient") + @Deployment(name = VEHICLE_ARCHIVE, order = 2) + public static EnterpriseArchive createDeploymentVehicle(@ArquillianResource TestArchiveProcessor archiveProcessor) { + + JavaArchive jsonb_cdi_customizedmapping_serializers_ejb_vehicle_client = ShrinkWrap.create(JavaArchive.class, + "jsonb_cdi_customizedmapping_serializers_ejb_vehicle_client.jar"); + jsonb_cdi_customizedmapping_serializers_ejb_vehicle_client.addClasses(com.sun.ts.tests.common.vehicle.EmptyVehicleRunner.class, + com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class, com.sun.ts.tests.common.vehicle.VehicleRunnable.class, + com.sun.ts.tests.common.vehicle.VehicleClient.class, com.sun.ts.tests.common.vehicle.ejb.EJBVehicleRemote.class, + com.sun.ts.tests.common.vehicle.ejb.EJBVehicleRunner.class, com.sun.ts.lib.harness.EETest.class, + com.sun.ts.lib.harness.EETest.Fault.class, com.sun.ts.lib.harness.EETest.SetupException.class, + com.sun.ts.lib.harness.ServiceEETest.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalSerializer.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalListSerializer.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalListDeserializerInjected.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalDeserializerInjected.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalDeserializer.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalBuilder.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.AnimalShelterWithInjectedSerializer.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Animal.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Cat.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Dog.class, SerializersCustomizationCDIEjbTest.class, + SerializersCustomizationCDITest.class); + + URL resURL = SerializersCustomizationCDIEjbTest.class.getClassLoader().getResource(packagePath + "/ejb_vehicle_client.xml"); + if (resURL != null) { + jsonb_cdi_customizedmapping_serializers_ejb_vehicle_client.addAsManifestResource(resURL, "application-client.xml"); + } + jsonb_cdi_customizedmapping_serializers_ejb_vehicle_client + .addAsManifestResource(new StringAsset("Main-Class: com.sun.ts.tests.common.vehicle.VehicleClient\n"), "MANIFEST.MF"); + + resURL = SerializersCustomizationCDIEjbTest.class.getClassLoader() + .getResource(packagePath + "/ejb_vehicle_client.jar.sun-application-client.xml"); + if (resURL != null) { + jsonb_cdi_customizedmapping_serializers_ejb_vehicle_client.addAsManifestResource(resURL, "sun-application-client.xml"); + } + + archiveProcessor.processClientArchive(jsonb_cdi_customizedmapping_serializers_ejb_vehicle_client, + SerializersCustomizationCDIEjbTest.class, resURL); + + JavaArchive jsonb_cdi_customizedmapping_serializers_ejb_vehicle_ejb = ShrinkWrap.create(JavaArchive.class, + "jsonb_cdi_customizedmapping_serializers_ejb_vehicle_ejb.jar"); + jsonb_cdi_customizedmapping_serializers_ejb_vehicle_ejb.addClasses(com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class, + com.sun.ts.tests.common.vehicle.VehicleRunnable.class, com.sun.ts.tests.common.vehicle.VehicleClient.class, + com.sun.ts.tests.common.vehicle.ejb.EJBVehicleRemote.class, com.sun.ts.tests.common.vehicle.ejb.EJBVehicle.class, + com.sun.ts.lib.harness.EETest.class, com.sun.ts.lib.harness.EETest.Fault.class, + com.sun.ts.lib.harness.EETest.SetupException.class, com.sun.ts.lib.harness.ServiceEETest.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalSerializer.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalListSerializer.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalListDeserializerInjected.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalDeserializerInjected.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalDeserializer.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalBuilder.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalBuilder.TYPE.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Animal.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Cat.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Dog.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.AnimalShelterWithInjectedSerializer.class, + SerializersCustomizationCDIEjbTest.class, SerializersCustomizationCDITest.class); + + // The ejb-jar.xml descriptor + URL ejbResURL = SerializersCustomizationCDIEjbTest.class.getClassLoader().getResource(packagePath + "/ejb_vehicle_ejb.xml"); + if (ejbResURL != null) { + jsonb_cdi_customizedmapping_serializers_ejb_vehicle_ejb.addAsManifestResource(ejbResURL, "ejb-jar.xml"); + } + URL warResURL = SerializersCustomizationCDIEjbTest.class.getClassLoader().getResource(packagePath + "/beans.xml"); + if (warResURL != null) { + jsonb_cdi_customizedmapping_serializers_ejb_vehicle_ejb.addAsManifestResource(warResURL, "beans.xml"); + } + + // The sun-ejb-jar.xml file need to be added or should this be in in the vendor Arquillian extension? + ejbResURL = SerializersCustomizationCDIEjbTest.class.getClassLoader() + .getResource(packagePath + "/ejb_vehicle_ejb.jar.sun-ejb-jar.xml"); + if (ejbResURL != null) { + jsonb_cdi_customizedmapping_serializers_ejb_vehicle_ejb.addAsManifestResource(ejbResURL, "sun-ejb-jar.xml"); + } + archiveProcessor.processEjbArchive(jsonb_cdi_customizedmapping_serializers_ejb_vehicle_ejb, + SerializersCustomizationCDIEjbTest.class, ejbResURL); + + EnterpriseArchive ear = ShrinkWrap.create(EnterpriseArchive.class, "jsonb_cdi_customizedmapping_serializers_ejb_vehicle.ear"); + ear.addAsModule(jsonb_cdi_customizedmapping_serializers_ejb_vehicle_client); + ear.addAsModule(jsonb_cdi_customizedmapping_serializers_ejb_vehicle_ejb); + + return ear; + } - // The sun-ejb-jar.xml file need to be added or should this be in in the vendor Arquillian extension? - ejbResURL = SerializersCustomizationCDIEjbTest.class.getClassLoader().getResource(packagePath+"/ejb_vehicle_ejb.jar.sun-ejb-jar.xml"); - if(ejbResURL != null) { - jsonb_cdi_customizedmapping_serializers_ejb_vehicle_ejb.addAsManifestResource(ejbResURL, "sun-ejb-jar.xml"); + /* + * @testName: testCDISupport + * + * @assertion_ids: JSONB:SPEC:JSB-4.7.2-3 + * + * @test_Strategy: Assert that CDI injection is supported in serializers and deserializers + */ + @Override + @Test + @TargetVehicle("ejb") + public void testCDISupport() throws Exception { + super.testCDISupport(); } - archiveProcessor.processEjbArchive(jsonb_cdi_customizedmapping_serializers_ejb_vehicle_ejb, SerializersCustomizationCDIEjbTest.class, ejbResURL); - - EnterpriseArchive ear = ShrinkWrap.create(EnterpriseArchive.class, "jsonb_cdi_customizedmapping_serializers_ejb_vehicle.ear"); - ear.addAsModule(jsonb_cdi_customizedmapping_serializers_ejb_vehicle_client); - ear.addAsModule(jsonb_cdi_customizedmapping_serializers_ejb_vehicle_ejb); - - return ear; - - } - - - /* - * @testName: testCDISupport - * - * @assertion_ids: JSONB:SPEC:JSB-4.7.2-3 - * - * @test_Strategy: Assert that CDI injection is supported in serializers and - * deserializers - */ - @Test - @TargetVehicle("ejb") - public void testCDISupport() throws Exception { - super.testCDISupport(); - } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/SerializersCustomizationCDIJspTest.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/SerializersCustomizationCDIJspTest.java index 92e7004860..61e456040c 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/SerializersCustomizationCDIJspTest.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/SerializersCustomizationCDIJspTest.java @@ -21,6 +21,10 @@ package com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers; import com.sun.ts.lib.harness.Status; + +import java.lang.System.Logger; +import java.net.URL; + import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.OverProtocol; import org.jboss.arquillian.container.test.api.TargetsContainer; @@ -33,10 +37,8 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInfo; import org.junit.jupiter.api.extension.ExtendWith; -import tck.arquillian.protocol.common.TargetVehicle; -import java.lang.System.Logger; -import java.net.URL; +import tck.arquillian.protocol.common.TargetVehicle; /** * @test @@ -50,86 +52,79 @@ @ExtendWith(ArquillianExtension.class) public class SerializersCustomizationCDIJspTest extends SerializersCustomizationCDITest { - static final String VEHICLE_ARCHIVE = "jsonb_cdi_customizedmapping_serializers_jsp_vehicle"; - - public static void main(String[] args) { - SerializersCustomizationCDIJspTest t = new SerializersCustomizationCDIJspTest(); - Status s = t.run(args, System.out, System.err); - s.exit(); - } - - private static final Logger logger = System.getLogger(SerializersCustomizationCDIJspTest.class.getName()); - - private static String packagePath = SerializersCustomizationCDIJspTest.class.getPackageName().replace(".", "/"); - - @BeforeEach - void logStartTest(TestInfo testInfo) { - logger.log(Logger.Level.INFO, "STARTING TEST : " + testInfo.getDisplayName()); - } - - @AfterEach - void logFinishTest(TestInfo testInfo) { - logger.log(Logger.Level.INFO, "FINISHED TEST : " + testInfo.getDisplayName()); - } - - @TargetsContainer("tck-javatest") - @OverProtocol("javatest") - @Deployment(name = VEHICLE_ARCHIVE, testable = true) - public static WebArchive createServletDeployment() throws Exception { - - WebArchive jsonb_cdi_customizedmapping_serializers_jsp_vehicle = ShrinkWrap.create(WebArchive.class, "jsonb_cdi_customizedmapping_serializers_jsp_vehicle_web.war"); - jsonb_cdi_customizedmapping_serializers_jsp_vehicle.addClasses(SerializersCustomizationCDIJspTest.class, - com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class, - com.sun.ts.tests.common.vehicle.VehicleRunnable.class, - com.sun.ts.tests.common.vehicle.VehicleClient.class, - com.sun.ts.lib.harness.EETest.class, - com.sun.ts.lib.harness.EETest.SetupException.class, - com.sun.ts.lib.harness.EETest.Fault.class, - com.sun.ts.lib.harness.ServiceEETest.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalBuilder.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalBuilder.TYPE.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalDeserializer.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalDeserializerInjected.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalListDeserializerInjected.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalListSerializer.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalSerializer.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Animal.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.AnimalShelterWithInjectedSerializer.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Cat.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Dog.class, - SerializersCustomizationCDITest.class); - - jsonb_cdi_customizedmapping_serializers_jsp_vehicle.setWebXML(SerializersCustomizationCDIJspTest.class.getClassLoader().getResource(packagePath+"/jsp_vehicle_web.xml")); - URL warResURL = SerializersCustomizationCDIJspTest.class.getClassLoader().getResource(packagePath+"/beans.xml"); - if(warResURL != null) { - jsonb_cdi_customizedmapping_serializers_jsp_vehicle.addAsWebResource(warResURL, "/WEB-INF/beans.xml"); + static final String VEHICLE_ARCHIVE = "jsonb_cdi_customizedmapping_serializers_jsp_vehicle"; + + public static void main(String[] args) { + SerializersCustomizationCDIJspTest t = new SerializersCustomizationCDIJspTest(); + Status s = t.run(args, System.out, System.err); + s.exit(); } - // Web content - URL resURL = SerializersCustomizationCDIJspTest.class.getResource("/vehicle/jsp/contentRoot/jsp_vehicle.jsp"); - jsonb_cdi_customizedmapping_serializers_jsp_vehicle.addAsWebResource(resURL, "/jsp_vehicle.jsp"); - resURL = SerializersCustomizationCDIJspTest.class.getResource("/vehicle/jsp/contentRoot/client.html"); - jsonb_cdi_customizedmapping_serializers_jsp_vehicle.addAsWebResource(resURL, "/client.html"); - - return jsonb_cdi_customizedmapping_serializers_jsp_vehicle; - // EnterpriseArchive ear = ShrinkWrap.create(EnterpriseArchive.class, "jsonb_cdi_customizedmapping_serializers_jsp_vehicle.ear"); - // ear.addAsModule(jsonb_cdi_customizedmapping_serializers_jsp_vehicle); - // return ear; - - } - - - /* - * @testName: testCDISupport - * - * @assertion_ids: JSONB:SPEC:JSB-4.7.2-3 - * - * @test_Strategy: Assert that CDI injection is supported in serializers and - * deserializers - */ - @Test - @TargetVehicle("jsp") - public void testCDISupport() throws Exception { - super.testCDISupport(); - } + private static final Logger logger = System.getLogger(SerializersCustomizationCDIJspTest.class.getName()); + + private static String packagePath = SerializersCustomizationCDIJspTest.class.getPackageName().replace(".", "/"); + + @BeforeEach + void logStartTest(TestInfo testInfo) { + logger.log(Logger.Level.INFO, "STARTING TEST : " + testInfo.getDisplayName()); + } + + @AfterEach + void logFinishTest(TestInfo testInfo) { + logger.log(Logger.Level.INFO, "FINISHED TEST : " + testInfo.getDisplayName()); + } + + @TargetsContainer("tck-javatest") + @OverProtocol("javatest") + @Deployment(name = VEHICLE_ARCHIVE, testable = true) + public static WebArchive createServletDeployment() throws Exception { + + WebArchive jsonb_cdi_customizedmapping_serializers_jsp_vehicle = ShrinkWrap.create(WebArchive.class, + "jsonb_cdi_customizedmapping_serializers_jsp_vehicle_web.war"); + jsonb_cdi_customizedmapping_serializers_jsp_vehicle.addClasses(SerializersCustomizationCDIJspTest.class, + com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class, com.sun.ts.tests.common.vehicle.VehicleRunnable.class, + com.sun.ts.tests.common.vehicle.VehicleClient.class, com.sun.ts.lib.harness.EETest.class, + com.sun.ts.lib.harness.EETest.SetupException.class, com.sun.ts.lib.harness.EETest.Fault.class, + com.sun.ts.lib.harness.ServiceEETest.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalBuilder.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalBuilder.TYPE.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalDeserializer.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalDeserializerInjected.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalListDeserializerInjected.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalListSerializer.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalSerializer.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Animal.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.AnimalShelterWithInjectedSerializer.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Cat.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Dog.class, SerializersCustomizationCDITest.class); + + jsonb_cdi_customizedmapping_serializers_jsp_vehicle + .setWebXML(SerializersCustomizationCDIJspTest.class.getClassLoader().getResource(packagePath + "/jsp_vehicle_web.xml")); + URL warResURL = SerializersCustomizationCDIJspTest.class.getClassLoader().getResource(packagePath + "/beans.xml"); + if (warResURL != null) { + jsonb_cdi_customizedmapping_serializers_jsp_vehicle.addAsWebResource(warResURL, "/WEB-INF/beans.xml"); + } + + // Web content + URL resURL = SerializersCustomizationCDIJspTest.class.getResource("/vehicle/jsp/contentRoot/jsp_vehicle.jsp"); + jsonb_cdi_customizedmapping_serializers_jsp_vehicle.addAsWebResource(resURL, "/jsp_vehicle.jsp"); + resURL = SerializersCustomizationCDIJspTest.class.getResource("/vehicle/jsp/contentRoot/client.html"); + jsonb_cdi_customizedmapping_serializers_jsp_vehicle.addAsWebResource(resURL, "/client.html"); + + return jsonb_cdi_customizedmapping_serializers_jsp_vehicle; + } + + /* + * @testName: testCDISupport + * + * @assertion_ids: JSONB:SPEC:JSB-4.7.2-3 + * + * @test_Strategy: Assert that CDI injection is supported in serializers and deserializers + */ + @Override + @Test + @TargetVehicle("jsp") + public void testCDISupport() throws Exception { + super.testCDISupport(); + } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/SerializersCustomizationCDIServletTest.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/SerializersCustomizationCDIServletTest.java index 5ec7d76c5b..926f742755 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/SerializersCustomizationCDIServletTest.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/SerializersCustomizationCDIServletTest.java @@ -25,8 +25,13 @@ import com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.AnimalShelterWithInjectedSerializer; import com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Cat; import com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Dog; + import jakarta.json.bind.Jsonb; import jakarta.json.bind.JsonbBuilder; + +import java.lang.System.Logger; +import java.net.URL; + import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.OverProtocol; import org.jboss.arquillian.container.test.api.TargetsContainer; @@ -39,10 +44,8 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInfo; import org.junit.jupiter.api.extension.ExtendWith; -import tck.arquillian.protocol.common.TargetVehicle; -import java.lang.System.Logger; -import java.net.URL; +import tck.arquillian.protocol.common.TargetVehicle; /** * @test @@ -56,110 +59,98 @@ @ExtendWith(ArquillianExtension.class) public class SerializersCustomizationCDIServletTest extends SerializersCustomizationCDITest { - private static final long serialVersionUID = 10L; - - static final String VEHICLE_ARCHIVE = "jsonb_cdi_customizedmapping_serializers_servlet_vehicle"; - - private final Jsonb jsonb = JsonbBuilder.create(); - - public static void main(String[] args) { - SerializersCustomizationCDIServletTest t = new SerializersCustomizationCDIServletTest(); - Status s = t.run(args, System.out, System.err); - s.exit(); - } - - private static final Logger logger = System.getLogger(SerializersCustomizationCDIServletTest.class.getName()); - - private static String packagePath = SerializersCustomizationCDIServletTest.class.getPackageName().replace(".", "/"); - - @BeforeEach - void logStartTest(TestInfo testInfo) { - logger.log(Logger.Level.INFO, "STARTING TEST : " + testInfo.getDisplayName()); - } - - @AfterEach - void logFinishTest(TestInfo testInfo) { - logger.log(Logger.Level.INFO, "FINISHED TEST : " + testInfo.getDisplayName()); - } - - @TargetsContainer("tck-javatest") - @OverProtocol("javatest") - @Deployment(name = VEHICLE_ARCHIVE, testable = true) - public static WebArchive createServletDeployment() throws Exception { - - WebArchive war = ShrinkWrap.create(WebArchive.class, "jsonb_cdi_customizedmapping_serializers_servlet_vehicle_web.war"); - war.addClasses(SerializersCustomizationCDIServletTest.class, - com.sun.ts.tests.common.vehicle.servlet.ServletVehicle.class, - com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class, - com.sun.ts.tests.common.vehicle.VehicleRunnable.class, - com.sun.ts.tests.common.vehicle.VehicleClient.class, - com.sun.ts.lib.harness.EETest.class, - com.sun.ts.lib.harness.EETest.SetupException.class, - com.sun.ts.lib.harness.EETest.Fault.class, - com.sun.ts.lib.harness.ServiceEETest.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalBuilder.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalBuilder.TYPE.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalDeserializer.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalDeserializerInjected.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalListDeserializerInjected.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalListSerializer.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalSerializer.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Animal.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.AnimalShelterWithInjectedSerializer.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Cat.class, - com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Dog.class, - SerializersCustomizationCDITest.class); - - - war.setWebXML(SerializersCustomizationCDIServletTest.class.getClassLoader().getResource(packagePath+"/servlet_vehicle_web.xml")); - URL warResURL = SerializersCustomizationCDIServletTest.class.getClassLoader().getResource(packagePath+"/beans.xml"); - if(warResURL != null) { - war.addAsWebResource(warResURL, "/WEB-INF/beans.xml"); + private static final long serialVersionUID = 10L; + + static final String VEHICLE_ARCHIVE = "jsonb_cdi_customizedmapping_serializers_servlet_vehicle"; + + private final Jsonb jsonb = JsonbBuilder.create(); + + public static void main(String[] args) { + SerializersCustomizationCDIServletTest t = new SerializersCustomizationCDIServletTest(); + Status s = t.run(args, System.out, System.err); + s.exit(); + } + + private static final Logger logger = System.getLogger(SerializersCustomizationCDIServletTest.class.getName()); + + private static String packagePath = SerializersCustomizationCDIServletTest.class.getPackageName().replace(".", "/"); + + @BeforeEach + void logStartTest(TestInfo testInfo) { + logger.log(Logger.Level.INFO, "STARTING TEST : " + testInfo.getDisplayName()); + } + + @AfterEach + void logFinishTest(TestInfo testInfo) { + logger.log(Logger.Level.INFO, "FINISHED TEST : " + testInfo.getDisplayName()); } - return war; - // EnterpriseArchive ear = ShrinkWrap.create(EnterpriseArchive.class, "jsonb_cdi_customizedmapping_serializers_servlet_vehicle.ear"); - // ear.addAsModule(war); - // return ear; - - } - - - /* - * @testName: testCDISupport - * - * @assertion_ids: JSONB:SPEC:JSB-4.7.2-3 - * - * @test_Strategy: Assert that CDI injection is supported in serializers and - * deserializers - */ - @Test - @TargetVehicle("servlet") - public void testCDISupport() throws Exception { - AnimalShelterWithInjectedSerializer animalShelter = new AnimalShelterWithInjectedSerializer(); - animalShelter.addAnimal(new Cat(5, "Garfield", 10.5f, true, true)); - animalShelter.addAnimal(new Dog(3, "Milo", 5.5f, false, true)); - animalShelter.addAnimal(new Animal(6, "Tweety", 0.5f, false)); - - String jsonString = jsonb.toJson(animalShelter); - if (!jsonString.matches("\\{\\s*\"animals\"\\s*:\\s*\\[\\s*" - + "\\{\\s*\"type\"\\s*:\\s*\"cat\"\\s*,\\s*\"cuddly\"\\s*:\\s*true\\s*,\\s*\"age\"\\s*:\\s*5\\s*,\\s*\"furry\"\\s*:\\s*true\\s*,\\s*\"name\"\\s*:\\s*\"Garfield\"\\s*,\\s*\"weight\"\\s*:\\s*10.5\\s*}\\s*,\\s*" - + "\\{\\s*\"type\"\\s*:\\s*\"dog\"\\s*,\\s*\"barking\"\\s*:\\s*true\\s*,\\s*\"age\"\\s*:\\s*3\\s*,\\s*\"furry\"\\s*:\\s*false\\s*,\\s*\"name\"\\s*:\\s*\"Milo\"\\s*,\\s*\"weight\"\\s*:\\s*5.5\\s*}\\s*,\\s*" - + "\\{\\s*\"type\"\\s*:\\s*\"animal\"\\s*,\\s*\"age\"\\s*:\\s*6\\s*,\\s*\"furry\"\\s*:\\s*false\\s*,\\s*\"name\"\\s*:\\s*\"Tweety\"\\s*,\\s*\"weight\"\\s*:\\s*0.5\\s*}\\s*" - + "]\\s*}")) { - throw new Exception( - "Failed to correctly marshall complex type hierarchy using a serializer configured using JsonbTypeSerializer annotation and a deserializer with a CDI managed field configured using JsonbTypeDeserializer annotation."); + @TargetsContainer("tck-javatest") + @OverProtocol("javatest") + @Deployment(name = VEHICLE_ARCHIVE, testable = true) + public static WebArchive createServletDeployment() throws Exception { + + WebArchive war = ShrinkWrap.create(WebArchive.class, "jsonb_cdi_customizedmapping_serializers_servlet_vehicle_web.war"); + war.addClasses(SerializersCustomizationCDIServletTest.class, com.sun.ts.tests.common.vehicle.servlet.ServletVehicle.class, + com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class, com.sun.ts.tests.common.vehicle.VehicleRunnable.class, + com.sun.ts.tests.common.vehicle.VehicleClient.class, com.sun.ts.lib.harness.EETest.class, + com.sun.ts.lib.harness.EETest.SetupException.class, com.sun.ts.lib.harness.EETest.Fault.class, + com.sun.ts.lib.harness.ServiceEETest.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalBuilder.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalBuilder.TYPE.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalDeserializer.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalDeserializerInjected.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalListDeserializerInjected.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalListSerializer.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalSerializer.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Animal.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.AnimalShelterWithInjectedSerializer.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Cat.class, + com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Dog.class, SerializersCustomizationCDITest.class); + + war.setWebXML(SerializersCustomizationCDIServletTest.class.getClassLoader().getResource(packagePath + "/servlet_vehicle_web.xml")); + URL warResURL = SerializersCustomizationCDIServletTest.class.getClassLoader().getResource(packagePath + "/beans.xml"); + if (warResURL != null) { + war.addAsWebResource(warResURL, "/WEB-INF/beans.xml"); + } + + return war; } - AnimalShelterWithInjectedSerializer unmarshalledObject = jsonb - .fromJson("{ \"animals\" : [ " - + "{ \"type\" : \"cat\", \"cuddly\" : true, \"age\" : 5, \"furry\" : true, \"name\" : \"Garfield\" , \"weight\" : 10.5}, " - + "{ \"type\" : \"dog\", \"barking\" : true, \"age\" : 3, \"furry\" : false, \"name\" : \"Milo\", \"weight\" : 5.5}, " - + "{ \"type\" : \"animal\", \"age\" : 6, \"furry\" : false, \"name\" : \"Tweety\", \"weight\" : 0.5}" - + " ] }", AnimalShelterWithInjectedSerializer.class); - if (!animalShelter.equals(unmarshalledObject)) { - throw new Exception( - "Failed to correctly unmarshall complex type hierarchy using a serializer configured using JsonbTypeSerializer annotation and a deserializer with a CDI managed field configured using JsonbTypeDeserializer annotation."); + /* + * @testName: testCDISupport + * + * @assertion_ids: JSONB:SPEC:JSB-4.7.2-3 + * + * @test_Strategy: Assert that CDI injection is supported in serializers and deserializers + */ + @Override + @Test + @TargetVehicle("servlet") + public void testCDISupport() throws Exception { + AnimalShelterWithInjectedSerializer animalShelter = new AnimalShelterWithInjectedSerializer(); + animalShelter.addAnimal(new Cat(5, "Garfield", 10.5f, true, true)); + animalShelter.addAnimal(new Dog(3, "Milo", 5.5f, false, true)); + animalShelter.addAnimal(new Animal(6, "Tweety", 0.5f, false)); + + String jsonString = jsonb.toJson(animalShelter); + if (!jsonString.matches("\\{\\s*\"animals\"\\s*:\\s*\\[\\s*" + + "\\{\\s*\"type\"\\s*:\\s*\"cat\"\\s*,\\s*\"cuddly\"\\s*:\\s*true\\s*,\\s*\"age\"\\s*:\\s*5\\s*,\\s*\"furry\"\\s*:\\s*true\\s*,\\s*\"name\"\\s*:\\s*\"Garfield\"\\s*,\\s*\"weight\"\\s*:\\s*10.5\\s*}\\s*,\\s*" + + "\\{\\s*\"type\"\\s*:\\s*\"dog\"\\s*,\\s*\"barking\"\\s*:\\s*true\\s*,\\s*\"age\"\\s*:\\s*3\\s*,\\s*\"furry\"\\s*:\\s*false\\s*,\\s*\"name\"\\s*:\\s*\"Milo\"\\s*,\\s*\"weight\"\\s*:\\s*5.5\\s*}\\s*,\\s*" + + "\\{\\s*\"type\"\\s*:\\s*\"animal\"\\s*,\\s*\"age\"\\s*:\\s*6\\s*,\\s*\"furry\"\\s*:\\s*false\\s*,\\s*\"name\"\\s*:\\s*\"Tweety\"\\s*,\\s*\"weight\"\\s*:\\s*0.5\\s*}\\s*" + + "]\\s*}")) { + throw new Exception( + "Failed to correctly marshall complex type hierarchy using a serializer configured using JsonbTypeSerializer annotation and a deserializer with a CDI managed field configured using JsonbTypeDeserializer annotation."); + } + + AnimalShelterWithInjectedSerializer unmarshalledObject = jsonb.fromJson("{ \"animals\" : [ " + + "{ \"type\" : \"cat\", \"cuddly\" : true, \"age\" : 5, \"furry\" : true, \"name\" : \"Garfield\" , \"weight\" : 10.5}, " + + "{ \"type\" : \"dog\", \"barking\" : true, \"age\" : 3, \"furry\" : false, \"name\" : \"Milo\", \"weight\" : 5.5}, " + + "{ \"type\" : \"animal\", \"age\" : 6, \"furry\" : false, \"name\" : \"Tweety\", \"weight\" : 0.5}" + " ] }", + AnimalShelterWithInjectedSerializer.class); + if (!animalShelter.equals(unmarshalledObject)) { + throw new Exception( + "Failed to correctly unmarshall complex type hierarchy using a serializer configured using JsonbTypeSerializer annotation and a deserializer with a CDI managed field configured using JsonbTypeDeserializer annotation."); + } } - } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/SerializersCustomizationCDITest.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/SerializersCustomizationCDITest.java index a5307a58cd..264c126dca 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/SerializersCustomizationCDITest.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/SerializersCustomizationCDITest.java @@ -26,6 +26,7 @@ import com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.AnimalShelterWithInjectedSerializer; import com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Cat; import com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Dog; + import jakarta.json.bind.Jsonb; import jakarta.json.bind.JsonbBuilder; @@ -38,56 +39,53 @@ **/ public class SerializersCustomizationCDITest extends ServiceEETest { - private final Jsonb jsonb = JsonbBuilder.create(); - - public static void main(String[] args) { - SerializersCustomizationCDITest t = new SerializersCustomizationCDITest(); - Status s = t.run(args, System.out, System.err); - s.exit(); - } + private final Jsonb jsonb = JsonbBuilder.create(); - public void setup(String[] args, Properties p) throws Exception { - // logMsg("setup ok"); - } + public static void main(String[] args) { + SerializersCustomizationCDITest t = new SerializersCustomizationCDITest(); + Status s = t.run(args, System.out, System.err); + s.exit(); + } - public void cleanup() throws Exception { - // logMsg("cleanup ok"); - } + public void setup(String[] args, Properties p) throws Exception { + // logMsg("setup ok"); + } + public void cleanup() throws Exception { + // logMsg("cleanup ok"); + } - /* - * @testName: testCDISupport - * - * @assertion_ids: JSONB:SPEC:JSB-4.7.2-3 - * - * @test_Strategy: Assert that CDI injection is supported in serializers and - * deserializers - */ - public void testCDISupport() throws Exception { - AnimalShelterWithInjectedSerializer animalShelter = new AnimalShelterWithInjectedSerializer(); - animalShelter.addAnimal(new Cat(5, "Garfield", 10.5f, true, true)); - animalShelter.addAnimal(new Dog(3, "Milo", 5.5f, false, true)); - animalShelter.addAnimal(new Animal(6, "Tweety", 0.5f, false)); + /* + * @testName: testCDISupport + * + * @assertion_ids: JSONB:SPEC:JSB-4.7.2-3 + * + * @test_Strategy: Assert that CDI injection is supported in serializers and deserializers + */ + public void testCDISupport() throws Exception { + AnimalShelterWithInjectedSerializer animalShelter = new AnimalShelterWithInjectedSerializer(); + animalShelter.addAnimal(new Cat(5, "Garfield", 10.5f, true, true)); + animalShelter.addAnimal(new Dog(3, "Milo", 5.5f, false, true)); + animalShelter.addAnimal(new Animal(6, "Tweety", 0.5f, false)); - String jsonString = jsonb.toJson(animalShelter); - if (!jsonString.matches("\\{\\s*\"animals\"\\s*:\\s*\\[\\s*" - + "\\{\\s*\"type\"\\s*:\\s*\"cat\"\\s*,\\s*\"cuddly\"\\s*:\\s*true\\s*,\\s*\"age\"\\s*:\\s*5\\s*,\\s*\"furry\"\\s*:\\s*true\\s*,\\s*\"name\"\\s*:\\s*\"Garfield\"\\s*,\\s*\"weight\"\\s*:\\s*10.5\\s*}\\s*,\\s*" - + "\\{\\s*\"type\"\\s*:\\s*\"dog\"\\s*,\\s*\"barking\"\\s*:\\s*true\\s*,\\s*\"age\"\\s*:\\s*3\\s*,\\s*\"furry\"\\s*:\\s*false\\s*,\\s*\"name\"\\s*:\\s*\"Milo\"\\s*,\\s*\"weight\"\\s*:\\s*5.5\\s*}\\s*,\\s*" - + "\\{\\s*\"type\"\\s*:\\s*\"animal\"\\s*,\\s*\"age\"\\s*:\\s*6\\s*,\\s*\"furry\"\\s*:\\s*false\\s*,\\s*\"name\"\\s*:\\s*\"Tweety\"\\s*,\\s*\"weight\"\\s*:\\s*0.5\\s*}\\s*" - + "]\\s*}")) { - throw new Exception( - "Failed to correctly marshall complex type hierarchy using a serializer configured using JsonbTypeSerializer annotation and a deserializer with a CDI managed field configured using JsonbTypeDeserializer annotation."); - } + String jsonString = jsonb.toJson(animalShelter); + if (!jsonString.matches("\\{\\s*\"animals\"\\s*:\\s*\\[\\s*" + + "\\{\\s*\"type\"\\s*:\\s*\"cat\"\\s*,\\s*\"cuddly\"\\s*:\\s*true\\s*,\\s*\"age\"\\s*:\\s*5\\s*,\\s*\"furry\"\\s*:\\s*true\\s*,\\s*\"name\"\\s*:\\s*\"Garfield\"\\s*,\\s*\"weight\"\\s*:\\s*10.5\\s*}\\s*,\\s*" + + "\\{\\s*\"type\"\\s*:\\s*\"dog\"\\s*,\\s*\"barking\"\\s*:\\s*true\\s*,\\s*\"age\"\\s*:\\s*3\\s*,\\s*\"furry\"\\s*:\\s*false\\s*,\\s*\"name\"\\s*:\\s*\"Milo\"\\s*,\\s*\"weight\"\\s*:\\s*5.5\\s*}\\s*,\\s*" + + "\\{\\s*\"type\"\\s*:\\s*\"animal\"\\s*,\\s*\"age\"\\s*:\\s*6\\s*,\\s*\"furry\"\\s*:\\s*false\\s*,\\s*\"name\"\\s*:\\s*\"Tweety\"\\s*,\\s*\"weight\"\\s*:\\s*0.5\\s*}\\s*" + + "]\\s*}")) { + throw new Exception( + "Failed to correctly marshall complex type hierarchy using a serializer configured using JsonbTypeSerializer annotation and a deserializer with a CDI managed field configured using JsonbTypeDeserializer annotation."); + } - AnimalShelterWithInjectedSerializer unmarshalledObject = jsonb - .fromJson("{ \"animals\" : [ " - + "{ \"type\" : \"cat\", \"cuddly\" : true, \"age\" : 5, \"furry\" : true, \"name\" : \"Garfield\" , \"weight\" : 10.5}, " - + "{ \"type\" : \"dog\", \"barking\" : true, \"age\" : 3, \"furry\" : false, \"name\" : \"Milo\", \"weight\" : 5.5}, " - + "{ \"type\" : \"animal\", \"age\" : 6, \"furry\" : false, \"name\" : \"Tweety\", \"weight\" : 0.5}" - + " ] }", AnimalShelterWithInjectedSerializer.class); - if (!animalShelter.equals(unmarshalledObject)) { - throw new Exception( - "Failed to correctly unmarshall complex type hierarchy using a serializer configured using JsonbTypeSerializer annotation and a deserializer with a CDI managed field configured using JsonbTypeDeserializer annotation."); + AnimalShelterWithInjectedSerializer unmarshalledObject = jsonb.fromJson("{ \"animals\" : [ " + + "{ \"type\" : \"cat\", \"cuddly\" : true, \"age\" : 5, \"furry\" : true, \"name\" : \"Garfield\" , \"weight\" : 10.5}, " + + "{ \"type\" : \"dog\", \"barking\" : true, \"age\" : 3, \"furry\" : false, \"name\" : \"Milo\", \"weight\" : 5.5}, " + + "{ \"type\" : \"animal\", \"age\" : 6, \"furry\" : false, \"name\" : \"Tweety\", \"weight\" : 0.5}" + " ] }", + AnimalShelterWithInjectedSerializer.class); + if (!animalShelter.equals(unmarshalledObject)) { + throw new Exception( + "Failed to correctly unmarshall complex type hierarchy using a serializer configured using JsonbTypeSerializer annotation and a deserializer with a CDI managed field configured using JsonbTypeDeserializer annotation."); + } } - } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/Animal.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/Animal.java index 7b557cd4e3..c3da8809b0 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/Animal.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/Animal.java @@ -21,80 +21,79 @@ package com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model; public class Animal { - private int age; - - private String name; - - private float weight; - - private boolean furry; - - public Animal() { - } - - public Animal(int age, String name, float weight, boolean furry) { - this.age = age; - this.name = name; - this.weight = weight; - this.furry = furry; - } - - public int getAge() { - return age; - } - - public void setAge(int age) { - this.age = age; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public float getWeight() { - return weight; - } - - public void setWeight(float weight) { - this.weight = weight; - } - - public boolean isFurry() { - return furry; - } - - public void setFurry(boolean furry) { - this.furry = furry; - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (!(o instanceof Animal)) - return false; - - Animal animal = (Animal) o; - - if (age != animal.age) - return false; - if (Float.compare(animal.weight, weight) != 0) - return false; - if (furry != animal.furry) - return false; - return name != null ? name.equals(animal.name) : animal.name == null; - } - - @Override - public int hashCode() { - int result = age; - result = 31 * result + (name != null ? name.hashCode() : 0); - result = 31 * result + (weight != +0.0f ? Float.floatToIntBits(weight) : 0); - result = 31 * result + (furry ? 1 : 0); - return result; - } + private int age; + + private String name; + + private float weight; + + private boolean furry; + + public Animal() { + } + + public Animal(int age, String name, float weight, boolean furry) { + this.age = age; + this.name = name; + this.weight = weight; + this.furry = furry; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public float getWeight() { + return weight; + } + + public void setWeight(float weight) { + this.weight = weight; + } + + public boolean isFurry() { + return furry; + } + + public void setFurry(boolean furry) { + this.furry = furry; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Animal)) { + return false; + } + + Animal animal = (Animal) o; + + if ((age != animal.age) || (Float.compare(animal.weight, weight) != 0) || (furry != animal.furry)) { + return false; + } + return name != null ? name.equals(animal.name) : animal.name == null; + } + + @Override + public int hashCode() { + int result = age; + result = 31 * result + (name != null ? name.hashCode() : 0); + result = 31 * result + (weight != +0.0f ? Float.floatToIntBits(weight) : 0); + result = 31 * result + (furry ? 1 : 0); + return result; + } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/AnimalShelterWithInjectedSerializer.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/AnimalShelterWithInjectedSerializer.java index 87d1817d62..67fac02297 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/AnimalShelterWithInjectedSerializer.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/AnimalShelterWithInjectedSerializer.java @@ -22,6 +22,7 @@ import com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalListDeserializerInjected; import com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalListSerializer; + import jakarta.json.bind.annotation.JsonbTypeDeserializer; import jakarta.json.bind.annotation.JsonbTypeSerializer; @@ -29,37 +30,38 @@ import java.util.List; public class AnimalShelterWithInjectedSerializer { - @JsonbTypeSerializer(AnimalListSerializer.class) - @JsonbTypeDeserializer(AnimalListDeserializerInjected.class) - private List animals = new ArrayList<>(); + @JsonbTypeSerializer(AnimalListSerializer.class) + @JsonbTypeDeserializer(AnimalListDeserializerInjected.class) + private List animals = new ArrayList<>(); - public List getAnimals() { - return animals; - } + public List getAnimals() { + return animals; + } - public void setAnimals(List animals) { - this.animals = animals; - } + public void setAnimals(List animals) { + this.animals = animals; + } - public boolean addAnimal(Animal animal) { - return animals.add(animal); - } + public boolean addAnimal(Animal animal) { + return animals.add(animal); + } - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (!(o instanceof AnimalShelterWithInjectedSerializer)) - return false; + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof AnimalShelterWithInjectedSerializer)) { + return false; + } - AnimalShelterWithInjectedSerializer that = (AnimalShelterWithInjectedSerializer) o; + AnimalShelterWithInjectedSerializer that = (AnimalShelterWithInjectedSerializer) o; - return animals != null ? animals.equals(that.animals) - : that.animals == null; - } + return animals != null ? animals.equals(that.animals) : that.animals == null; + } - @Override - public int hashCode() { - return animals != null ? animals.hashCode() : 0; - } + @Override + public int hashCode() { + return animals != null ? animals.hashCode() : 0; + } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/Cat.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/Cat.java index 05d888664d..01005eeb7e 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/Cat.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/Cat.java @@ -21,43 +21,42 @@ package com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model; public class Cat extends Animal { - public Cat() { - } - - public Cat(int age, String name, float weight, boolean furry, - boolean cuddly) { - super(age, name, weight, furry); - this.cuddly = cuddly; - } - - private boolean cuddly; - - public boolean isCuddly() { - return cuddly; - } - - public void setCuddly(boolean cuddly) { - this.cuddly = cuddly; - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (!(o instanceof Cat)) - return false; - if (!super.equals(o)) - return false; - - Cat cat = (Cat) o; - - return cuddly == cat.cuddly; - } - - @Override - public int hashCode() { - int result = super.hashCode(); - result = 31 * result + (cuddly ? 1 : 0); - return result; - } + public Cat() { + } + + public Cat(int age, String name, float weight, boolean furry, boolean cuddly) { + super(age, name, weight, furry); + this.cuddly = cuddly; + } + + private boolean cuddly; + + public boolean isCuddly() { + return cuddly; + } + + public void setCuddly(boolean cuddly) { + this.cuddly = cuddly; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Cat) || !super.equals(o)) { + return false; + } + + Cat cat = (Cat) o; + + return cuddly == cat.cuddly; + } + + @Override + public int hashCode() { + int result = super.hashCode(); + result = 31 * result + (cuddly ? 1 : 0); + return result; + } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/Dog.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/Dog.java index 3467053ea5..2675291804 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/Dog.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/Dog.java @@ -21,43 +21,42 @@ package com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model; public class Dog extends Animal { - private boolean barking; - - public Dog() { - } - - public Dog(int age, String name, float weight, boolean furry, - boolean barking) { - super(age, name, weight, furry); - this.barking = barking; - } - - public boolean isBarking() { - return barking; - } - - public void setBarking(boolean barking) { - this.barking = barking; - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (!(o instanceof Dog)) - return false; - if (!super.equals(o)) - return false; - - Dog dog = (Dog) o; - - return barking == dog.barking; - } - - @Override - public int hashCode() { - int result = super.hashCode(); - result = 31 * result + (barking ? 1 : 0); - return result; - } + private boolean barking; + + public Dog() { + } + + public Dog(int age, String name, float weight, boolean furry, boolean barking) { + super(age, name, weight, furry); + this.barking = barking; + } + + public boolean isBarking() { + return barking; + } + + public void setBarking(boolean barking) { + this.barking = barking; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Dog) || !super.equals(o)) { + return false; + } + + Dog dog = (Dog) o; + + return barking == dog.barking; + } + + @Override + public int hashCode() { + int result = super.hashCode(); + result = 31 * result + (barking ? 1 : 0); + return result; + } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalBuilder.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalBuilder.java index f0e4285dd1..5e6f38ead4 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalBuilder.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalBuilder.java @@ -25,66 +25,66 @@ import com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Dog; public class AnimalBuilder { - public enum TYPE { - CAT, DOG, GENERIC - } - - private TYPE type; - - private int age; + public enum TYPE { + CAT, DOG, GENERIC + } - private String name; + private TYPE type; - private float weight; + private int age; - private boolean furry; + private String name; - private boolean cuddly; + private float weight; - private boolean barking; + private boolean furry; - public void setType(TYPE type) { - this.type = type; - } + private boolean cuddly; - public void setAge(int age) { - this.age = age; - } + private boolean barking; - public void setName(String name) { - this.name = name; - } + public void setType(TYPE type) { + this.type = type; + } - public void setWeight(float weight) { - this.weight = weight; - } + public void setAge(int age) { + this.age = age; + } - public void setFurry(boolean furry) { - this.furry = furry; - } + public void setName(String name) { + this.name = name; + } - public void setCuddly(boolean cuddly) { - this.cuddly = cuddly; - } + public void setWeight(float weight) { + this.weight = weight; + } - public void setBarking(boolean barking) { - this.barking = barking; - } + public void setFurry(boolean furry) { + this.furry = furry; + } - public Animal build() { - Animal animal; + public void setCuddly(boolean cuddly) { + this.cuddly = cuddly; + } - switch (type) { - case CAT: - animal = new Cat(age, name, weight, furry, cuddly); - break; - case DOG: - animal = new Dog(age, name, weight, furry, barking); - break; - default: - animal = new Animal(age, name, weight, furry); + public void setBarking(boolean barking) { + this.barking = barking; } - return animal; - } + public Animal build() { + Animal animal; + + switch (type) { + case CAT: + animal = new Cat(age, name, weight, furry, cuddly); + break; + case DOG: + animal = new Dog(age, name, weight, furry, barking); + break; + default: + animal = new Animal(age, name, weight, furry); + } + + return animal; + } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalDeserializer.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalDeserializer.java index 4aef1cead4..be8368aac6 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalDeserializer.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalDeserializer.java @@ -23,6 +23,7 @@ import com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Animal; import com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Cat; import com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Dog; + import jakarta.json.bind.serializer.DeserializationContext; import jakarta.json.bind.serializer.JsonbDeserializer; import jakarta.json.stream.JsonParser; @@ -30,58 +31,58 @@ import java.lang.reflect.Type; public class AnimalDeserializer implements JsonbDeserializer { - public Animal deserialize(JsonParser jsonParser, - DeserializationContext deserializationContext, Type type) { - Animal animal = null; - while (jsonParser.hasNext()) { - JsonParser.Event event = jsonParser.next(); - if (event == JsonParser.Event.START_OBJECT) { - continue; - } - if (event == JsonParser.Event.END_OBJECT) { - break; - } - if (event == JsonParser.Event.KEY_NAME) { - switch (jsonParser.getString()) { - case "type": - jsonParser.next(); - switch (jsonParser.getString()) { - case "cat": - animal = new Cat(); - break; - case "dog": - animal = new Dog(); - break; - default: - animal = new Animal(); - } - break; - case "name": - jsonParser.next(); - animal.setName(jsonParser.getString()); - break; - case "age": - jsonParser.next(); - animal.setAge(jsonParser.getInt()); - break; - case "furry": - event = jsonParser.next(); - animal.setFurry(event == JsonParser.Event.VALUE_TRUE); - break; - case "weight": - jsonParser.next(); - animal.setWeight(jsonParser.getBigDecimal().floatValue()); - break; - case "cuddly": - event = jsonParser.next(); - ((Cat) animal).setCuddly(event == JsonParser.Event.VALUE_TRUE); - break; - case "barking": - event = jsonParser.next(); - ((Dog) animal).setBarking(event == JsonParser.Event.VALUE_TRUE); + @Override + public Animal deserialize(JsonParser jsonParser, DeserializationContext deserializationContext, Type type) { + Animal animal = null; + while (jsonParser.hasNext()) { + JsonParser.Event event = jsonParser.next(); + if (event == JsonParser.Event.START_OBJECT) { + continue; + } + if (event == JsonParser.Event.END_OBJECT) { + break; + } + if (event == JsonParser.Event.KEY_NAME) { + switch (jsonParser.getString()) { + case "type": + jsonParser.next(); + switch (jsonParser.getString()) { + case "cat": + animal = new Cat(); + break; + case "dog": + animal = new Dog(); + break; + default: + animal = new Animal(); + } + break; + case "name": + jsonParser.next(); + animal.setName(jsonParser.getString()); + break; + case "age": + jsonParser.next(); + animal.setAge(jsonParser.getInt()); + break; + case "furry": + event = jsonParser.next(); + animal.setFurry(event == JsonParser.Event.VALUE_TRUE); + break; + case "weight": + jsonParser.next(); + animal.setWeight(jsonParser.getBigDecimal().floatValue()); + break; + case "cuddly": + event = jsonParser.next(); + ((Cat) animal).setCuddly(event == JsonParser.Event.VALUE_TRUE); + break; + case "barking": + event = jsonParser.next(); + ((Dog) animal).setBarking(event == JsonParser.Event.VALUE_TRUE); + } + } } - } + return animal; } - return animal; - } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalDeserializerInjected.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalDeserializerInjected.java index 06bd80979a..711efe727b 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalDeserializerInjected.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalDeserializerInjected.java @@ -21,6 +21,7 @@ package com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer; import com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Animal; + import jakarta.inject.Inject; import jakarta.json.bind.serializer.DeserializationContext; import jakarta.json.bind.serializer.JsonbDeserializer; @@ -33,60 +34,60 @@ import static com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer.AnimalBuilder.TYPE.GENERIC; public class AnimalDeserializerInjected implements JsonbDeserializer { - @Inject - private AnimalBuilder animalBuilder; + @Inject + private AnimalBuilder animalBuilder; - public Animal deserialize(JsonParser jsonParser, - DeserializationContext deserializationContext, Type type) { - while (jsonParser.hasNext()) { - JsonParser.Event event = jsonParser.next(); - if (event == JsonParser.Event.START_OBJECT) { - continue; - } - if (event == JsonParser.Event.END_OBJECT) { - break; - } - if (event == JsonParser.Event.KEY_NAME) { - switch (jsonParser.getString()) { - case "type": - jsonParser.next(); - switch (jsonParser.getString()) { - case "cat": - animalBuilder.setType(CAT); - break; - case "dog": - animalBuilder.setType(DOG); - break; - default: - animalBuilder.setType(GENERIC); - } - break; - case "name": - jsonParser.next(); - animalBuilder.setName(jsonParser.getString()); - break; - case "age": - jsonParser.next(); - animalBuilder.setAge(jsonParser.getInt()); - break; - case "furry": - event = jsonParser.next(); - animalBuilder.setFurry(event == JsonParser.Event.VALUE_TRUE); - break; - case "weight": - jsonParser.next(); - animalBuilder.setWeight(jsonParser.getBigDecimal().floatValue()); - break; - case "cuddly": - event = jsonParser.next(); - animalBuilder.setCuddly(event == JsonParser.Event.VALUE_TRUE); - break; - case "barking": - event = jsonParser.next(); - animalBuilder.setBarking(event == JsonParser.Event.VALUE_TRUE); + @Override + public Animal deserialize(JsonParser jsonParser, DeserializationContext deserializationContext, Type type) { + while (jsonParser.hasNext()) { + JsonParser.Event event = jsonParser.next(); + if (event == JsonParser.Event.START_OBJECT) { + continue; + } + if (event == JsonParser.Event.END_OBJECT) { + break; + } + if (event == JsonParser.Event.KEY_NAME) { + switch (jsonParser.getString()) { + case "type": + jsonParser.next(); + switch (jsonParser.getString()) { + case "cat": + animalBuilder.setType(CAT); + break; + case "dog": + animalBuilder.setType(DOG); + break; + default: + animalBuilder.setType(GENERIC); + } + break; + case "name": + jsonParser.next(); + animalBuilder.setName(jsonParser.getString()); + break; + case "age": + jsonParser.next(); + animalBuilder.setAge(jsonParser.getInt()); + break; + case "furry": + event = jsonParser.next(); + animalBuilder.setFurry(event == JsonParser.Event.VALUE_TRUE); + break; + case "weight": + jsonParser.next(); + animalBuilder.setWeight(jsonParser.getBigDecimal().floatValue()); + break; + case "cuddly": + event = jsonParser.next(); + animalBuilder.setCuddly(event == JsonParser.Event.VALUE_TRUE); + break; + case "barking": + event = jsonParser.next(); + animalBuilder.setBarking(event == JsonParser.Event.VALUE_TRUE); + } + } } - } + return animalBuilder.build(); } - return animalBuilder.build(); - } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalListDeserializerInjected.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalListDeserializerInjected.java index c6fee27a69..120df1687d 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalListDeserializerInjected.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalListDeserializerInjected.java @@ -21,6 +21,7 @@ package com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer; import com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Animal; + import jakarta.inject.Inject; import jakarta.json.bind.serializer.DeserializationContext; import jakarta.json.bind.serializer.JsonbDeserializer; @@ -30,20 +31,18 @@ import java.util.ArrayList; import java.util.List; -public class AnimalListDeserializerInjected - implements JsonbDeserializer> { - @Inject - private AnimalDeserializer animalDeserializer; - - public List deserialize(JsonParser jsonParser, - DeserializationContext deserializationContext, Type type) { - // start array - List animals = new ArrayList<>(); - while (jsonParser.next() == JsonParser.Event.START_OBJECT) { - animals.add(animalDeserializer.deserialize(jsonParser, - deserializationContext, type)); - } +public class AnimalListDeserializerInjected implements JsonbDeserializer> { + @Inject + private AnimalDeserializer animalDeserializer; - return animals; - } + @Override + public List deserialize(JsonParser jsonParser, DeserializationContext deserializationContext, Type type) { + // start array + List animals = new ArrayList<>(); + while (jsonParser.next() == JsonParser.Event.START_OBJECT) { + animals.add(animalDeserializer.deserialize(jsonParser, deserializationContext, type)); + } + + return animals; + } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalListSerializer.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalListSerializer.java index 1a3180b9b8..aa42b04121 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalListSerializer.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalListSerializer.java @@ -21,6 +21,7 @@ package com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer; import com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Animal; + import jakarta.json.bind.serializer.JsonbSerializer; import jakarta.json.bind.serializer.SerializationContext; import jakarta.json.stream.JsonGenerator; @@ -28,14 +29,14 @@ import java.util.List; public class AnimalListSerializer implements JsonbSerializer> { - private AnimalSerializer animalSerializer = new AnimalSerializer(); + private AnimalSerializer animalSerializer = new AnimalSerializer(); - public void serialize(List animals, JsonGenerator jsonGenerator, - SerializationContext serializationContext) { - jsonGenerator.writeStartArray(); - for (Animal animal : animals) { - animalSerializer.serialize(animal, jsonGenerator, serializationContext); + @Override + public void serialize(List animals, JsonGenerator jsonGenerator, SerializationContext serializationContext) { + jsonGenerator.writeStartArray(); + for (Animal animal : animals) { + animalSerializer.serialize(animal, jsonGenerator, serializationContext); + } + jsonGenerator.writeEnd(); } - jsonGenerator.writeEnd(); - } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalSerializer.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalSerializer.java index 19ea5a0068..f79ffd6cde 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalSerializer.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/cdi/customizedmapping/serializers/model/serializer/AnimalSerializer.java @@ -20,35 +20,35 @@ package com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.serializer; - import com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Animal; import com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Cat; import com.sun.ts.tests.jsonb.cdi.customizedmapping.serializers.model.Dog; + import jakarta.json.bind.serializer.JsonbSerializer; import jakarta.json.bind.serializer.SerializationContext; import jakarta.json.stream.JsonGenerator; public class AnimalSerializer implements JsonbSerializer { - public void serialize(Animal animal, JsonGenerator jsonGenerator, - SerializationContext serializationContext) { - if (animal != null) { - jsonGenerator.writeStartObject(); - if (Cat.class.isAssignableFrom(animal.getClass())) { - jsonGenerator.write("type", "cat"); - jsonGenerator.write("cuddly", ((Cat) animal).isCuddly()); - } else if (Dog.class.isAssignableFrom(animal.getClass())) { - jsonGenerator.write("type", "dog"); - jsonGenerator.write("barking", ((Dog) animal).isBarking()); - } else { - jsonGenerator.write("type", "animal"); - } - jsonGenerator.write("age", animal.getAge()); - jsonGenerator.write("furry", animal.isFurry()); - jsonGenerator.write("name", animal.getName()); - jsonGenerator.write("weight", animal.getWeight()); - jsonGenerator.writeEnd(); - } else { - serializationContext.serialize(null, jsonGenerator); + @Override + public void serialize(Animal animal, JsonGenerator jsonGenerator, SerializationContext serializationContext) { + if (animal != null) { + jsonGenerator.writeStartObject(); + if (Cat.class.isAssignableFrom(animal.getClass())) { + jsonGenerator.write("type", "cat"); + jsonGenerator.write("cuddly", ((Cat) animal).isCuddly()); + } else if (Dog.class.isAssignableFrom(animal.getClass())) { + jsonGenerator.write("type", "dog"); + jsonGenerator.write("barking", ((Dog) animal).isBarking()); + } else { + jsonGenerator.write("type", "animal"); + } + jsonGenerator.write("age", animal.getAge()); + jsonGenerator.write("furry", animal.isFurry()); + jsonGenerator.write("name", animal.getName()); + jsonGenerator.write("weight", animal.getWeight()); + jsonGenerator.writeEnd(); + } else { + serializationContext.serialize(null, jsonGenerator); + } } - } } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/pluggability/jsonbprovidertests/ClientAppclientTest.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/pluggability/jsonbprovidertests/ClientAppclientTest.java index d17f77b0f6..7a94dd51e6 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/pluggability/jsonbprovidertests/ClientAppclientTest.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/pluggability/jsonbprovidertests/ClientAppclientTest.java @@ -19,54 +19,43 @@ */ package com.sun.ts.tests.jsonb.pluggability.jsonbprovidertests; +import com.sun.ts.lib.harness.ServiceEETest; +import com.sun.ts.lib.harness.Status; +import com.sun.ts.tests.jsonb.provider.MyJsonbProvider; + +import jakarta.json.bind.JsonbBuilder; +import jakarta.json.bind.spi.JsonbProvider; + +import java.io.File; +import java.lang.System.Logger; +import java.net.URL; +import java.net.URLClassLoader; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Properties; import java.util.ServiceLoader; -import java.util.stream.Collectors; -import java.io.InputStream; -import java.io.IOException; -import java.io.*; -import java.nio.charset.StandardCharsets; -import java.net.URL; -import java.net.URLClassLoader; -import jakarta.json.bind.JsonbBuilder; -import jakarta.json.bind.spi.JsonbProvider; - -import org.jboss.arquillian.container.test.api.RunAsClient; import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.container.test.api.OverProtocol; +import org.jboss.arquillian.container.test.api.TargetsContainer; import org.jboss.arquillian.junit5.ArquillianExtension; -import org.jboss.shrinkwrap.api.Filters; +import org.jboss.arquillian.test.api.ArquillianResource; import org.jboss.shrinkwrap.api.ShrinkWrap; -import org.jboss.shrinkwrap.api.spec.EnterpriseArchive; -import org.jboss.shrinkwrap.api.spec.WebArchive; -import org.jboss.shrinkwrap.api.spec.JavaArchive; import org.jboss.shrinkwrap.api.asset.StringAsset; import org.jboss.shrinkwrap.api.asset.UrlAsset; import org.jboss.shrinkwrap.api.exporter.ZipExporter; - +import org.jboss.shrinkwrap.api.spec.EnterpriseArchive; +import org.jboss.shrinkwrap.api.spec.JavaArchive; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInfo; import org.junit.jupiter.api.extension.ExtendWith; -import static org.junit.jupiter.api.Assertions.assertFalse; -import org.jboss.arquillian.container.test.api.OperateOnDeployment; -import org.jboss.arquillian.test.api.ArquillianResource; -import tck.arquillian.protocol.common.TargetVehicle; -import org.jboss.arquillian.container.test.api.OverProtocol; -import org.jboss.arquillian.container.test.api.TargetsContainer; import tck.arquillian.porting.lib.spi.TestArchiveProcessor; - -import com.sun.ts.tests.jsonb.provider.MyJsonbBuilder; -import com.sun.ts.tests.jsonb.provider.MyJsonbProvider; -import com.sun.ts.lib.harness.Status; -import com.sun.ts.lib.harness.ServiceEETest; -import java.lang.System.Logger; +import tck.arquillian.protocol.common.TargetVehicle; @Tag("tck-appclient") @Tag("jsonb") @@ -81,9 +70,9 @@ public class ClientAppclientTest extends ServiceEETest { private static String packagePath = ClientAppclientTest.class.getPackageName().replace(".", "/"); private static final String providerPackagePath = MyJsonbProvider.class.getPackageName().replace(".", "/"); - + private boolean providerJarDeployed = false; - + public static final String TEMP_DIR = System.getProperty("java.io.tmpdir", "/tmp"); @BeforeEach @@ -100,35 +89,34 @@ void logFinishTest(TestInfo testInfo) { @OverProtocol("appclient") @Deployment(name = VEHICLE_ARCHIVE, testable = true) public static EnterpriseArchive createAppclientDeployment(@ArquillianResource TestArchiveProcessor archiveProcessor) throws Exception { - + JavaArchive jsonb_alternate_provider_jar = ShrinkWrap.create(JavaArchive.class, "jsonb_alternate_provider.jar") - .addClasses(com.sun.ts.tests.jsonb.provider.MyJsonbBuilder.class, - com.sun.ts.tests.jsonb.provider.MyJsonbProvider.class, - ClientAppclientTest.class) - .addAsResource(new UrlAsset(com.sun.ts.tests.jsonb.provider.MyJsonbProvider.class.getClassLoader().getResource(providerPackagePath+"/META-INF/services/jakarta.json.bind.spi.JsonbProvider")), "META-INF/services/jakarta.json.bind.spi.JsonbProvider"); - jsonb_alternate_provider_jar.addAsManifestResource(new StringAsset("Main-Class: " + ClientAppclientTest.class.getName() + "\n"), "MANIFEST.MF"); - - - JavaArchive jsonbprovidertests_appclient_vehicle_client = ShrinkWrap.create(JavaArchive.class, "jsonbprovidertests_appclient_vehicle_client.jar"); - jsonbprovidertests_appclient_vehicle_client.addClasses( - com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class, - com.sun.ts.tests.common.vehicle.VehicleRunnable.class, - com.sun.ts.tests.common.vehicle.VehicleClient.class, - com.sun.ts.tests.common.vehicle.EmptyVehicleRunner.class, - com.sun.ts.lib.harness.EETest.class, - com.sun.ts.lib.harness.EETest.Fault.class, - com.sun.ts.lib.harness.EETest.SetupException.class, - com.sun.ts.lib.harness.ServiceEETest.class, - ClientAppclientTest.class - ); - - URL resURL = ClientAppclientTest.class.getClassLoader().getResource(packagePath+"/appclient_vehicle_client.xml"); - if(resURL != null) { + .addClasses(com.sun.ts.tests.jsonb.provider.MyJsonbBuilder.class, com.sun.ts.tests.jsonb.provider.MyJsonbProvider.class, + ClientAppclientTest.class) + .addAsResource( + new UrlAsset(com.sun.ts.tests.jsonb.provider.MyJsonbProvider.class.getClassLoader() + .getResource(providerPackagePath + "/META-INF/services/jakarta.json.bind.spi.JsonbProvider")), + "META-INF/services/jakarta.json.bind.spi.JsonbProvider"); + jsonb_alternate_provider_jar.addAsManifestResource(new StringAsset("Main-Class: " + ClientAppclientTest.class.getName() + "\n"), + "MANIFEST.MF"); + + JavaArchive jsonbprovidertests_appclient_vehicle_client = ShrinkWrap.create(JavaArchive.class, + "jsonbprovidertests_appclient_vehicle_client.jar"); + jsonbprovidertests_appclient_vehicle_client.addClasses(com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class, + com.sun.ts.tests.common.vehicle.VehicleRunnable.class, com.sun.ts.tests.common.vehicle.VehicleClient.class, + com.sun.ts.tests.common.vehicle.EmptyVehicleRunner.class, com.sun.ts.lib.harness.EETest.class, + com.sun.ts.lib.harness.EETest.Fault.class, com.sun.ts.lib.harness.EETest.SetupException.class, + com.sun.ts.lib.harness.ServiceEETest.class, ClientAppclientTest.class); + + URL resURL = ClientAppclientTest.class.getClassLoader().getResource(packagePath + "/appclient_vehicle_client.xml"); + if (resURL != null) { jsonbprovidertests_appclient_vehicle_client.addAsManifestResource(resURL, "application-client.xml"); } - jsonbprovidertests_appclient_vehicle_client.addAsManifestResource(new StringAsset("Main-Class: " + ClientAppclientTest.class.getName() + "\n"), "MANIFEST.MF"); + jsonbprovidertests_appclient_vehicle_client + .addAsManifestResource(new StringAsset("Main-Class: " + ClientAppclientTest.class.getName() + "\n"), "MANIFEST.MF"); - EnterpriseArchive jsonbprovidertests_appclient_vehicle_ear = ShrinkWrap.create(EnterpriseArchive.class, "jsonbprovidertests_appclient_vehicle.ear"); + EnterpriseArchive jsonbprovidertests_appclient_vehicle_ear = ShrinkWrap.create(EnterpriseArchive.class, + "jsonbprovidertests_appclient_vehicle.ear"); jsonbprovidertests_appclient_vehicle_ear.addAsModule(jsonbprovidertests_appclient_vehicle_client); jsonbprovidertests_appclient_vehicle_ear.addAsLibrary(jsonb_alternate_provider_jar); jsonbprovidertests_appclient_vehicle_ear.addAsModule(jsonb_alternate_provider_jar); @@ -138,33 +126,34 @@ public static EnterpriseArchive createAppclientDeployment(@ArquillianResource Te } public void removeProviderJarFromCP() throws Exception { - if (providerJarDeployed) { - URLClassLoader currentThreadClassLoader = (URLClassLoader) Thread.currentThread().getContextClassLoader(); - Thread.currentThread().setContextClassLoader(currentThreadClassLoader.getParent()); - currentThreadClassLoader.close(); - providerJarDeployed = false; - } - } - - public void createProviderJar() throws Exception { - + if (providerJarDeployed) { + URLClassLoader currentThreadClassLoader = (URLClassLoader) Thread.currentThread().getContextClassLoader(); + Thread.currentThread().setContextClassLoader(currentThreadClassLoader.getParent()); + currentThreadClassLoader.close(); + providerJarDeployed = false; + } + } + + public void createProviderJar() throws Exception { + JavaArchive jarArchive = ShrinkWrap.create(JavaArchive.class, "jsonb_alternate_provider.jar") - .addClasses(com.sun.ts.tests.jsonb.provider.MyJsonbBuilder.class, - com.sun.ts.tests.jsonb.provider.MyJsonbProvider.class) - .addAsResource(new UrlAsset(MyJsonbProvider.class.getClassLoader().getResource(providerPackagePath+"/META-INF/services/jakarta.json.bind.spi.JsonbProvider")), "META-INF/services/jakarta.json.bind.spi.JsonbProvider"); + .addClasses(com.sun.ts.tests.jsonb.provider.MyJsonbBuilder.class, com.sun.ts.tests.jsonb.provider.MyJsonbProvider.class) + .addAsResource( + new UrlAsset(MyJsonbProvider.class.getClassLoader() + .getResource(providerPackagePath + "/META-INF/services/jakarta.json.bind.spi.JsonbProvider")), + "META-INF/services/jakarta.json.bind.spi.JsonbProvider"); jarArchive.as(ZipExporter.class).exportTo(new File(TEMP_DIR + File.separator + "jsonb_alternate_provider.jar"), true); - ClassLoader currentThreadClassLoader = Thread.currentThread().getContextClassLoader(); - URLClassLoader urlClassLoader = new URLClassLoader( - new URL[] { new File(TEMP_DIR + File.separator + "jsonb_alternate_provider.jar").toURL() }, - currentThreadClassLoader); - Thread.currentThread().setContextClassLoader(urlClassLoader); + ClassLoader currentThreadClassLoader = Thread.currentThread().getContextClassLoader(); + URLClassLoader urlClassLoader = new URLClassLoader( + new URL[] { new File(TEMP_DIR + File.separator + "jsonb_alternate_provider.jar").toURL() }, currentThreadClassLoader); + Thread.currentThread().setContextClassLoader(urlClassLoader); - providerJarDeployed = true; + providerJarDeployed = true; + + } - } - private static final String MY_JSONBROVIDER_CLASS = "com.sun.ts.tests.jsonb.provider.MyJsonbProvider"; private static final String MY_JSONBBUILDER_CLASS = "com.sun.ts.tests.jsonb.provider.MyJsonbBuilder"; @@ -174,16 +163,14 @@ public static void main(String[] args) { s.exit(); } - /* Test setup */ /* - * @class.setup_props: - * This is needed by the vehicle base classes + * @class.setup_props: This is needed by the vehicle base classes */ public void setup(String[] args, Properties p) throws Exception { // super.setup(); } - + /* * @class.setup_props: */ @@ -204,8 +191,7 @@ public void cleanup() throws Exception { /* * @testName: jsonbProviderTest1 * - * @test_Strategy: Test call of SPI provider method with signature: o public - * static JsonbProvider provider() + * @test_Strategy: Test call of SPI provider method with signature: o public static JsonbProvider provider() */ @Test @TargetVehicle("appclient") @@ -223,8 +209,8 @@ public void jsonbProviderTest1() throws Exception { /* * @testName: jsonbProviderTest2 * - * @test_Strategy: Test call of SPI provider method with signature: o public - * static JsonbProvider provider(String provider) + * @test_Strategy: Test call of SPI provider method with signature: o public static JsonbProvider provider(String + * provider) */ @Test @TargetVehicle("appclient") @@ -235,24 +221,25 @@ public void jsonbProviderTest2() throws Exception { JsonbProvider provider = JsonbProvider.provider(MY_JSONBROVIDER_CLASS); String providerClass = provider.getClass().getName(); logger.log(Logger.Level.INFO, "provider class=" + providerClass); - if (providerClass.equals(MY_JSONBROVIDER_CLASS)) - logger.log(Logger.Level.INFO, "Current provider is my provider - expected."); - else { + if (providerClass.equals(MY_JSONBROVIDER_CLASS)) { + logger.log(Logger.Level.INFO, "Current provider is my provider - expected."); + } else { logger.log(Logger.Level.ERROR, "Current provider is not my provider - unexpected."); pass = false; ServiceLoader loader = ServiceLoader.load(JsonbProvider.class); Iterator it = loader.iterator(); List providers = new ArrayList<>(); - while(it.hasNext()) { + while (it.hasNext()) { providers.add(it.next()); } - logger.log(Logger.Level.INFO, "Providers: "+providers); + logger.log(Logger.Level.INFO, "Providers: " + providers); } } catch (Exception e) { throw new Exception("jsonbProviderTest2 Failed: ", e); } - if (!pass) + if (!pass) { throw new Exception("jsonbProviderTest2 Failed"); + } } /* @@ -268,9 +255,9 @@ public void jsonbProviderTest3() throws Exception { JsonbBuilder builder = JsonbProvider.provider(MY_JSONBROVIDER_CLASS).create(); String providerClass = builder.getClass().getName(); logger.log(Logger.Level.INFO, "jsonb builder class=" + providerClass); - if (providerClass.equals(MY_JSONBBUILDER_CLASS)) - logger.log(Logger.Level.INFO, "Current jsonb builder is my builder - expected."); - else { + if (providerClass.equals(MY_JSONBBUILDER_CLASS)) { + logger.log(Logger.Level.INFO, "Current jsonb builder is my builder - expected."); + } else { logger.log(Logger.Level.ERROR, "Current jsonb builder is not my builder - unexpected."); throw new Exception("jsonbProviderTest3 Failed"); } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/pluggability/jsonbprovidertests/ClientEjbTest.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/pluggability/jsonbprovidertests/ClientEjbTest.java index 9be64a4ddf..f5678e9510 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/pluggability/jsonbprovidertests/ClientEjbTest.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/pluggability/jsonbprovidertests/ClientEjbTest.java @@ -19,54 +19,44 @@ */ package com.sun.ts.tests.jsonb.pluggability.jsonbprovidertests; +import com.sun.ts.lib.harness.ServiceEETest; +import com.sun.ts.lib.harness.Status; +import com.sun.ts.tests.jsonb.provider.MyJsonbBuilder; +import com.sun.ts.tests.jsonb.provider.MyJsonbProvider; + +import jakarta.json.bind.JsonbBuilder; +import jakarta.json.bind.spi.JsonbProvider; + +import java.io.File; +import java.lang.System.Logger; +import java.net.URL; +import java.net.URLClassLoader; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Properties; import java.util.ServiceLoader; -import java.util.stream.Collectors; -import java.io.InputStream; -import java.io.IOException; -import java.io.*; -import java.nio.charset.StandardCharsets; -import java.net.URL; -import java.net.URLClassLoader; -import jakarta.json.bind.JsonbBuilder; -import jakarta.json.bind.spi.JsonbProvider; -import com.sun.ts.tests.jsonb.provider.MyJsonbBuilder; -import com.sun.ts.tests.jsonb.provider.MyJsonbProvider; - -import org.jboss.arquillian.container.test.api.RunAsClient; import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.container.test.api.OverProtocol; +import org.jboss.arquillian.container.test.api.TargetsContainer; import org.jboss.arquillian.junit5.ArquillianExtension; -import org.jboss.shrinkwrap.api.Filters; +import org.jboss.arquillian.test.api.ArquillianResource; import org.jboss.shrinkwrap.api.ShrinkWrap; -import org.jboss.shrinkwrap.api.spec.EnterpriseArchive; -import org.jboss.shrinkwrap.api.spec.WebArchive; -import org.jboss.shrinkwrap.api.spec.JavaArchive; import org.jboss.shrinkwrap.api.asset.StringAsset; import org.jboss.shrinkwrap.api.asset.UrlAsset; import org.jboss.shrinkwrap.api.exporter.ZipExporter; - +import org.jboss.shrinkwrap.api.spec.EnterpriseArchive; +import org.jboss.shrinkwrap.api.spec.JavaArchive; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInfo; import org.junit.jupiter.api.extension.ExtendWith; -import static org.junit.jupiter.api.Assertions.assertFalse; -import org.jboss.arquillian.container.test.api.OperateOnDeployment; -import org.jboss.arquillian.test.api.ArquillianResource; -import tck.arquillian.protocol.common.TargetVehicle; -import org.jboss.arquillian.container.test.api.OverProtocol; -import org.jboss.arquillian.container.test.api.TargetsContainer; import tck.arquillian.porting.lib.spi.TestArchiveProcessor; - -import com.sun.ts.lib.harness.Status; -import com.sun.ts.lib.harness.ServiceEETest; -import java.lang.System.Logger; +import tck.arquillian.protocol.common.TargetVehicle; @Tag("tck-appclient") @Tag("jsonb") @@ -81,9 +71,9 @@ public class ClientEjbTest extends ServiceEETest { private static String packagePath = ClientEjbTest.class.getPackageName().replace(".", "/"); private static final String providerPackagePath = MyJsonbProvider.class.getPackageName().replace(".", "/"); - + private boolean providerJarDeployed = false; - + public static final String TEMP_DIR = System.getProperty("java.io.tmpdir", "/tmp"); @BeforeEach @@ -102,110 +92,99 @@ void logFinishTest(TestInfo testInfo) { public static EnterpriseArchive createDeploymentVehicle(@ArquillianResource TestArchiveProcessor archiveProcessor) { JavaArchive jsonb_alternate_provider = ShrinkWrap.create(JavaArchive.class, "jsonb_alternate_provider.jar") - .addClasses(com.sun.ts.tests.jsonb.provider.MyJsonbBuilder.class, - com.sun.ts.tests.jsonb.provider.MyJsonbProvider.class, - ClientEjbTest.class) - .addAsResource(new UrlAsset(com.sun.ts.tests.jsonb.provider.MyJsonbProvider.class.getClassLoader().getResource(providerPackagePath+"/META-INF/services/jakarta.json.bind.spi.JsonbProvider")), "META-INF/services/jakarta.json.bind.spi.JsonbProvider"); - jsonb_alternate_provider.addAsManifestResource(new StringAsset("Main-Class: " + ClientEjbTest.class.getName() + "\n"), "MANIFEST.MF"); - - - JavaArchive jsonbprovidertests_ejb_vehicle_client = ShrinkWrap.create(JavaArchive.class, "jsonbprovidertests_ejb_vehicle_client.jar"); - jsonbprovidertests_ejb_vehicle_client.addClasses( - com.sun.ts.tests.common.vehicle.EmptyVehicleRunner.class, - com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class, - com.sun.ts.tests.common.vehicle.VehicleRunnable.class, - com.sun.ts.tests.common.vehicle.VehicleClient.class, - com.sun.ts.tests.common.vehicle.ejb.EJBVehicleRemote.class, - com.sun.ts.tests.common.vehicle.ejb.EJBVehicleRunner.class, - com.sun.ts.lib.harness.EETest.class, - com.sun.ts.lib.harness.EETest.Fault.class, - com.sun.ts.lib.harness.EETest.SetupException.class, - com.sun.ts.lib.harness.ServiceEETest.class, - com.sun.ts.tests.jsonb.provider.MyJsonbProvider.class, - com.sun.ts.tests.jsonb.provider.MyJsonbBuilder.class, - ClientEjbTest.class - ); - - URL resURL = ClientEjbTest.class.getClassLoader().getResource(packagePath+"/ejb_vehicle_client.xml"); - if(resURL != null) { + .addClasses(com.sun.ts.tests.jsonb.provider.MyJsonbBuilder.class, com.sun.ts.tests.jsonb.provider.MyJsonbProvider.class, + ClientEjbTest.class) + .addAsResource( + new UrlAsset(com.sun.ts.tests.jsonb.provider.MyJsonbProvider.class.getClassLoader() + .getResource(providerPackagePath + "/META-INF/services/jakarta.json.bind.spi.JsonbProvider")), + "META-INF/services/jakarta.json.bind.spi.JsonbProvider"); + jsonb_alternate_provider.addAsManifestResource(new StringAsset("Main-Class: " + ClientEjbTest.class.getName() + "\n"), + "MANIFEST.MF"); + + JavaArchive jsonbprovidertests_ejb_vehicle_client = ShrinkWrap.create(JavaArchive.class, + "jsonbprovidertests_ejb_vehicle_client.jar"); + jsonbprovidertests_ejb_vehicle_client.addClasses(com.sun.ts.tests.common.vehicle.EmptyVehicleRunner.class, + com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class, com.sun.ts.tests.common.vehicle.VehicleRunnable.class, + com.sun.ts.tests.common.vehicle.VehicleClient.class, com.sun.ts.tests.common.vehicle.ejb.EJBVehicleRemote.class, + com.sun.ts.tests.common.vehicle.ejb.EJBVehicleRunner.class, com.sun.ts.lib.harness.EETest.class, + com.sun.ts.lib.harness.EETest.Fault.class, com.sun.ts.lib.harness.EETest.SetupException.class, + com.sun.ts.lib.harness.ServiceEETest.class, com.sun.ts.tests.jsonb.provider.MyJsonbProvider.class, + com.sun.ts.tests.jsonb.provider.MyJsonbBuilder.class, ClientEjbTest.class); + + URL resURL = ClientEjbTest.class.getClassLoader().getResource(packagePath + "/ejb_vehicle_client.xml"); + if (resURL != null) { jsonbprovidertests_ejb_vehicle_client.addAsManifestResource(resURL, "application-client.xml"); } - jsonbprovidertests_ejb_vehicle_client.addAsManifestResource(new StringAsset("Main-Class: " + ClientEjbTest.class.getName() + "\n"), "MANIFEST.MF"); + jsonbprovidertests_ejb_vehicle_client.addAsManifestResource(new StringAsset("Main-Class: " + ClientEjbTest.class.getName() + "\n"), + "MANIFEST.MF"); - resURL = ClientEjbTest.class.getClassLoader().getResource(packagePath+"/ejb_vehicle_client.jar.sun-application-client.xml"); - if(resURL != null) { + resURL = ClientEjbTest.class.getClassLoader().getResource(packagePath + "/ejb_vehicle_client.jar.sun-application-client.xml"); + if (resURL != null) { jsonbprovidertests_ejb_vehicle_client.addAsManifestResource(resURL, "sun-application-client.xml"); } archiveProcessor.processClientArchive(jsonbprovidertests_ejb_vehicle_client, ClientEjbTest.class, resURL); - JavaArchive jsonbprovidertests_ejb_vehicle_ejb = ShrinkWrap.create(JavaArchive.class, "jsonbprovidertests_ejb_vehicle_ejb.jar"); - jsonbprovidertests_ejb_vehicle_ejb.addClasses( - com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class, - com.sun.ts.tests.common.vehicle.VehicleRunnable.class, - com.sun.ts.tests.common.vehicle.VehicleClient.class, - com.sun.ts.tests.common.vehicle.ejb.EJBVehicleRemote.class, - com.sun.ts.tests.common.vehicle.ejb.EJBVehicle.class, - com.sun.ts.lib.harness.EETest.class, - com.sun.ts.lib.harness.EETest.Fault.class, - com.sun.ts.lib.harness.EETest.SetupException.class, - com.sun.ts.lib.harness.ServiceEETest.class, - com.sun.ts.tests.jsonb.provider.MyJsonbProvider.class, - com.sun.ts.tests.jsonb.provider.MyJsonbBuilder.class, - ClientEjbTest.class - ); + jsonbprovidertests_ejb_vehicle_ejb.addClasses(com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class, + com.sun.ts.tests.common.vehicle.VehicleRunnable.class, com.sun.ts.tests.common.vehicle.VehicleClient.class, + com.sun.ts.tests.common.vehicle.ejb.EJBVehicleRemote.class, com.sun.ts.tests.common.vehicle.ejb.EJBVehicle.class, + com.sun.ts.lib.harness.EETest.class, com.sun.ts.lib.harness.EETest.Fault.class, + com.sun.ts.lib.harness.EETest.SetupException.class, com.sun.ts.lib.harness.ServiceEETest.class, + com.sun.ts.tests.jsonb.provider.MyJsonbProvider.class, com.sun.ts.tests.jsonb.provider.MyJsonbBuilder.class, + ClientEjbTest.class); // The ejb-jar.xml descriptor - URL ejbResURL = ClientEjbTest.class.getClassLoader().getResource(packagePath+"/ejb_vehicle_ejb.xml"); - if(ejbResURL != null) { + URL ejbResURL = ClientEjbTest.class.getClassLoader().getResource(packagePath + "/ejb_vehicle_ejb.xml"); + if (ejbResURL != null) { jsonbprovidertests_ejb_vehicle_ejb.addAsManifestResource(ejbResURL, "ejb-jar.xml"); } - ejbResURL = ClientEjbTest.class.getClassLoader().getResource(packagePath+"/ejb_vehicle_ejb.jar.sun-ejb-jar.xml"); - if(ejbResURL != null) { + ejbResURL = ClientEjbTest.class.getClassLoader().getResource(packagePath + "/ejb_vehicle_ejb.jar.sun-ejb-jar.xml"); + if (ejbResURL != null) { jsonbprovidertests_ejb_vehicle_ejb.addAsManifestResource(ejbResURL, "sun-ejb-jar.xml"); } archiveProcessor.processEjbArchive(jsonbprovidertests_ejb_vehicle_ejb, ClientEjbTest.class, ejbResURL); - EnterpriseArchive jsonbprovidertests_ejb_vehicle_ear = ShrinkWrap.create(EnterpriseArchive.class, "jsonbprovidertests_ejb_vehicle.ear"); + EnterpriseArchive jsonbprovidertests_ejb_vehicle_ear = ShrinkWrap.create(EnterpriseArchive.class, + "jsonbprovidertests_ejb_vehicle.ear"); jsonbprovidertests_ejb_vehicle_ear.addAsModule(jsonbprovidertests_ejb_vehicle_client); jsonbprovidertests_ejb_vehicle_ear.addAsModule(jsonbprovidertests_ejb_vehicle_ejb); jsonbprovidertests_ejb_vehicle_ear.addAsLibrary(jsonb_alternate_provider); jsonbprovidertests_ejb_vehicle_ear.addAsModule(jsonb_alternate_provider); - + return jsonbprovidertests_ejb_vehicle_ear; } public void removeProviderJarFromCP() throws Exception { - if (providerJarDeployed) { - URLClassLoader currentThreadClassLoader = (URLClassLoader) Thread.currentThread().getContextClassLoader(); - Thread.currentThread().setContextClassLoader(currentThreadClassLoader.getParent()); - currentThreadClassLoader.close(); - providerJarDeployed = false; - } - } - - public void createProviderJar() throws Exception { - - JavaArchive jarArchive = ShrinkWrap.create(JavaArchive.class, "jsonb_alternate_provider.jar") - .addClass(MyJsonbBuilder.class) - .addClass(MyJsonbProvider.class) - .addAsResource(new UrlAsset(MyJsonbProvider.class.getClassLoader().getResource(providerPackagePath+"/META-INF/services/jakarta.json.bind.spi.JsonbProvider")), "META-INF/services/jakarta.json.bind.spi.JsonbProvider"); + if (providerJarDeployed) { + URLClassLoader currentThreadClassLoader = (URLClassLoader) Thread.currentThread().getContextClassLoader(); + Thread.currentThread().setContextClassLoader(currentThreadClassLoader.getParent()); + currentThreadClassLoader.close(); + providerJarDeployed = false; + } + } + + public void createProviderJar() throws Exception { + + JavaArchive jarArchive = ShrinkWrap.create(JavaArchive.class, "jsonb_alternate_provider.jar").addClass(MyJsonbBuilder.class) + .addClass(MyJsonbProvider.class).addAsResource( + new UrlAsset(MyJsonbProvider.class.getClassLoader() + .getResource(providerPackagePath + "/META-INF/services/jakarta.json.bind.spi.JsonbProvider")), + "META-INF/services/jakarta.json.bind.spi.JsonbProvider"); jarArchive.as(ZipExporter.class).exportTo(new File(TEMP_DIR + File.separator + "jsonb_alternate_provider.jar"), true); - ClassLoader currentThreadClassLoader = Thread.currentThread().getContextClassLoader(); - URLClassLoader urlClassLoader = new URLClassLoader( - new URL[] { new File(TEMP_DIR + File.separator + "jsonb_alternate_provider.jar").toURL() }, - currentThreadClassLoader); - Thread.currentThread().setContextClassLoader(urlClassLoader); + ClassLoader currentThreadClassLoader = Thread.currentThread().getContextClassLoader(); + URLClassLoader urlClassLoader = new URLClassLoader( + new URL[] { new File(TEMP_DIR + File.separator + "jsonb_alternate_provider.jar").toURL() }, currentThreadClassLoader); + Thread.currentThread().setContextClassLoader(urlClassLoader); - providerJarDeployed = true; + providerJarDeployed = true; + + } - } - private static final String MY_JSONBROVIDER_CLASS = "com.sun.ts.tests.jsonb.provider.MyJsonbProvider"; private static final String MY_JSONBBUILDER_CLASS = "com.sun.ts.tests.jsonb.provider.MyJsonbBuilder"; @@ -215,7 +194,6 @@ public static void main(String[] args) { s.exit(); } - /* Test setup */ /* @@ -223,13 +201,11 @@ public static void main(String[] args) { */ /* - * @class.setup_props: - * This is needed by the vehicle base classes + * @class.setup_props: This is needed by the vehicle base classes */ public void setup(String[] args, Properties p) throws Exception { - // super.setup(args, p); } - + @BeforeEach public void setup() throws Exception { createProviderJar(); @@ -247,8 +223,7 @@ public void cleanup() throws Exception { /* * @testName: jsonbProviderTest1 * - * @test_Strategy: Test call of SPI provider method with signature: o public - * static JsonbProvider provider() + * @test_Strategy: Test call of SPI provider method with signature: o public static JsonbProvider provider() */ @Test @TargetVehicle("ejb") @@ -266,8 +241,8 @@ public void jsonbProviderTest1() throws Exception { /* * @testName: jsonbProviderTest2 * - * @test_Strategy: Test call of SPI provider method with signature: o public - * static JsonbProvider provider(String provider) + * @test_Strategy: Test call of SPI provider method with signature: o public static JsonbProvider provider(String + * provider) */ @Test @TargetVehicle("ejb") @@ -278,24 +253,25 @@ public void jsonbProviderTest2() throws Exception { JsonbProvider provider = JsonbProvider.provider(MY_JSONBROVIDER_CLASS); String providerClass = provider.getClass().getName(); logger.log(Logger.Level.INFO, "provider class=" + providerClass); - if (providerClass.equals(MY_JSONBROVIDER_CLASS)) - logger.log(Logger.Level.INFO, "Current provider is my provider - expected."); - else { + if (providerClass.equals(MY_JSONBROVIDER_CLASS)) { + logger.log(Logger.Level.INFO, "Current provider is my provider - expected."); + } else { logger.log(Logger.Level.ERROR, "Current provider is not my provider - unexpected."); pass = false; ServiceLoader loader = ServiceLoader.load(JsonbProvider.class); Iterator it = loader.iterator(); List providers = new ArrayList<>(); - while(it.hasNext()) { + while (it.hasNext()) { providers.add(it.next()); } - logger.log(Logger.Level.INFO, "Providers: "+providers); + logger.log(Logger.Level.INFO, "Providers: " + providers); } } catch (Exception e) { throw new Exception("jsonbProviderTest2 Failed: ", e); } - if (!pass) + if (!pass) { throw new Exception("jsonbProviderTest2 Failed"); + } } /* @@ -311,9 +287,10 @@ public void jsonbProviderTest3() throws Exception { JsonbBuilder builder = JsonbProvider.provider(MY_JSONBROVIDER_CLASS).create(); String providerClass = builder.getClass().getName(); logger.log(Logger.Level.INFO, "jsonb builder class=" + providerClass); - if (providerClass.equals(MY_JSONBBUILDER_CLASS)) - logger.log(Logger.Level.INFO, "Current jsonb builder is my builder - expected."); - else { + + if (providerClass.equals(MY_JSONBBUILDER_CLASS)) { + logger.log(Logger.Level.INFO, "Current jsonb builder is my builder - expected."); + } else { logger.log(Logger.Level.ERROR, "Current jsonb builder is not my builder - unexpected."); throw new Exception("jsonbProviderTest3 Failed"); } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/pluggability/jsonbprovidertests/ClientJspTest.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/pluggability/jsonbprovidertests/ClientJspTest.java index e9bf355500..436f6ff0bf 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/pluggability/jsonbprovidertests/ClientJspTest.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/pluggability/jsonbprovidertests/ClientJspTest.java @@ -19,53 +19,41 @@ */ package com.sun.ts.tests.jsonb.pluggability.jsonbprovidertests; +import com.sun.ts.lib.harness.ServiceEETest; +import com.sun.ts.lib.harness.Status; +import com.sun.ts.tests.jsonb.provider.MyJsonbBuilder; +import com.sun.ts.tests.jsonb.provider.MyJsonbProvider; + +import jakarta.json.bind.JsonbBuilder; +import jakarta.json.bind.spi.JsonbProvider; + +import java.io.File; +import java.lang.System.Logger; +import java.net.URL; +import java.net.URLClassLoader; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Properties; import java.util.ServiceLoader; -import java.util.stream.Collectors; -import java.io.InputStream; -import java.io.IOException; -import java.io.*; -import java.nio.charset.StandardCharsets; -import java.net.URL; -import java.net.URLClassLoader; - -import jakarta.json.bind.JsonbBuilder; -import jakarta.json.bind.spi.JsonbProvider; -import org.jboss.arquillian.container.test.api.RunAsClient; import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.container.test.api.OverProtocol; +import org.jboss.arquillian.container.test.api.TargetsContainer; import org.jboss.arquillian.junit5.ArquillianExtension; -import org.jboss.shrinkwrap.api.Filters; import org.jboss.shrinkwrap.api.ShrinkWrap; -import org.jboss.shrinkwrap.api.spec.EnterpriseArchive; -import org.jboss.shrinkwrap.api.spec.WebArchive; -import org.jboss.shrinkwrap.api.spec.JavaArchive; -import org.jboss.shrinkwrap.api.asset.StringAsset; import org.jboss.shrinkwrap.api.asset.UrlAsset; import org.jboss.shrinkwrap.api.exporter.ZipExporter; - +import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.jboss.shrinkwrap.api.spec.WebArchive; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInfo; import org.junit.jupiter.api.extension.ExtendWith; -import static org.junit.jupiter.api.Assertions.assertFalse; -import org.jboss.arquillian.container.test.api.OperateOnDeployment; -import org.jboss.arquillian.test.api.ArquillianResource; import tck.arquillian.protocol.common.TargetVehicle; -import org.jboss.arquillian.container.test.api.OverProtocol; -import org.jboss.arquillian.container.test.api.TargetsContainer; - -import com.sun.ts.tests.jsonb.provider.MyJsonbBuilder; -import com.sun.ts.tests.jsonb.provider.MyJsonbProvider; -import com.sun.ts.lib.harness.Status; -import com.sun.ts.lib.harness.ServiceEETest; -import java.lang.System.Logger; @Tag("tck-javatest") @Tag("jsonb") @@ -81,9 +69,9 @@ public class ClientJspTest extends ServiceEETest { private static String packagePath = ClientJspTest.class.getPackageName().replace(".", "/"); private static final String providerPackagePath = MyJsonbProvider.class.getPackageName().replace(".", "/"); - + private boolean providerJarDeployed = false; - + public static final String TEMP_DIR = System.getProperty("java.io.tmpdir", "/tmp"); @BeforeEach @@ -100,71 +88,68 @@ void logFinishTest(TestInfo testInfo) { @OverProtocol("javatest") @Deployment(name = VEHICLE_ARCHIVE, testable = true) public static WebArchive createJspDeployment() throws Exception { - JavaArchive jarArchive = ShrinkWrap.create(JavaArchive.class, "jsonb_alternate_provider.jar") - .addClass(MyJsonbBuilder.class) - .addClass(MyJsonbProvider.class) - .addAsResource(new UrlAsset(MyJsonbProvider.class.getClassLoader().getResource(providerPackagePath+"/META-INF/services/jakarta.json.bind.spi.JsonbProvider")), "META-INF/services/jakarta.json.bind.spi.JsonbProvider"); - + JavaArchive jarArchive = ShrinkWrap.create(JavaArchive.class, "jsonb_alternate_provider.jar").addClass(MyJsonbBuilder.class) + .addClass(MyJsonbProvider.class).addAsResource( + new UrlAsset(MyJsonbProvider.class.getClassLoader() + .getResource(providerPackagePath + "/META-INF/services/jakarta.json.bind.spi.JsonbProvider")), + "META-INF/services/jakarta.json.bind.spi.JsonbProvider"); + WebArchive warArchive = ShrinkWrap.create(WebArchive.class, "jsonbprovidertests_jsp_vehicle_web.war"); - warArchive.addClass(ClientJspTest.class) - .addClass(com.sun.ts.tests.common.vehicle.servlet.ServletVehicle.class) - .addClass(com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class) - .addClass(com.sun.ts.tests.common.vehicle.VehicleRunnable.class) - .addClass(com.sun.ts.tests.common.vehicle.VehicleClient.class) - .addClass(com.sun.ts.lib.harness.EETest.class) - .addClass(com.sun.ts.lib.harness.EETest.Fault.class) - .addClass(com.sun.ts.lib.harness.EETest.SetupException.class) - .addClass(com.sun.ts.lib.harness.ServiceEETest.class) - .setWebXML(ClientJspTest.class.getClassLoader().getResource(packagePath+"/jsp_vehicle_web.xml")); - - warArchive.addAsLibrary(jarArchive); - - // Web content - URL resURL = ClientJspTest.class.getResource("/vehicle/jsp/contentRoot/jsp_vehicle.jsp"); - warArchive.addAsWebResource(resURL, "/jsp_vehicle.jsp"); - resURL = ClientJspTest.class.getResource("/vehicle/jsp/contentRoot/client.html"); - warArchive.addAsWebResource(resURL, "/client.html"); - - return warArchive; - // EnterpriseArchive ear = ShrinkWrap.create(EnterpriseArchive.class, "jsonbprovidertests_jsp_vehicle.ear"); - // ear.addAsModule(warArchive); - // ear.addAsLibrary(jarArchive); - // return ear; + warArchive.addClass(ClientJspTest.class).addClass(com.sun.ts.tests.common.vehicle.servlet.ServletVehicle.class) + .addClass(com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class) + .addClass(com.sun.ts.tests.common.vehicle.VehicleRunnable.class) + .addClass(com.sun.ts.tests.common.vehicle.VehicleClient.class).addClass(com.sun.ts.lib.harness.EETest.class) + .addClass(com.sun.ts.lib.harness.EETest.Fault.class).addClass(com.sun.ts.lib.harness.EETest.SetupException.class) + .addClass(com.sun.ts.lib.harness.ServiceEETest.class) + .setWebXML(ClientJspTest.class.getClassLoader().getResource(packagePath + "/jsp_vehicle_web.xml")); + + warArchive.addAsLibrary(jarArchive); + + // Web content + URL resURL = ClientJspTest.class.getResource("/vehicle/jsp/contentRoot/jsp_vehicle.jsp"); + warArchive.addAsWebResource(resURL, "/jsp_vehicle.jsp"); + resURL = ClientJspTest.class.getResource("/vehicle/jsp/contentRoot/client.html"); + warArchive.addAsWebResource(resURL, "/client.html"); + + return warArchive; + // EnterpriseArchive ear = ShrinkWrap.create(EnterpriseArchive.class, "jsonbprovidertests_jsp_vehicle.ear"); + // ear.addAsModule(warArchive); + // ear.addAsLibrary(jarArchive); + // return ear; } public void removeProviderJarFromCP() throws Exception { - if (providerJarDeployed) { - URLClassLoader currentThreadClassLoader = (URLClassLoader) Thread.currentThread().getContextClassLoader(); - Thread.currentThread().setContextClassLoader(currentThreadClassLoader.getParent()); - currentThreadClassLoader.close(); - providerJarDeployed = false; - } - } - - public void createProviderJar() throws Exception { - - JavaArchive jarArchive = ShrinkWrap.create(JavaArchive.class, "jsonb_alternate_provider.jar") - .addClass(MyJsonbBuilder.class) - .addClass(MyJsonbProvider.class) - .addAsResource(new UrlAsset(MyJsonbProvider.class.getClassLoader().getResource(providerPackagePath+"/META-INF/services/jakarta.json.bind.spi.JsonbProvider")), "META-INF/services/jakarta.json.bind.spi.JsonbProvider"); + if (providerJarDeployed) { + URLClassLoader currentThreadClassLoader = (URLClassLoader) Thread.currentThread().getContextClassLoader(); + Thread.currentThread().setContextClassLoader(currentThreadClassLoader.getParent()); + currentThreadClassLoader.close(); + providerJarDeployed = false; + } + } + + public void createProviderJar() throws Exception { + + JavaArchive jarArchive = ShrinkWrap.create(JavaArchive.class, "jsonb_alternate_provider.jar").addClass(MyJsonbBuilder.class) + .addClass(MyJsonbProvider.class).addAsResource( + new UrlAsset(MyJsonbProvider.class.getClassLoader() + .getResource(providerPackagePath + "/META-INF/services/jakarta.json.bind.spi.JsonbProvider")), + "META-INF/services/jakarta.json.bind.spi.JsonbProvider"); jarArchive.as(ZipExporter.class).exportTo(new File(TEMP_DIR + File.separator + "jsonb_alternate_provider.jar"), true); - ClassLoader currentThreadClassLoader = Thread.currentThread().getContextClassLoader(); - URLClassLoader urlClassLoader = new URLClassLoader( - new URL[] { new File(TEMP_DIR + File.separator + "jsonb_alternate_provider.jar").toURL() }, - currentThreadClassLoader); - Thread.currentThread().setContextClassLoader(urlClassLoader); + ClassLoader currentThreadClassLoader = Thread.currentThread().getContextClassLoader(); + URLClassLoader urlClassLoader = new URLClassLoader( + new URL[] { new File(TEMP_DIR + File.separator + "jsonb_alternate_provider.jar").toURL() }, currentThreadClassLoader); + Thread.currentThread().setContextClassLoader(urlClassLoader); - providerJarDeployed = true; + providerJarDeployed = true; + + } - } - private static final String MY_JSONBROVIDER_CLASS = "com.sun.ts.tests.jsonb.provider.MyJsonbProvider"; private static final String MY_JSONBBUILDER_CLASS = "com.sun.ts.tests.jsonb.provider.MyJsonbBuilder"; - public static void main(String[] args) { ClientJspTest theTests = new ClientJspTest(); Status s = theTests.run(args, System.out, System.err); @@ -172,14 +157,12 @@ public static void main(String[] args) { } /* - * @class.setup_props: - * This is needed by the vehicle base classes + * @class.setup_props: This is needed by the vehicle base classes */ public void setup(String[] args, Properties p) throws Exception { } - /* Test setup */ /* @@ -202,8 +185,7 @@ public void cleanup() throws Exception { /* * @testName: jsonbProviderTest1 * - * @test_Strategy: Test call of SPI provider method with signature: o public - * static JsonbProvider provider() + * @test_Strategy: Test call of SPI provider method with signature: o public static JsonbProvider provider() */ @Test @TargetVehicle("jsp") @@ -221,8 +203,8 @@ public void jsonbProviderTest1() throws Exception { /* * @testName: jsonbProviderTest2 * - * @test_Strategy: Test call of SPI provider method with signature: o public - * static JsonbProvider provider(String provider) + * @test_Strategy: Test call of SPI provider method with signature: o public static JsonbProvider provider(String + * provider) */ @Test @TargetVehicle("jsp") @@ -233,24 +215,25 @@ public void jsonbProviderTest2() throws Exception { JsonbProvider provider = JsonbProvider.provider(MY_JSONBROVIDER_CLASS); String providerClass = provider.getClass().getName(); logger.log(Logger.Level.INFO, "provider class=" + providerClass); - if (providerClass.equals(MY_JSONBROVIDER_CLASS)) - logger.log(Logger.Level.INFO, "Current provider is my provider - expected."); - else { + if (providerClass.equals(MY_JSONBROVIDER_CLASS)) { + logger.log(Logger.Level.INFO, "Current provider is my provider - expected."); + } else { logger.log(Logger.Level.ERROR, "Current provider is not my provider - unexpected."); pass = false; ServiceLoader loader = ServiceLoader.load(JsonbProvider.class); Iterator it = loader.iterator(); List providers = new ArrayList<>(); - while(it.hasNext()) { + while (it.hasNext()) { providers.add(it.next()); } - logger.log(Logger.Level.INFO, "Providers: "+providers); + logger.log(Logger.Level.INFO, "Providers: " + providers); } } catch (Exception e) { throw new Exception("jsonbProviderTest2 Failed: ", e); } - if (!pass) + if (!pass) { throw new Exception("jsonbProviderTest2 Failed"); + } } /* @@ -266,9 +249,9 @@ public void jsonbProviderTest3() throws Exception { JsonbBuilder builder = JsonbProvider.provider(MY_JSONBROVIDER_CLASS).create(); String providerClass = builder.getClass().getName(); logger.log(Logger.Level.INFO, "jsonb builder class=" + providerClass); - if (providerClass.equals(MY_JSONBBUILDER_CLASS)) - logger.log(Logger.Level.INFO, "Current jsonb builder is my builder - expected."); - else { + if (providerClass.equals(MY_JSONBBUILDER_CLASS)) { + logger.log(Logger.Level.INFO, "Current jsonb builder is my builder - expected."); + } else { logger.log(Logger.Level.ERROR, "Current jsonb builder is not my builder - unexpected."); throw new Exception("jsonbProviderTest3 Failed"); } diff --git a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/pluggability/jsonbprovidertests/ClientServletTest.java b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/pluggability/jsonbprovidertests/ClientServletTest.java index 00926a79d8..a20fda9e8a 100644 --- a/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/pluggability/jsonbprovidertests/ClientServletTest.java +++ b/tcks/apis/jsonb/src/main/java/com/sun/ts/tests/jsonb/pluggability/jsonbprovidertests/ClientServletTest.java @@ -19,53 +19,41 @@ */ package com.sun.ts.tests.jsonb.pluggability.jsonbprovidertests; +import com.sun.ts.lib.harness.ServiceEETest; +import com.sun.ts.lib.harness.Status; +import com.sun.ts.tests.jsonb.provider.MyJsonbBuilder; +import com.sun.ts.tests.jsonb.provider.MyJsonbProvider; + +import jakarta.json.bind.JsonbBuilder; +import jakarta.json.bind.spi.JsonbProvider; + +import java.io.File; +import java.lang.System.Logger; +import java.net.URL; +import java.net.URLClassLoader; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Properties; import java.util.ServiceLoader; -import java.util.stream.Collectors; -import java.io.InputStream; -import java.io.IOException; -import java.io.*; -import java.nio.charset.StandardCharsets; -import java.net.URL; -import java.net.URLClassLoader; -import jakarta.json.bind.JsonbBuilder; -import jakarta.json.bind.spi.JsonbProvider; - -import org.jboss.arquillian.container.test.api.RunAsClient; import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.container.test.api.OverProtocol; +import org.jboss.arquillian.container.test.api.TargetsContainer; import org.jboss.arquillian.junit5.ArquillianExtension; -import org.jboss.shrinkwrap.api.Filters; import org.jboss.shrinkwrap.api.ShrinkWrap; -import org.jboss.shrinkwrap.api.spec.EnterpriseArchive; -import org.jboss.shrinkwrap.api.spec.WebArchive; -import org.jboss.shrinkwrap.api.spec.JavaArchive; -import org.jboss.shrinkwrap.api.asset.StringAsset; import org.jboss.shrinkwrap.api.asset.UrlAsset; import org.jboss.shrinkwrap.api.exporter.ZipExporter; - +import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.jboss.shrinkwrap.api.spec.WebArchive; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInfo; import org.junit.jupiter.api.extension.ExtendWith; -import static org.junit.jupiter.api.Assertions.assertFalse; -import org.jboss.arquillian.container.test.api.OperateOnDeployment; -import org.jboss.arquillian.test.api.ArquillianResource; import tck.arquillian.protocol.common.TargetVehicle; -import org.jboss.arquillian.container.test.api.OverProtocol; -import org.jboss.arquillian.container.test.api.TargetsContainer; - -import com.sun.ts.tests.jsonb.provider.MyJsonbBuilder; -import com.sun.ts.tests.jsonb.provider.MyJsonbProvider; -import com.sun.ts.lib.harness.Status; -import com.sun.ts.lib.harness.ServiceEETest; -import java.lang.System.Logger; @Tag("tck-javatest") @Tag("jsonb") @@ -81,9 +69,9 @@ public class ClientServletTest extends ServiceEETest { private static String packagePath = ClientServletTest.class.getPackageName().replace(".", "/"); private static final String providerPackagePath = MyJsonbProvider.class.getPackageName().replace(".", "/"); - + private boolean providerJarDeployed = false; - + public static final String TEMP_DIR = System.getProperty("java.io.tmpdir", "/tmp"); @BeforeEach @@ -100,62 +88,61 @@ void logFinishTest(TestInfo testInfo) { @OverProtocol("javatest") @Deployment(name = VEHICLE_ARCHIVE, testable = true) public static WebArchive createServletDeployment() throws Exception { - - WebArchive warArchive = ShrinkWrap.create(WebArchive.class, "jsonbprovidertests_servlet_vehicle_web.war"); - warArchive.addClass(ClientServletTest.class) - .addClass(com.sun.ts.tests.common.vehicle.servlet.ServletVehicle.class) - .addClass(com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class) - .addClass(com.sun.ts.tests.common.vehicle.VehicleRunnable.class) - .addClass(com.sun.ts.tests.common.vehicle.VehicleClient.class) - .addClass(com.sun.ts.lib.harness.EETest.class) - .addClass(com.sun.ts.lib.harness.EETest.Fault.class) - .addClass(com.sun.ts.lib.harness.EETest.SetupException.class) - .addClass(com.sun.ts.lib.harness.ServiceEETest.class) - .setWebXML(ClientServletTest.class.getClassLoader().getResource(packagePath+"/servlet_vehicle_web.xml")); - - JavaArchive jarArchive = ShrinkWrap.create(JavaArchive.class, "jsonb_alternate_provider.jar") - .addClass(com.sun.ts.tests.jsonb.provider.MyJsonbBuilder.class) - .addClass(com.sun.ts.tests.jsonb.provider.MyJsonbProvider.class) - .addAsResource(new UrlAsset(com.sun.ts.tests.jsonb.provider.MyJsonbProvider.class.getClassLoader().getResource(providerPackagePath+"/META-INF/services/jakarta.json.bind.spi.JsonbProvider")), "META-INF/services/jakarta.json.bind.spi.JsonbProvider"); - - warArchive.addAsLibrary(jarArchive); - - return warArchive; - // EnterpriseArchive ear = ShrinkWrap.create(EnterpriseArchive.class, "jsonbprovidertests_servlet_vehicle.ear"); - // ear.addAsModule(warArchive); - // ear.addAsLibrary(jarArchive); - // return ear; + + WebArchive warArchive = ShrinkWrap.create(WebArchive.class, "jsonbprovidertests_servlet_vehicle_web.war"); + warArchive.addClass(ClientServletTest.class).addClass(com.sun.ts.tests.common.vehicle.servlet.ServletVehicle.class) + .addClass(com.sun.ts.tests.common.vehicle.VehicleRunnerFactory.class) + .addClass(com.sun.ts.tests.common.vehicle.VehicleRunnable.class) + .addClass(com.sun.ts.tests.common.vehicle.VehicleClient.class).addClass(com.sun.ts.lib.harness.EETest.class) + .addClass(com.sun.ts.lib.harness.EETest.Fault.class).addClass(com.sun.ts.lib.harness.EETest.SetupException.class) + .addClass(com.sun.ts.lib.harness.ServiceEETest.class) + .setWebXML(ClientServletTest.class.getClassLoader().getResource(packagePath + "/servlet_vehicle_web.xml")); + + JavaArchive jarArchive = ShrinkWrap.create(JavaArchive.class, "jsonb_alternate_provider.jar") + .addClass(com.sun.ts.tests.jsonb.provider.MyJsonbBuilder.class) + .addClass(com.sun.ts.tests.jsonb.provider.MyJsonbProvider.class).addAsResource( + new UrlAsset(com.sun.ts.tests.jsonb.provider.MyJsonbProvider.class.getClassLoader() + .getResource(providerPackagePath + "/META-INF/services/jakarta.json.bind.spi.JsonbProvider")), + "META-INF/services/jakarta.json.bind.spi.JsonbProvider"); + + warArchive.addAsLibrary(jarArchive); + + return warArchive; + // EnterpriseArchive ear = ShrinkWrap.create(EnterpriseArchive.class, "jsonbprovidertests_servlet_vehicle.ear"); + // ear.addAsModule(warArchive); + // ear.addAsLibrary(jarArchive); + // return ear; } public void removeProviderJarFromCP() throws Exception { - if (providerJarDeployed) { - URLClassLoader currentThreadClassLoader = (URLClassLoader) Thread.currentThread().getContextClassLoader(); - Thread.currentThread().setContextClassLoader(currentThreadClassLoader.getParent()); - currentThreadClassLoader.close(); - providerJarDeployed = false; - } - } - - public void createProviderJar() throws Exception { - - JavaArchive jarArchive = ShrinkWrap.create(JavaArchive.class, "jsonb_alternate_provider.jar") - .addClass(MyJsonbBuilder.class) - .addClass(MyJsonbProvider.class) - .addAsResource(new UrlAsset(MyJsonbProvider.class.getClassLoader().getResource(providerPackagePath+"/META-INF/services/jakarta.json.bind.spi.JsonbProvider")), "META-INF/services/jakarta.json.bind.spi.JsonbProvider"); + if (providerJarDeployed) { + URLClassLoader currentThreadClassLoader = (URLClassLoader) Thread.currentThread().getContextClassLoader(); + Thread.currentThread().setContextClassLoader(currentThreadClassLoader.getParent()); + currentThreadClassLoader.close(); + providerJarDeployed = false; + } + } + + public void createProviderJar() throws Exception { + + JavaArchive jarArchive = ShrinkWrap.create(JavaArchive.class, "jsonb_alternate_provider.jar").addClass(MyJsonbBuilder.class) + .addClass(MyJsonbProvider.class).addAsResource( + new UrlAsset(MyJsonbProvider.class.getClassLoader() + .getResource(providerPackagePath + "/META-INF/services/jakarta.json.bind.spi.JsonbProvider")), + "META-INF/services/jakarta.json.bind.spi.JsonbProvider"); jarArchive.as(ZipExporter.class).exportTo(new File(TEMP_DIR + File.separator + "jsonb_alternate_provider.jar"), true); - ClassLoader currentThreadClassLoader = Thread.currentThread().getContextClassLoader(); - URLClassLoader urlClassLoader = new URLClassLoader( - new URL[] { new File(TEMP_DIR + File.separator + "jsonb_alternate_provider.jar").toURL() }, - currentThreadClassLoader); - Thread.currentThread().setContextClassLoader(urlClassLoader); + ClassLoader currentThreadClassLoader = Thread.currentThread().getContextClassLoader(); + URLClassLoader urlClassLoader = new URLClassLoader( + new URL[] { new File(TEMP_DIR + File.separator + "jsonb_alternate_provider.jar").toURL() }, currentThreadClassLoader); + Thread.currentThread().setContextClassLoader(urlClassLoader); - providerJarDeployed = true; + providerJarDeployed = true; + + } - } - private static final String MY_JSONBROVIDER_CLASS = "com.sun.ts.tests.jsonb.provider.MyJsonbProvider"; private static final String MY_JSONBBUILDER_CLASS = "com.sun.ts.tests.jsonb.provider.MyJsonbBuilder"; @@ -166,15 +153,12 @@ public static void main(String[] args) { } /* - * @class.setup_props: - * This is needed by the vehicle base classes + * @class.setup_props: This is needed by the vehicle base classes */ public void setup(String[] args, Properties p) throws Exception { } - - /* Test setup */ /* @@ -197,8 +181,7 @@ public void cleanup() throws Exception { /* * @testName: jsonbProviderTest1 * - * @test_Strategy: Test call of SPI provider method with signature: o public - * static JsonbProvider provider() + * @test_Strategy: Test call of SPI provider method with signature: o public static JsonbProvider provider() */ @Test @TargetVehicle("servlet") @@ -216,8 +199,8 @@ public void jsonbProviderTest1() throws Exception { /* * @testName: jsonbProviderTest2 * - * @test_Strategy: Test call of SPI provider method with signature: o public - * static JsonbProvider provider(String provider) + * @test_Strategy: Test call of SPI provider method with signature: o public static JsonbProvider provider(String + * provider) */ @Test @TargetVehicle("servlet") @@ -228,24 +211,25 @@ public void jsonbProviderTest2() throws Exception { JsonbProvider provider = JsonbProvider.provider(MY_JSONBROVIDER_CLASS); String providerClass = provider.getClass().getName(); logger.log(Logger.Level.INFO, "provider class=" + providerClass); - if (providerClass.equals(MY_JSONBROVIDER_CLASS)) - logger.log(Logger.Level.INFO, "Current provider is my provider - expected."); - else { + if (providerClass.equals(MY_JSONBROVIDER_CLASS)) { + logger.log(Logger.Level.INFO, "Current provider is my provider - expected."); + } else { logger.log(Logger.Level.ERROR, "Current provider is not my provider - unexpected."); pass = false; ServiceLoader loader = ServiceLoader.load(JsonbProvider.class); Iterator it = loader.iterator(); List providers = new ArrayList<>(); - while(it.hasNext()) { + while (it.hasNext()) { providers.add(it.next()); } - logger.log(Logger.Level.INFO, "Providers: "+providers); + logger.log(Logger.Level.INFO, "Providers: " + providers); } } catch (Exception e) { throw new Exception("jsonbProviderTest2 Failed: ", e); } - if (!pass) + if (!pass) { throw new Exception("jsonbProviderTest2 Failed"); + } } /* @@ -261,9 +245,9 @@ public void jsonbProviderTest3() throws Exception { JsonbBuilder builder = JsonbProvider.provider(MY_JSONBROVIDER_CLASS).create(); String providerClass = builder.getClass().getName(); logger.log(Logger.Level.INFO, "jsonb builder class=" + providerClass); - if (providerClass.equals(MY_JSONBBUILDER_CLASS)) - logger.log(Logger.Level.INFO, "Current jsonb builder is my builder - expected."); - else { + if (providerClass.equals(MY_JSONBBUILDER_CLASS)) { + logger.log(Logger.Level.INFO, "Current jsonb builder is my builder - expected."); + } else { logger.log(Logger.Level.ERROR, "Current jsonb builder is not my builder - unexpected."); throw new Exception("jsonbProviderTest3 Failed"); }