1 16 package dlog4j.tags; 17 18 import java.sql.Connection ; 19 import java.sql.ResultSet ; 20 import java.sql.SQLException ; 21 import java.sql.Statement ; 22 23 import javax.servlet.ServletContext ; 24 import javax.servlet.http.HttpServletRequest ; 25 import javax.servlet.jsp.tagext.TagSupport ; 26 import javax.sql.DataSource ; 27 28 import net.sf.hibernate.HibernateException; 29 import net.sf.hibernate.Session; 30 import net.sf.hibernate.SessionFactory; 31 32 import org.apache.struts.Globals; 33 34 import dlog4j.SiteManager; 35 import dlog4j.formbean.SiteForm; 36 import dlog4j.formbean.UserForm; 37 38 42 public class DlogBaseTag extends TagSupport { 43 44 protected String id = null; 45 46 public String getParameter(String param) { 47 return pageContext.getRequest().getParameter(param); 48 } 49 50 public boolean isPost() { 51 HttpServletRequest req = (HttpServletRequest )pageContext.getRequest(); 52 return "POST".equalsIgnoreCase(req.getMethod()); 53 } 54 55 public String getId() { 56 return (this.id); 57 } 58 59 public void setId(String id) { 60 this.id = id; 61 } 62 68 protected String getParameter(String param,String defaultValue) { 69 String value = getParameter(param); 70 if(value==null) 71 value = defaultValue; 72 return value; 73 } 74 78 protected SiteForm getCurrentSite(){ 79 return SiteManager.getCurrentSite(pageContext.getRequest()); 80 } 81 86 protected UserForm getLoginUser(){ 87 return UserForm.getLoginUser((HttpServletRequest )pageContext.getRequest()); 88 } 89 95 protected void commitSession(Session session, boolean close) throws SQLException , HibernateException{ 96 session.flush(); 97 session.connection().commit(); 98 if(close){ 99 session.connection().close(); 100 session.close(); 101 } 102 } 103 108 protected Session getSession() throws SQLException { 109 ServletContext context = pageContext.getServletContext(); 110 SessionFactory sessions = (SessionFactory)context.getAttribute(dlog4j.Globals.HIBERNATE_SESSIONS_KEY); 111 return sessions.openSession(getConnection()); 112 } 113 118 public Connection getConnection() throws SQLException { 119 ServletContext context = pageContext.getServletContext(); 120 DataSource dataSource = (DataSource )context.getAttribute(Globals.DATA_SOURCE_KEY); 121 return dataSource.getConnection(); 122 } 123 127 protected void close(Session session){ 128 try { 129 session.connection().close(); 130 }catch(Exception e) {} 131 try { 132 session.close(); 133 }catch(Exception e) {} 134 } 135 141 protected void closeSession(Session session) throws SQLException ,HibernateException{ 142 session.connection().close(); 143 session.close(); 144 } 145 146 public static void close(Object obj1,Object obj2,Object obj3){ 147 close(obj1);close(obj2);close(obj3); 148 } 149 153 public static void close(Object obj){ 154 if(obj==null) 155 return; 156 try{ 157 if(obj instanceof Connection ) 158 ((Connection )obj).close(); 159 if(obj instanceof Statement ) 160 ((Statement )obj).close(); 161 if(obj instanceof ResultSet ) 162 ((ResultSet )obj).close(); 163 }catch(Exception e){} 164 obj = null; 165 } 166 } 167 | Popular Tags |