1 16 17 package org.apache.cocoon.components.modules.database; 18 19 import java.sql.Connection ; 20 import java.sql.SQLException ; 21 import java.sql.Statement ; 22 import java.util.Map ; 23 24 import org.apache.avalon.framework.configuration.Configuration; 25 import org.apache.avalon.framework.configuration.ConfigurationException; 26 import org.apache.avalon.framework.thread.ThreadSafe; 27 28 40 public class McKoiSequenceModule implements AutoIncrementModule, ThreadSafe { 41 42 public Object getPostValue( 43 Configuration tableConf, 44 Configuration columnConf, 45 Configuration modeConf, 46 Connection conn, 47 Statement stmt, 48 Map objectModel) 49 throws SQLException , ConfigurationException { 50 return null; 51 } 52 53 public boolean includeInQuery() { 54 return true; 55 } 56 57 public boolean includeAsValue() { 58 return false; 59 } 60 61 public Object getPreValue( 62 Configuration tableConf, 63 Configuration columnConf, 64 Configuration modeConf, 65 Connection conn, 66 Map objectModel) 67 throws SQLException , ConfigurationException { 68 69 return null; 70 } 71 72 public String getSubquery( 73 Configuration tableConf, 74 Configuration columnConf, 75 Configuration modeConf) 76 throws ConfigurationException { 77 78 String sequence = modeConf.getAttribute("sequence", null); 79 StringBuffer queryBuffer = new StringBuffer (); 80 queryBuffer.append(" NEXTVAL('"); 81 if (sequence != null) { 82 queryBuffer.append(sequence); 83 } else { 84 queryBuffer.append(tableConf.getAttribute("name", "")); 85 queryBuffer.append('_'); 86 queryBuffer.append(columnConf.getAttribute("name")); 87 queryBuffer.append("_seq"); 88 } 89 queryBuffer.append("')"); 90 91 return queryBuffer.toString(); 92 } 93 } 94 | Popular Tags |