FileDocCategorySizeDatePackage
WSXMLLocCheck.javaAPI DocGlassfish v2 API6495Fri May 04 22:34:16 BST 2007com.sun.enterprise.tools.verifier.tests.webservices

WSXMLLocCheck

public class WSXMLLocCheck extends WSTest implements WSCheck

Fields Summary
private String
ejbWSXmlLoc
private String
jaxrpcWSXmlLoc
Constructors Summary
Methods Summary
public Resultcheck(WebServiceEndpoint descriptor)

param
descriptor the WebServices descriptor
return
Result the results for this assertion


                      
         

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

//        boolean pass = true;

//        File f = Verifier.getArchiveFile(descriptor.getBundleDescriptor().
//                 getModuleDescriptor().getArchiveUri());
//        JarFile jarFile = null;
        InputStream deploymentEntry=null;

        try {
//             if (f == null) {
              String uri = getAbstractArchiveUri(descriptor);
//              try {
                 FileArchive arch = new FileArchive();
                 arch.open(uri);
                 if (descriptor.implementedByEjbComponent()) {
                    deploymentEntry = arch.getEntry(ejbWSXmlLoc);
                 }
                 else if (descriptor.implementedByWebComponent()) {
                    deploymentEntry = arch.getEntry(jaxrpcWSXmlLoc);
                 }
                 else {
                    throw new Exception("Niether implemented by EJB nor by WEB Component");
                 }
//               }catch (IOException e) { throw e;}
//             }
//             else {
//
//               jarFile = new JarFile(f);
//               ZipEntry deploymentEntry1 = null;
//               if (descriptor.implementedByEjbComponent()) {
//                   deploymentEntry1 = jarFile.getEntry(ejbWSXmlLoc);
//               }
//               else if (descriptor.implementedByWebComponent()) {
//                   deploymentEntry1 = jarFile.getEntry(jaxrpcWSXmlLoc);
//               }
//               else {
//                    throw new Exception("Niether implemented by EJB nor by WEB Component");
//               }
//               deploymentEntry = jarFile.getInputStream(deploymentEntry1);
//            }
            if (deploymentEntry != null) {
              // webservices XML exists 
              // result.pass
              result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
                                   "For [ {0} ]", new Object[] {compName.toString()}));
              result.passed(smh.getLocalString (getClass().getName() + ".passed",
                          "The webservices.xml file for [{0}] is located at the correct place.",
                           new Object[] {compName.toString()}));

            }
            else {
             // ws xml is does not exist
             //result.fail
             result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
                                   "For [ {0} ]", new Object[] {compName.toString()}));
             result.failed(smh.getLocalString (getClass().getName() + ".failed",
               "The webservices.xml file for [{0}] is not located in WEB-INF/META-INF directory as applicable.",
                new Object[] {compName.toString()}));

//             pass = false;
            }
        }catch (Exception e) {
            //result.fail
            result.addErrorDetails(smh.getLocalString
               ("com.sun.enterprise.tools.verifier.tests.webservices.Error",
                "Error: Unexpected error occurred [ {0} ]",
                new Object[] {e.getMessage()}));
//            pass = false;
        }
        finally {

           try {
           if (deploymentEntry != null)
               deploymentEntry.close();
           }catch (IOException e) {}
        }

        return result;