FileDocCategorySizeDatePackage
ModulesExistWeb.javaAPI DocGlassfish v2 API7097Fri May 04 22:33:28 BST 2007com.sun.enterprise.tools.verifier.tests.app

ModulesExistWeb

public class ModulesExistWeb extends com.sun.enterprise.tools.verifier.tests.app.ApplicationTest implements AppCheck
Application's listed J2EE modules exist in the Enterprise archive The J2EE module element contains an ejb, java, or web element, which indicates

Fields Summary
Constructors Summary
Methods Summary
public Resultcheck(Application descriptor)
Application's listed J2EE modules exist in the Enterprise archive The J2EE module element contains an ejb, java, or web element, which indicates the module type and contains a path to the module file

param
descriptor the Application deployment descriptor
return
Result the results for this assertion


	Result result = getInitializedResult();

  
         
	if (descriptor.getWebBundleDescriptors().size() > 0) {
	    boolean oneFailed = false;
	    for (Iterator itr = descriptor.getWebBundleDescriptors().iterator(); itr.hasNext();) {
		WebBundleDescriptor wbd = (WebBundleDescriptor) itr.next();

		if (!(wbd.getModuleDescriptor().getArchiveUri().equals(""))) {
		    JarFile jarFile = null;
                    InputStream deploymentEntry=null;
                    boolean moduleDirExists = false;

//		    try {
//                        File applicationJarFile = null;
//                        if (Verifier.getEarFile() != null) {
//                           applicationJarFile = new File(Verifier.getEarFile());
//                        }

//                        if (applicationJarFile == null) {
//                            try {
                              String archBase = getAbstractArchiveUri(descriptor);
                              String moduleName = wbd.getModuleDescriptor().getArchiveUri();
                              String moduleDir = FileUtils.makeFriendlyFileName(moduleName);
                              File f = new File(archBase + File.separator + moduleDir);
                              moduleDirExists = f.isDirectory();
//                            }catch (Exception e) { throw  new IOException(e.getMessage());}
//                        }
//                        else {
//			   jarFile = new JarFile(applicationJarFile);
//			   ZipEntry deploymentEntry1 = jarFile.getEntry(
//                                wbd.getModuleDescriptor().getArchiveUri());
//                           deploymentEntry = jarFile.getInputStream(
//                                             deploymentEntry1);
//                        }
        
			if ((deploymentEntry != null) || moduleDirExists) {
			    result.addGoodDetails(smh.getLocalString
						  (getClass().getName() + ".passed",
						   "J2EE Web module [ {0} ] exists within [ {1} ].",
						   new Object[] {wbd.getModuleDescriptor().getArchiveUri(),descriptor.getName()}));
			} else { 
                            if (!oneFailed) {
                                oneFailed = true;
                            }
			    result.addErrorDetails(smh.getLocalString
						   (getClass().getName() + ".failed",
						    "Error: J2EE Web module [ {0} ] does not exist within [ {1} ].",
						    new Object[] {wbd.getModuleDescriptor().getArchiveUri(), descriptor.getName()}));
			}
        
//		    } catch (FileNotFoundException ex) {
//			Verifier.debug(ex);
//                        if (!oneFailed) {
//                            oneFailed = true;
//                        }
//			
//		result.failed(smh.getLocalString
//				      (getClass().getName() + ".failedException",
//				       "Error: File not found trying to read J2EE module file [ {0} ] within [ {1} ]",
//				       new Object[] {wbd.getModuleDescriptor().getArchiveUri(), descriptor.getName()}));
//		    } catch (IOException ex) {
//			Verifier.debug(ex);
//                        if (!oneFailed) {
//                            oneFailed = true;
//                        }
//			
//		result.failed(smh.getLocalString
//				      (getClass().getName() + ".failedException1",
//				       " Error: IO Error trying to read J2EE module file [ {0} ] within [ {1} ]",
//				       new Object[] {wbd.getModuleDescriptor().getArchiveUri(), descriptor.getName()}));
//	            } finally {
                        try {
                         if (jarFile != null)
                              jarFile.close();
                         if (deploymentEntry != null)
                              deploymentEntry.close();
                        } catch (Exception x) {}
//                    }

		}
	    }
            if (oneFailed) {
                result.setStatus(Result.FAILED);
            } else {
                result.setStatus(Result.PASSED);
            }

	} else {
	    result.notApplicable(smh.getLocalString
				 (getClass().getName() + ".notApplicable",
				  "There are no web components in application [ {0} ]",
				  new Object[] {descriptor.getName()}));
	}
	return result;