1 package org.campware.cream.modules.actions; 2 3 42 43 import org.apache.velocity.context.Context; 44 45 import org.apache.turbine.util.RunData; 46 import org.apache.torque.util.Criteria; 47 48 import org.apache.torque.util.Transaction; 49 import java.sql.Connection ; 50 import org.apache.turbine.util.parser.ParameterParser; 51 import java.util.Enumeration ; 52 53 import org.campware.cream.om.TurbineUser; 54 import org.campware.cream.om.TurbineUserPeer; 55 import org.campware.cream.om.TurbineUserGroupRole; 56 import org.campware.cream.om.TurbineUserGroupRolePeer; 57 import org.campware.cream.om.CreamUser; 58 import org.campware.cream.om.CreamUserPeer; 59 60 64 public class UserSQL extends CreamAction 65 { 66 protected void initScreen() 67 { 68 setModuleType(LOOKUP); 69 setModuleName("TURBINE_USER"); 70 } 71 72 82 public void doInsert(RunData data, Context context) 83 throws Exception 84 { 85 TurbineUser entry = new TurbineUser(); 86 data.getParameters().setProperties(entry); 87 CreamUser prefs = new CreamUser(); 88 data.getParameters().setProperties(prefs); 89 90 ParameterParser pp= data.getParameters(); 91 Enumeration paramKeys= pp.keys(); 92 93 while(paramKeys.hasMoreElements()) { 94 String paramName = paramKeys.nextElement().toString(); 95 if(paramName.startsWith("roleid")) { 96 String suffix=paramName.substring(6, paramName.length()); 97 TurbineUserGroupRole entryItem= new TurbineUserGroupRole(); 98 99 entryItem.setGroupId(1); 100 entryItem.setRoleId(pp.getInt("roleid" + suffix)); 101 entry.addTurbineUserGroupRole(entryItem); 102 } 103 } 104 105 Connection conn = Transaction.begin(TurbineUserPeer.DATABASE_NAME); 106 boolean success = false; 107 try { 108 entry.save(conn); 109 int usrId=entry.getUserId(); 110 prefs.setUserId(usrId); 111 prefs.save(conn); 112 Transaction.commit(conn); 113 success = true; 114 115 } finally { 116 if (!success) Transaction.safeRollback(conn); 117 } 118 } 119 120 128 public void doUpdate(RunData data, Context context) 129 throws Exception 130 { 131 TurbineUser entry = new TurbineUser(); 132 data.getParameters().setProperties(entry); 133 CreamUser prefs = new CreamUser(); 134 data.getParameters().setProperties(prefs); 135 136 ParameterParser pp= data.getParameters(); 137 Enumeration paramKeys= pp.keys(); 138 139 while(paramKeys.hasMoreElements()) { 140 String paramName = paramKeys.nextElement().toString(); 141 if(paramName.startsWith("roleid")) { 142 String suffix=paramName.substring(6, paramName.length()); 143 TurbineUserGroupRole entryItem= new TurbineUserGroupRole(); 144 145 entryItem.setGroupId(1); 146 entryItem.setRoleId(pp.getInt("roleid" + suffix)); 147 148 entry.addTurbineUserGroupRole(entryItem); 149 } 150 } 151 152 entry.setModified(true); 153 entry.setNew(false); 154 155 prefs.setModified(true); 156 prefs.setNew(false); 157 158 Criteria crit = new Criteria(); 159 crit.add(TurbineUserGroupRolePeer.USER_ID, entry.getUserId()); 160 161 Connection conn = Transaction.begin(TurbineUserPeer.DATABASE_NAME); 162 boolean success = false; 163 try { 164 TurbineUserGroupRolePeer.doDelete(crit, conn); 165 entry.save(conn); 166 prefs.save(conn); 167 Transaction.commit(conn); 168 success = true; 169 170 } finally { 171 if (!success) Transaction.safeRollback(conn); 172 } 173 174 } 175 176 180 public void doDelete(RunData data, Context context) 181 throws Exception 182 { 183 Criteria criteria = new Criteria(); 184 criteria.add(TurbineUserPeer.USER_ID, data.getParameters().getInt("userid")); 185 186 Criteria prefcrit = new Criteria(); 187 prefcrit.add(CreamUserPeer.USER_ID, data.getParameters().getInt("userid")); 188 189 Connection conn = Transaction.begin(TurbineUserPeer.DATABASE_NAME); 190 boolean success = false; 191 try { 192 TurbineUserPeer.doDelete(criteria, conn); 193 CreamUserPeer.doDelete(prefcrit, conn); 194 Transaction.commit(conn); 195 success = true; 196 197 } finally { 198 if (!success) Transaction.safeRollback(conn); 199 } 200 201 } 202 203 207 public void doDeleteselected(RunData data, Context context) 208 throws Exception 209 { 210 int[] delIds= data.getParameters().getInts("rowid"); 211 212 Criteria criteria = new Criteria(); 213 criteria.addIn(TurbineUserPeer.USER_ID, delIds); 214 Criteria prefcrit = new Criteria(); 215 prefcrit.addIn(CreamUserPeer.USER_ID, delIds); 216 217 Connection conn = Transaction.begin(TurbineUserPeer.DATABASE_NAME); 218 boolean success = false; 219 try { 220 TurbineUserPeer.doDelete(criteria, conn); 221 CreamUserPeer.doDelete(prefcrit, conn); 222 Transaction.commit(conn); 223 success = true; 224 225 } finally { 226 if (!success) Transaction.safeRollback(conn); 227 } 228 229 } 230 231 } 232 | Popular Tags |