1 23 package org.openharmonise.dav.server.webservice; 24 25 import java.util.logging.*; 26 27 import org.openharmonise.commons.dsi.*; 28 import org.openharmonise.dav.server.utils.*; 29 import org.openharmonise.rm.commands.*; 30 import org.openharmonise.rm.commands.CommandException; 31 import org.openharmonise.rm.dsi.DataStoreInterfaceFactory; 32 import org.openharmonise.rm.factory.*; 33 import org.openharmonise.rm.publishing.*; 34 import org.openharmonise.rm.resources.audit.XMLAuditResource; 35 import org.openharmonise.rm.resources.users.User; 36 import org.openharmonise.rm.security.authentication.*; 37 38 39 46 public class ReportService { 47 48 static AbstractDataStoreInterface dbinterf = null; 49 50 53 private static final Logger m_logger = Logger.getLogger(ReportService.class 54 .getName()); 55 56 static { 57 try { 58 dbinterf = DataStoreInterfaceFactory.getDataStoreInterface(); 60 } catch (DataStoreException e) { 61 m_logger.log(Level.WARNING, e.getLocalizedMessage(), e); 62 } 63 } 64 65 68 public ReportService() { 69 super(); 70 } 71 72 81 public static String executeQuery(String sPath, String sUserName, 82 String sPassword) { 83 String sResult = ""; 86 try { 87 UserAuthenticator authenticator = UserAuthenticatorFactory.getAuthenticator(); 89 User user = authenticator.getUser(sUserName, sPassword); 90 State state = new State(dbinterf, user); 91 92 XMLAuditResource queryResource = (XMLAuditResource) HarmoniseObjectFactory 93 .instantiatePublishableObject(dbinterf, 94 XMLAuditResource.class.getName(), HarmoniseNameResolver 95 .getRealPath(sPath)); 96 97 CmdGenerateReport cmd = new CmdGenerateReport(); 98 cmd.setCommandObject(queryResource); 99 cmd.setDataStoreInteface(dbinterf); 100 cmd.setState(state); 101 102 sResult = (String ) HarmoniseNameResolver.getDAVPath( 103 XMLAuditResource.class, (String ) cmd.execute(null)); } catch (HarmoniseFactoryException e) { 107 m_logger.log(Level.WARNING, e.getLocalizedMessage(), e); 108 } catch (StateException e) { 109 m_logger.log(Level.WARNING, e.getLocalizedMessage(), e); 110 } catch(InvalidCommandException e) { 111 m_logger.log(Level.INFO, "Invalid command called: " 112 + sUserName 113 + " can not execute report generation commmand"); 114 } catch (CommandException e) { 115 m_logger.log(Level.WARNING, e.getLocalizedMessage(), e); 116 } catch (NameResolverException e) { 117 m_logger.log(Level.WARNING, e.getLocalizedMessage(), e); 118 } catch (NullPointerException e) { 119 m_logger.log(Level.WARNING, e.getLocalizedMessage(), e); 120 } 121 catch (UserAuthenticationException e) { 122 m_logger.log(Level.WARNING, e.getLocalizedMessage(), e); 123 } 124 125 return sResult; 126 } 127 } 128 | Popular Tags |