FileDocCategorySizeDatePackage
ASLocaleCharsetInfo.javaAPI DocGlassfish v2 API6426Fri May 04 22:35:18 BST 2007com.sun.enterprise.tools.verifier.tests.web.ias

ASLocaleCharsetInfo

public class ASLocaleCharsetInfo extends WebTest implements WebCheck

Fields Summary
Constructors Summary
Methods Summary
public Resultcheck(com.sun.enterprise.deployment.WebBundleDescriptor descriptor)

	Result result = getInitializedResult();
	WebComponentNameConstructor compName = new WebComponentNameConstructor(descriptor);
        boolean oneFailed = false;
        boolean notApp = false;

        String defaultLocale;
        String locale;
        String charset;
        String formHintField;
        LocaleCharsetMap[] localeCharMaps;
        //Nlsinfo nlsInfo = descriptor.getIasWebApp().getNlsinfo();
        LocaleCharsetInfo nlsInfo = descriptor.getIasWebApp().getLocaleCharsetInfo();
        //System.out.println(">>>>>>>>>>>>checking for res " +nlsInfo);
	if (nlsInfo != null) {

            defaultLocale=nlsInfo.getAttributeValue(MetaData.DEFAULT_LOCALE);
            localeCharMaps= nlsInfo.getLocaleCharsetMap();
            //System.out.println(">>>>>>>>>>>> defaultLocale " +defaultLocale);
            if (defaultLocale!=null || defaultLocale.length() != 0) {
                    result.passed(smh.getLocalString
					  (getClass().getName() + ".passed",
					   "PASSED [AS-WEB locale-charset-info] Proper "+ MetaData.DEFAULT_LOCALE+"  [ {0} ] defined in the war file.",
					   new Object[] {defaultLocale}));

            } else{
                    if (!oneFailed)
                        oneFailed = true;
                    result.failed(smh.getLocalString
					   (getClass().getName() + ".failed",
					    "FAILED [AS-WEB local-charset-info] Empty "+ MetaData.DEFAULT_LOCALE+" [ {0} ] is not valid.",
					    new Object[] {defaultLocale}));
           }

	    for (int rep=0; rep<localeCharMaps.length; rep++ ) {
		locale = localeCharMaps[rep].getAttributeValue(MetaData.LOCALE);
                charset = localeCharMaps[rep].getAttributeValue(MetaData.CHARSET);
                //System.out.println(".>>>>>>>>>>>>>checking for locale: "+  locale+" charset : "+ charset);
                if (locale!=null && charset!=null && locale.length() != 0 && charset.length() != 0) {
                    result.passed(smh.getLocalString
					  (getClass().getName() + ".passed1",
					   "PASSED [AS-WEB locale-charset-map] attributes locale  [ {0} ] and charset [ {1} ] properly defined.",
					   new Object[] {locale, charset}));
                } else {
                    if (!oneFailed)
                        oneFailed = true;
                    result.failed(smh.getLocalString
                                      (getClass().getName() + ".failed1",
                                      "FAILED [AS-WEB local-charset-map] attributes locale [ {0} ] and charset [ {1} ] must be of finite length.",
                                      new Object[] {locale, charset}));
                }
            }


            //chk for parameter encoding pending, as NLSInfo object still dont support it.// to-do vkv#

        } else {
            //System.out.println("There are no NLS info defined within the ias-web archive");
            notApp = true;
	    result.notApplicable(smh.getLocalString
				 (getClass().getName() + ".notApplicable",
				  "NOT APPLICABLE [AS-WEB sun-web-app] locale-charset-info element not defined in this web archive [ {0} ].",
				  new Object[] {descriptor.getName()}));
        }
        if (oneFailed) {
            result.setStatus(Result.FAILED);
        } else if(notApp) {
            result.setStatus(Result.NOT_APPLICABLE);
        }else {
            result.setStatus(Result.PASSED);
            result.passed
		    (smh.getLocalString
		     (getClass().getName() + ".passed2",
		      "PASSED [AS-WEB sun-web-app] locale-charset-info elements are valid within the web archive [ {0} ] .",
                            new Object[] {descriptor.getName()} ));
        }
	return result;