public TCKArtifact createArtifact() { final TCKArtifact artifact = newArtifact( artifactType, packagingType, declaringClass, beansXml, validationXml, ejbJarXml, persistenceXml, standalone, addDeclaringPackage ); artifact.setUnit( unit ); artifact.setRunLocally( runLocally ); artifact.setExpectedDeploymentException( expectedDeploymentException ); artifact.getClasses().addAll( classes ); // Annoying hack artifact.getResources().removeAll( resources ); artifact.getResources().addAll( resources ); artifact.getLibraries().addAll( extraLibraries ); for ( String packageName : packages ) { artifact.addPackage( packageName, false ); } return artifact; }
private TCKArtifact createApplicationXml() { InputStream applicationXml = null; try { applicationXml = getApplicationXml( ear.getDeclaringClass() ); ear.getResources().add( new ResourceDescriptorImpl( APPLICATION_XML_DESTINATION, applicationXml ) ); } catch ( IOException e ) { log.warn( "Error generating ear", e ); } finally { if ( applicationXml != null ) { try { applicationXml.close(); } catch ( IOException e1 ) { log.error( "Error generating ear", e1 ); } } } return ear; }
public void createContainingJars() { try { ear.getResources().add( new ResourceDescriptorImpl( war.getDefaultName(), war.getJar() ) ); ear.getResources().add( new ResourceDescriptorImpl( ejbJar.getDefaultName(), ejbJar.getJar() ) ); } catch ( IOException ioe ) { String message = "Error generating ear"; log.warn( message, ioe ); throw new RuntimeException( message ); } }
private EarArtifactDescriptor(TCKArtifact ear, TCKArtifact ejbJar, TCKArtifact war) { this.ear = ear; this.ejbJar = ejbJar; this.war = war; this.war.setLibrariesSupported( false ); this.war.skipIncludeXmlConfig( true ); this.ear.getClasses().clear(); this.ear.setExtension( ".ear" ); this.ear.setLibrariesSupported( true ); this.ear.setLibrariesRoot( "lib" ); this.ear.skipIncludeXmlConfig( true ); this.ejbJar.initialize(); this.war.initialize(); createContainingJars(); createApplicationXml(); }
public static TCKArtifact createWarArtifact(TCKArtifact tckArtifact) { tckArtifact.setLibrariesRoot( "WEB-INF/lib" ); tckArtifact.setClassesRoot( "WEB-INF/classes/" ); tckArtifact.setExtension( ".war" ); tckArtifact.setLibrariesSupported( true ); if ( tckArtifact instanceof JSR299ArtifactDescriptor ) { tckArtifact.setXmlConfigDestination( "WEB-INF/beans.xml" ); } else if ( tckArtifact instanceof JSR303ArtifactDescriptor ) { tckArtifact.setXmlConfigDestination( "WEB-INF/classes/META-INF/validation.xml" ); } URL webXml = loadResource( CUSTOM_WEB_XML_FILE_NAME ); if ( webXml == null ) { webXml = loadResource( STANDARD_WEB_XML_FILE_NAME ); } tckArtifact.getResources().add( new ResourceDescriptorImpl( WEB_XML_DESTINATION, webXml ) ); return tckArtifact; }
try jar = artifact.getJarAsStream(); if (!getCurrentConfiguration().getContainers().deploy(jar, artifact.getDefaultName())) else if (artifact != null && artifact.isUnit()) Set<Class<?>> classes = artifact.getClasses(); if (!getCurrentConfiguration().getStandaloneContainers().deploy(classes, xmlResourcesAsList())) if (artifact != null && artifact.getExpectedDeploymentException() != null) if (isThrowablePresent(artifact.getExpectedDeploymentException(), deploymentException.getCause())) this.deploymentException = handleDeploymentFailure(new DeploymentException(artifact.getDefaultName(), new ExpectedException("Expected exception " + artifact.getExpectedDeploymentException() + " but none was thrown")));
private static TCKArtifact createAndInitalizeWarArtifact(ArtifactType artifactType, Class<?> declaringClass, String beansXml, String validationXml, String ejbJarXml, boolean addDeclaringPackage) { TCKArtifact artifact = createBaseArtifact( artifactType, declaringClass, beansXml, validationXml ); artifact = WarArtifactDescriptor.createWarArtifact( artifact ).initialize(); if ( ejbJarXml != null ) { artifact.getResources().add( new ResourceDescriptorImpl( "WEB-INF/ejb-jar.xml", ejbJarXml ) ); } if ( addDeclaringPackage ) { artifact.addPackage( declaringClass.getPackage() ); } return artifact; }
@Override protected TCKArtifact postCreate(TCKArtifact artifact) throws IOException { super.postCreate(artifact); ArtifactDescriptor library = new ArtifactDescriptor(LibraryMissingBeansXmlTest.class); library.getClasses().add(Bar.class); artifact.getLibraries().add(new ResourceDescriptorImpl("cdi-tck-beans.jar", library.getJarAsStream())); return artifact; }
private static TCKArtifact newArtifact(ArtifactType artifactType, PackagingType packagingType, Class<?> declaringClass, String beansXml, String validationXml, String ejbJarXml, String persistenceXml, boolean standalone, boolean addDeclaringPackage) { TCKArtifact artifact; if ( !standalone && packagingType.equals( WAR ) ) { artifact = createAndInitalizeWarArtifact( artifactType, declaringClass, beansXml, validationXml, ejbJarXml, addDeclaringPackage ); } else if ( !standalone && packagingType.equals( EAR ) ) { artifact = createAndInitalizeEarArtifact( artifactType, declaringClass, beansXml, validationXml, ejbJarXml, persistenceXml, addDeclaringPackage ); } else { artifact = createBaseArtifact( artifactType, declaringClass, beansXml, validationXml ); if ( addDeclaringPackage ) { artifact.addPackage( declaringClass.getPackage() ); } artifact.initialize(); } return artifact; }
private void undeployArtifact() throws Exception { if (isDeployToContainerNeeded()) { getCurrentConfiguration().getContainers().undeploy(artifact.getDefaultName()); } if (getCurrentConfiguration().isStandalone() && artifact != null && artifact.isUnit()) { getCurrentConfiguration().getStandaloneContainers().undeploy(); } }
private List<URL> xmlResourcesAsList() { List<URL> urlList = new ArrayList<URL>(); if (artifact.getXmlConfig() != null) { urlList.add(artifact.getXmlConfig().getSource()); } return urlList; }
artifact.getResources().add( new ResourceDescriptorImpl( EJB_JAR_XML_DESTINATION, ejbJarXml ) ); artifact.getResources().add( new ResourceDescriptorImpl( EJB_JAR_XML_DESTINATION, ejbJarXmlLocation ) ); artifact.getResources().add( new ResourceDescriptorImpl( PERSISTENCE_XML_DESTINATION, persistenceXml ) ); artifact.getResources() .add( new ResourceDescriptorImpl( PERSISTENCE_XML_DESTINATION, persistenceXmlLocation ) );
@Override protected TCKArtifact postCreate(TCKArtifact artifact) throws IOException { super.postCreate(artifact); ArtifactDescriptor library = new ArtifactDescriptor(LibraryInEarTest.class); library.getClasses().addAll(Arrays.asList(Bar.class)); library.getResources().add(new ResourceDescriptorImpl(JSR299ArtifactDescriptor.BEANS_XML_DESTINATION, JSR299ArtifactDescriptor.STANDARD_BEANS_XML_FILE_NAME)); artifact.getLibraries().add(new ResourceDescriptorImpl("cdi-tck-beans.jar", library.getJarAsStream())); return artifact; }
private static TCKArtifact createAndInitalizeEarArtifact(ArtifactType artifactType, Class<?> declaringClass, String beansXml, String validationXml, String ejbJarXml, String persistenceXml, boolean addDeclaringPackage) { TCKArtifact ejbJar = EjbJarArtifactDescriptor.createEjbJarArtifact( createBaseArtifact( artifactType, declaringClass, beansXml, validationXml ), ejbJarXml, persistenceXml ); if ( addDeclaringPackage ) { ejbJar.addPackage( declaringClass.getPackage() ); } TCKArtifact war = WarArtifactDescriptor.createWarArtifact( createBaseArtifact( artifactType, declaringClass, beansXml, validationXml ) ); TCKArtifact ear = EarArtifactDescriptor.createEarArtifact( createBaseArtifact( artifactType, declaringClass, beansXml, validationXml ), ejbJar, war ); ear.initialize(); return ear; }
@Override protected TCKArtifact postCreate(TCKArtifact artifact) throws IOException { super.postCreate(artifact); ArtifactDescriptor library = new ArtifactDescriptor(LibraryInWarTest.class); library.getClasses().add(Bar.class); library.getResources().add(new ResourceDescriptorImpl(JSR299ArtifactDescriptor.BEANS_XML_DESTINATION, JSR299ArtifactDescriptor.STANDARD_BEANS_XML_FILE_NAME)); artifact.getLibraries().add(new ResourceDescriptorImpl("cdi-tck-beans.jar", library.getJarAsStream())); return artifact; }