FileDocCategorySizeDatePackage
JspFile.javaAPI DocGlassfish v2 API6252Fri May 04 22:34:10 BST 2007com.sun.enterprise.tools.verifier.tests.web

JspFile

public class JspFile extends com.sun.enterprise.tools.verifier.tests.web.WebTest implements WebCheck
Jsp file element contains the full path to Jsp file within web application test.

Fields Summary
Constructors Summary
Methods Summary
public Resultcheck(WebBundleDescriptor descriptor)
Jsp file element contains the full path to Jsp file within web application test.

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


	Result result = getInitializedResult();
	ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();

	if (!descriptor.getJspDescriptors().isEmpty()) {
	    boolean oneFailed = false;
	    boolean foundIt = false;
//            ZipEntry ze=null;
//            JarFile jar=null;
            FileArchive arch=null;
	    // get the jsps in this .war
	    Set jsps = descriptor.getJspDescriptors();
	    Iterator itr = jsps.iterator();
	    // test the jsps in this .war
	    while (itr.hasNext()) {
		foundIt = false;
		WebComponentDescriptor jsp = (WebComponentDescriptor)itr.next();
		String jspFilename = jsp.getWebComponentImplementation();
            String uri = null;
                try{
//                    File f = Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
//                    if(f==null){
                        uri=getAbstractArchiveUri(descriptor);
                        try{
                            arch = new FileArchive();
                            arch.open(uri);
                        }catch(IOException e){throw e;}
//                    }
//                    else{
//                        jar = new JarFile(f);
//                    }
                    
                    if (jspFilename.startsWith("/")) 
                        jspFilename = jspFilename.substring(1);
//                    if(f!=null){
//                        ze = jar.getEntry(jspFilename);
//                        foundIt=(ze !=null);
//                    }else{ 
                        File jspf = new File(arch.getArchiveUri()+File.separator+jspFilename);
                        if(jspf.exists())
                            foundIt=true;
                        jspf = null;                 
//                    }
//                    if (jar!=null)
//                        jar.close();
                }catch (Exception e){
                    if (!oneFailed ) {
                        oneFailed = true;
                    }
                }
                
                if (foundIt) {
		    result.addGoodDetails(smh.getLocalString
			("tests.componentNameConstructor",
			"For [ {0} ]",
			new Object[] {compName.toString()}));
		    result.addGoodDetails(smh.getLocalString
					  (getClass().getName() + ".passed",
					   "Jsp file [ {0} ] contains the full path to Jsp file within web application [ {1} ]",
					   new Object[] {jspFilename, descriptor.getName()}));
		} else {
		    if (!oneFailed ) {
			oneFailed = true;
		    }
		    result.addErrorDetails(smh.getLocalString
			("tests.componentNameConstructor",
			"For [ {0} ]",
			new Object[] {compName.toString()}));

		    result.addErrorDetails(smh.getLocalString
					   (getClass().getName() + ".failed",
					    "Error: Jsp file [ {0} ] is not found within [ {1} ] or does not contain the full path to Jsp file within web application [ {2} ]",
					    new Object[] {jspFilename, uri, descriptor.getName()}));
		}
	    }
	    if (oneFailed) {
		result.setStatus(Result.FAILED);
	    } else {
		result.setStatus(Result.PASSED);
	    }
	} else {
	    result.addNaDetails(smh.getLocalString
			("tests.componentNameConstructor",
			"For [ {0} ]",
			new Object[] {compName.toString()}));

	    result.notApplicable(smh.getLocalString
				 (getClass().getName() + ".notApplicable",
				  "There are no Jsp components within the web archive [ {0} ]",
				  new Object[] {descriptor.getName()}));
	}
	return result;