}  if ( !__validateViewerId( ) ) { throw new JspTagException( BirtResources .getMessage( ResourceConstants.TAGLIB_INVALID_VIEWER_ID ) ); }   if ( pageContext.findAttribute( viewer.getId( ) ) != null ) { throw new JspTagException( BirtResources .getMessage( ResourceConstants.TAGLIB_VIEWER_ID_DUPLICATE ) );
	public void __validate( ) throws Exception	{		// get Locale		this.locale = BirtTagUtil.getLocale( (HttpServletRequest) pageContext				.getRequest( ), viewer.getLocale( ) );		// Set locale information		BirtResources.setLocale( this.locale );		// Validate viewer id		if ( viewer.getId( ) == null || viewer.getId( ).length( ) <= 0 )		{			throw new JspTagException( BirtResources					.getMessage( ResourceConstants.TAGLIB_NO_VIEWER_ID ) );		}		// Report design or document should be specified		if ( viewer.getReportDesign( ) == null				&& viewer.getReportDocument( ) == null )		{			throw new JspTagException( BirtResources					.getMessage( ResourceConstants.TAGLIB_NO_REPORT_SOURCE ) );		}		// If preview reportlet, report document file should be specified.		if ( viewer.getReportletId( ) != null				&& viewer.getReportDocument( ) == null )		{			throw new JspTagException( BirtResources					.getMessage( ResourceConstants.TAGLIB_NO_REPORT_DOCUMENT ) );		}	}