blob: 4a1fa57d0c8e4134f8eaff5960f53ce6449f680e [file] [log] [blame]
package org.eclipse.jst.j2ee.archive.emftests;
import java.util.HashSet;
import junit.framework.TestSuite;
import junit.swingui.TestRunner;
import org.eclipse.jst.j2ee.application.ApplicationFactory;
import org.eclipse.jst.j2ee.archive.testutilities.EMFAttributeFeatureGenerator;
import org.eclipse.jst.j2ee.client.ApplicationClientResource;
import org.eclipse.jst.j2ee.commonarchivecore.internal.ApplicationClientFile;
import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
import org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl;
import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
import org.eclipse.jst.j2ee.ejb.EjbFactory;
import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
import org.eclipse.jst.j2ee.internal.application.ApplicationPackage;
import org.eclipse.jst.j2ee.internal.ejb.EjbPackage;
import org.eclipse.jst.j2ee.internal.webapplication.WebapplicationPackage;
import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
public class AppClientEMFTest extends GeneralEMFPopulationTest {
EARFile earFile;
protected ApplicationClientFile appClientFile;
EARFile earFile14;
ApplicationClientFile appClientFile14;
public AppClientEMFTest(String name) {
super(name);
}
public CommonarchiveFactory getArchiveFactory() {
return CommonarchiveFactoryImpl.getActiveFactory();
}
public EjbFactory getEjbFactory() {
return EjbPackage.eINSTANCE.getEjbFactory();
}
public ApplicationFactory getApplicationFactory() {
return ApplicationPackage.eINSTANCE.getApplicationFactory();
}
public WebapplicationFactory getWebAppFactory() {
return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
}
public static void main(java.lang.String[] args) {
String[] className = { "com.ibm.etools.archive.test.AppClientEMFTest", "-noloading" };
TestRunner.main(className);
}
public static junit.framework.Test suite() {
TestSuite suite = new TestSuite();
suite.addTest(new AppClientEMFTest("testApplicationClientPopulation"));
suite.addTest(new AppClientEMFTest("test14ApplicationClientPopulation"));
return suite;
}
public void testApplicationClientPopulation() throws Exception {
EMFAttributeFeatureGenerator.reset();
createEAR();
createAppClient();
ApplicationClientResource DD = (ApplicationClientResource) appClientFile.getDeploymentDescriptorResource();
DD.setVersionID(J2EEVersionConstants.J2EE_1_3_ID);
setVersion(VERSION_1_3);
setModuleType(APP_CLIENT);
populateRoot(DD.getRootObject());
String out = AutomatedBVT.baseDirectory +"testOutput/TestAppEAR";
earFile.extractTo(out, Archive.EXPAND_ALL);
earFile.close();
//Compare
String curDir = AutomatedBVT.baseDirectory;
String exampleDeploymentDesURI = curDir + "EMFTestNoID/application-client.xml";
String curDeploymentDesURI = curDir + "testOutput/TestAppEAR/fooAPP/META-INF/application-client.xml";
setIgnoreAtt(ignorableAttributes());
compareContentsIgnoreWhitespace(curDeploymentDesURI, exampleDeploymentDesURI, null);
}
public void test14ApplicationClientPopulation() throws Exception {
EMFAttributeFeatureGenerator.reset();
createEAR();
createAppClient();
ApplicationClientResource DD = (ApplicationClientResource) appClientFile.getDeploymentDescriptorResource();
DD.setVersionID(J2EEVersionConstants.J2EE_1_4_ID);
setVersion(VERSION_1_4);
setModuleType(APP_CLIENT);
populateRoot(DD.getRootObject());
String out = AutomatedBVT.baseDirectory +"testOutput/TestAppEAR14";
earFile.extractTo(out, Archive.EXPAND_ALL);
earFile.close();
getApp14Client();
assertEquals("1.4", appClientFile14.getDeploymentDescriptor().getVersion());
out = AutomatedBVT.baseDirectory +"testOutput/TestAppEAR14_2";
appClientFile14.extractTo(out, Archive.EXPAND_ALL);
appClientFile14.close();
//Compare
String curDir = AutomatedBVT.baseDirectory;
String curDeploymentDesURI = curDir + "testOutput/TestAppEAR14/fooAPP/META-INF/application-client.xml";
String secondDeploymentDesURI = out + "/META-INF/application-client.xml";
setIgnoreAtt(ignorableAttributes());
compareContentsIgnoreWhitespace(curDeploymentDesURI, secondDeploymentDesURI, null);
}
public void createAppClient() throws DuplicateObjectException {
appClientFile = getArchiveFactory().createApplicationClientFileInitialized("fooAPP");
appClientFile = (ApplicationClientFile) earFile.addCopy(appClientFile);
appClientFile.getDeploymentDescriptor().setDisplayName("fooAPP");
assertTrue(appClientFile.getDeploymentDescriptor() != null);
}
public void createEAR() {
String earName = "Test.ear";
earFile = getArchiveFactory().createEARFileInitialized(earName);
assertTrue(earFile.getDeploymentDescriptor() != null);
}
public void getApp14Client() throws DuplicateObjectException, OpenFailureException {
String in = AutomatedBVT.baseDirectory + "testOutput/TestAppEAR14/fooAPP";
appClientFile14 = getArchiveFactory().openApplicationClientFile(in);
}
public HashSet ignorableAttributes(){
HashSet set = new HashSet();
set.add("id");
return set;
}
}