001// -------------------------------------------------------------------------------- 002// Copyright 2002-2026 Echo Three, LLC 003// 004// Licensed under the Apache License, Version 2.0 (the "License"); 005// you may not use this file except in compliance with the License. 006// You may obtain a copy of the License at 007// 008// http://www.apache.org/licenses/LICENSE-2.0 009// 010// Unless required by applicable law or agreed to in writing, software 011// distributed under the License is distributed on an "AS IS" BASIS, 012// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013// See the License for the specific language governing permissions and 014// limitations under the License. 015// -------------------------------------------------------------------------------- 016// Generated File -- DO NOT EDIT BY HAND 017// -------------------------------------------------------------------------------- 018 019/** 020 * UserVisitCampaignFactory.java 021 */ 022 023package com.echothree.model.data.campaign.server.factory; 024 025import com.echothree.model.data.user.common.pk.UserVisitPK; 026import com.echothree.model.data.campaign.common.pk.CampaignPK; 027import com.echothree.model.data.campaign.common.pk.CampaignSourcePK; 028import com.echothree.model.data.campaign.common.pk.CampaignMediumPK; 029import com.echothree.model.data.campaign.common.pk.CampaignTermPK; 030import com.echothree.model.data.campaign.common.pk.CampaignContentPK; 031 032import com.echothree.model.data.user.server.entity.UserVisit; 033import com.echothree.model.data.campaign.server.entity.Campaign; 034import com.echothree.model.data.campaign.server.entity.CampaignSource; 035import com.echothree.model.data.campaign.server.entity.CampaignMedium; 036import com.echothree.model.data.campaign.server.entity.CampaignTerm; 037import com.echothree.model.data.campaign.server.entity.CampaignContent; 038 039import com.echothree.model.data.campaign.common.UserVisitCampaignConstants; 040import com.echothree.model.data.campaign.common.pk.UserVisitCampaignPK; 041import com.echothree.model.data.campaign.server.value.UserVisitCampaignValue; 042import com.echothree.model.data.campaign.server.entity.UserVisitCampaign; 043import com.echothree.util.common.exception.PersistenceDatabaseException; 044import com.echothree.util.common.exception.PersistenceDatabaseUpdateException; 045import com.echothree.util.common.exception.PersistenceNotNullException; 046import com.echothree.util.server.persistence.BaseFactory; 047import com.echothree.util.server.persistence.EntityIdGenerator; 048import com.echothree.util.server.persistence.EntityPermission; 049import com.echothree.util.server.persistence.PersistenceDebugFlags; 050import com.echothree.util.server.persistence.Session; 051import java.sql.PreparedStatement; 052import java.sql.ResultSet; 053import java.sql.SQLException; 054import java.sql.Types; 055import java.io.ByteArrayInputStream; 056import java.io.StringReader; 057import java.util.ArrayList; 058import java.util.Collection; 059import java.util.HashSet; 060import java.util.List; 061import java.util.Map; 062import java.util.Set; 063import javax.enterprise.context.ApplicationScoped; 064import javax.enterprise.inject.spi.CDI; 065import javax.inject.Inject; 066import org.jooq.ResultQuery; 067import org.slf4j.Logger; 068import org.slf4j.LoggerFactory; 069 070@ApplicationScoped 071public class UserVisitCampaignFactory 072 implements BaseFactory<UserVisitCampaignPK, UserVisitCampaign> { 073 074 @Inject 075 Session session; 076 077 //private static final Logger log = LoggerFactory.getLogger(UserVisitCampaignFactory.class); 078 079 final private static String SQL_SELECT_READ_ONLY = "SELECT uviscmpgn_uservisitcampaignid, uviscmpgn_uvis_uservisitid, uviscmpgn_uservisitcampaignsequence, uviscmpgn_time, uviscmpgn_cmpgn_campaignid, uviscmpgn_cmpgnsrc_campaignsourceid, uviscmpgn_cmpgnmdm_campaignmediumid, uviscmpgn_cmpgntrm_campaigntermid, uviscmpgn_cmpgncnt_campaigncontentid, uviscmpgn_fromtime, uviscmpgn_thrutime FROM uservisitcampaigns WHERE uviscmpgn_uservisitcampaignid = ?"; 080 final private static String SQL_SELECT_READ_WRITE = "SELECT uviscmpgn_uservisitcampaignid, uviscmpgn_uvis_uservisitid, uviscmpgn_uservisitcampaignsequence, uviscmpgn_time, uviscmpgn_cmpgn_campaignid, uviscmpgn_cmpgnsrc_campaignsourceid, uviscmpgn_cmpgnmdm_campaignmediumid, uviscmpgn_cmpgntrm_campaigntermid, uviscmpgn_cmpgncnt_campaigncontentid, uviscmpgn_fromtime, uviscmpgn_thrutime FROM uservisitcampaigns WHERE uviscmpgn_uservisitcampaignid = ? FOR UPDATE"; 081 final private static String SQL_INSERT = "INSERT INTO uservisitcampaigns (uviscmpgn_uservisitcampaignid, uviscmpgn_uvis_uservisitid, uviscmpgn_uservisitcampaignsequence, uviscmpgn_time, uviscmpgn_cmpgn_campaignid, uviscmpgn_cmpgnsrc_campaignsourceid, uviscmpgn_cmpgnmdm_campaignmediumid, uviscmpgn_cmpgntrm_campaigntermid, uviscmpgn_cmpgncnt_campaigncontentid, uviscmpgn_fromtime, uviscmpgn_thrutime) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; 082 final private static String SQL_UPDATE = "UPDATE uservisitcampaigns SET uviscmpgn_uvis_uservisitid = ?, uviscmpgn_uservisitcampaignsequence = ?, uviscmpgn_time = ?, uviscmpgn_cmpgn_campaignid = ?, uviscmpgn_cmpgnsrc_campaignsourceid = ?, uviscmpgn_cmpgnmdm_campaignmediumid = ?, uviscmpgn_cmpgntrm_campaigntermid = ?, uviscmpgn_cmpgncnt_campaigncontentid = ?, uviscmpgn_fromtime = ?, uviscmpgn_thrutime = ? WHERE uviscmpgn_uservisitcampaignid = ?"; 083 final private static String SQL_DELETE = "DELETE FROM uservisitcampaigns WHERE uviscmpgn_uservisitcampaignid = ?"; 084 final private static String SQL_VALID = "SELECT COUNT(*) FROM uservisitcampaigns WHERE uviscmpgn_uservisitcampaignid = ?"; 085 086 final private static String PK_COLUMN = "uviscmpgn_uservisitcampaignid"; 087 final private static String ALL_COLUMNS = "uviscmpgn_uservisitcampaignid, uviscmpgn_uvis_uservisitid, uviscmpgn_uservisitcampaignsequence, uviscmpgn_time, uviscmpgn_cmpgn_campaignid, uviscmpgn_cmpgnsrc_campaignsourceid, uviscmpgn_cmpgnmdm_campaignmediumid, uviscmpgn_cmpgntrm_campaigntermid, uviscmpgn_cmpgncnt_campaigncontentid, uviscmpgn_fromtime, uviscmpgn_thrutime"; 088 final public static String TABLE_NAME = "uservisitcampaigns"; 089 090 final public static String UVISCMPGN_USERVISITCAMPAIGNID = "uviscmpgn_uservisitcampaignid"; 091 final public static String UVISCMPGN_UVIS_USERVISITID = "uviscmpgn_uvis_uservisitid"; 092 final public static String UVISCMPGN_USERVISITCAMPAIGNSEQUENCE = "uviscmpgn_uservisitcampaignsequence"; 093 final public static String UVISCMPGN_TIME = "uviscmpgn_time"; 094 final public static String UVISCMPGN_CMPGN_CAMPAIGNID = "uviscmpgn_cmpgn_campaignid"; 095 final public static String UVISCMPGN_CMPGNSRC_CAMPAIGNSOURCEID = "uviscmpgn_cmpgnsrc_campaignsourceid"; 096 final public static String UVISCMPGN_CMPGNMDM_CAMPAIGNMEDIUMID = "uviscmpgn_cmpgnmdm_campaignmediumid"; 097 final public static String UVISCMPGN_CMPGNTRM_CAMPAIGNTERMID = "uviscmpgn_cmpgntrm_campaigntermid"; 098 final public static String UVISCMPGN_CMPGNCNT_CAMPAIGNCONTENTID = "uviscmpgn_cmpgncnt_campaigncontentid"; 099 final public static String UVISCMPGN_FROMTIME = "uviscmpgn_fromtime"; 100 final public static String UVISCMPGN_THRUTIME = "uviscmpgn_thrutime"; 101 102 final private static EntityIdGenerator entityIdGenerator = new EntityIdGenerator(UserVisitCampaignConstants.COMPONENT_VENDOR_NAME, UserVisitCampaignConstants.ENTITY_TYPE_NAME); 103 104 /** Creates a new instance of UserVisitCampaignFactory */ 105 protected UserVisitCampaignFactory() { 106 super(); 107 } 108 109 public static UserVisitCampaignFactory getInstance() { 110 return CDI.current().select(UserVisitCampaignFactory.class).get(); 111 } 112 113 @Override 114 public String getPKColumn() { 115 return PK_COLUMN; 116 } 117 118 @Override 119 public String getAllColumns() { 120 return ALL_COLUMNS; 121 } 122 123 @Override 124 public String getTableName() { 125 return TABLE_NAME; 126 } 127 128 @Override 129 public String getComponentVendorName() { 130 return UserVisitCampaignConstants.COMPONENT_VENDOR_NAME; 131 } 132 133 @Override 134 public String getEntityTypeName() { 135 return UserVisitCampaignConstants.ENTITY_TYPE_NAME; 136 } 137 138 public PreparedStatement prepareStatement(String query) { 139 return session.prepareStatement(UserVisitCampaignFactory.class, query); 140 } 141 142 public UserVisitCampaignPK getNextPK() { 143 return new UserVisitCampaignPK(entityIdGenerator.getNextEntityId()); 144 } 145 146 public Set<UserVisitCampaignPK> getPKsFromResultSetAsSet(ResultSet rs) 147 throws PersistenceDatabaseException { 148 Set<UserVisitCampaignPK> _result = new HashSet<>(); 149 150 try { 151 while(rs.next()) { 152 _result.add(getPKFromResultSet(rs)); 153 } 154 } catch (SQLException se) { 155 throw new PersistenceDatabaseException(se); 156 } 157 158 return _result; 159 } 160 161 public java.util.List<UserVisitCampaignPK> getPKsFromResultSetAsList(ResultSet rs) 162 throws PersistenceDatabaseException { 163 java.util.List<UserVisitCampaignPK> _result = new ArrayList<>(); 164 165 try { 166 while(rs.next()) { 167 _result.add(getPKFromResultSet(rs)); 168 } 169 } catch (SQLException se) { 170 throw new PersistenceDatabaseException(se); 171 } 172 173 return _result; 174 } 175 176 public UserVisitCampaignPK getPKFromResultSet(ResultSet rs) 177 throws PersistenceDatabaseException { 178 UserVisitCampaignPK _result; 179 180 try { 181 long uviscmpgn_uservisitcampaignid = rs.getLong(UVISCMPGN_USERVISITCAMPAIGNID); 182 Long _entityId = rs.wasNull() ? null : uviscmpgn_uservisitcampaignid; 183 184 _result = new UserVisitCampaignPK(_entityId); 185 } catch (SQLException se) { 186 throw new PersistenceDatabaseException(se); 187 } 188 189 return _result; 190 } 191 192 public java.util.List<UserVisitCampaignValue> getValuesFromPKs(Collection<UserVisitCampaignPK> pks) 193 throws PersistenceDatabaseException { 194 java.util.List<UserVisitCampaignValue> _values = new ArrayList<>(pks.size()); 195 196 for(UserVisitCampaignPK _pk: pks) { 197 _values.add(getValueFromPK(_pk)); 198 } 199 200 return _values; 201 } 202 203 public UserVisitCampaignValue getValueFromPK(UserVisitCampaignPK pk) 204 throws PersistenceDatabaseException { 205 UserVisitCampaignValue _value; 206 207 // See if we already have the entity in the session cache 208 UserVisitCampaign _entity = (UserVisitCampaign)session.getEntity(pk); 209 if(_entity == null) 210 _value = getEntityFromPK(EntityPermission.READ_ONLY, pk).getUserVisitCampaignValue(); 211 else 212 _value = _entity.getUserVisitCampaignValue(); 213 214 return _value; 215 } 216 217 public java.util.List<UserVisitCampaignValue> getValuesFromResultSet(ResultSet rs) 218 throws PersistenceDatabaseException { 219 java.util.List<UserVisitCampaignValue> _result = new ArrayList<>(); 220 221 try { 222 while(rs.next()) { 223 _result.add(getValueFromResultSet(rs)); 224 } 225 } catch (SQLException se) { 226 throw new PersistenceDatabaseException(se); 227 } 228 229 return _result; 230 } 231 232 public UserVisitCampaignValue getValueFromResultSet(ResultSet rs) 233 throws PersistenceDatabaseException { 234 UserVisitCampaignValue _value; 235 236 try { 237 Long uviscmpgn_uservisitcampaignid = rs.getLong(UVISCMPGN_USERVISITCAMPAIGNID); 238 UserVisitCampaignPK _pk = new UserVisitCampaignPK(uviscmpgn_uservisitcampaignid); 239 240 // See if we already have the entity in the session cache 241 UserVisitCampaign _entity = (UserVisitCampaign)session.getEntity(_pk); 242 243 if(_entity == null) { 244 Long uviscmpgn_uvis_uservisitid = rs.getLong(UVISCMPGN_UVIS_USERVISITID); 245 if(rs.wasNull()) 246 uviscmpgn_uvis_uservisitid = null; 247 248 Integer uviscmpgn_uservisitcampaignsequence = rs.getInt(UVISCMPGN_USERVISITCAMPAIGNSEQUENCE); 249 if(rs.wasNull()) 250 uviscmpgn_uservisitcampaignsequence = null; 251 252 Long uviscmpgn_time = rs.getLong(UVISCMPGN_TIME); 253 if(rs.wasNull()) 254 uviscmpgn_time = null; 255 256 Long uviscmpgn_cmpgn_campaignid = rs.getLong(UVISCMPGN_CMPGN_CAMPAIGNID); 257 if(rs.wasNull()) 258 uviscmpgn_cmpgn_campaignid = null; 259 260 Long uviscmpgn_cmpgnsrc_campaignsourceid = rs.getLong(UVISCMPGN_CMPGNSRC_CAMPAIGNSOURCEID); 261 if(rs.wasNull()) 262 uviscmpgn_cmpgnsrc_campaignsourceid = null; 263 264 Long uviscmpgn_cmpgnmdm_campaignmediumid = rs.getLong(UVISCMPGN_CMPGNMDM_CAMPAIGNMEDIUMID); 265 if(rs.wasNull()) 266 uviscmpgn_cmpgnmdm_campaignmediumid = null; 267 268 Long uviscmpgn_cmpgntrm_campaigntermid = rs.getLong(UVISCMPGN_CMPGNTRM_CAMPAIGNTERMID); 269 if(rs.wasNull()) 270 uviscmpgn_cmpgntrm_campaigntermid = null; 271 272 Long uviscmpgn_cmpgncnt_campaigncontentid = rs.getLong(UVISCMPGN_CMPGNCNT_CAMPAIGNCONTENTID); 273 if(rs.wasNull()) 274 uviscmpgn_cmpgncnt_campaigncontentid = null; 275 276 Long uviscmpgn_fromtime = rs.getLong(UVISCMPGN_FROMTIME); 277 if(rs.wasNull()) 278 uviscmpgn_fromtime = null; 279 280 Long uviscmpgn_thrutime = rs.getLong(UVISCMPGN_THRUTIME); 281 if(rs.wasNull()) 282 uviscmpgn_thrutime = null; 283 284 _value = new UserVisitCampaignValue(_pk, new UserVisitPK(uviscmpgn_uvis_uservisitid), uviscmpgn_uservisitcampaignsequence, uviscmpgn_time, new CampaignPK(uviscmpgn_cmpgn_campaignid), new CampaignSourcePK(uviscmpgn_cmpgnsrc_campaignsourceid), new CampaignMediumPK(uviscmpgn_cmpgnmdm_campaignmediumid), new CampaignTermPK(uviscmpgn_cmpgntrm_campaigntermid), new CampaignContentPK(uviscmpgn_cmpgncnt_campaigncontentid), uviscmpgn_fromtime, uviscmpgn_thrutime); 285 } else 286 _value = _entity.getUserVisitCampaignValue(); 287 } catch (SQLException se) { 288 throw new PersistenceDatabaseException(se); 289 } 290 291 return _value; 292 } 293 294 public java.util.List<UserVisitCampaign> getEntitiesFromPKs(EntityPermission entityPermission, Collection<UserVisitCampaignPK> pks) 295 throws PersistenceDatabaseException { 296 java.util.List<UserVisitCampaign> _entities = new ArrayList<>(pks.size()); 297 298 for(UserVisitCampaignPK _pk: pks) { 299 _entities.add(getEntityFromPK(entityPermission, _pk)); 300 } 301 302 return _entities; 303 } 304 305 public UserVisitCampaign getEntityFromValue(EntityPermission entityPermission, UserVisitCampaignValue value) { 306 return getEntityFromPK(entityPermission, value.getPrimaryKey()); 307 } 308 309 public UserVisitCampaign getEntityFromCache(UserVisitCampaignPK pk) { 310 UserVisitCampaignValue _value = (UserVisitCampaignValue)session.getValueCache().get(pk); 311 312 return _value == null ? null : new UserVisitCampaign(_value, EntityPermission.READ_ONLY); 313 } 314 315 public UserVisitCampaign getEntityFromPK(EntityPermission entityPermission, UserVisitCampaignPK pk) 316 throws PersistenceDatabaseException { 317 UserVisitCampaign _entity; 318 319 // See if we already have the entity in the session cache 320 _entity = (UserVisitCampaign)session.getEntity(pk); 321 if(_entity != null) { 322 // If the requested permission is READ_WRITE, and the cached permission is 323 // READ_ONLY, then pretend that the cached object wasn't found, and create 324 // a new entity that is READ_WRITE. 325 if(entityPermission.equals(EntityPermission.READ_WRITE)) { 326 if(_entity.getEntityPermission().equals(EntityPermission.READ_ONLY)) 327 _entity = null; 328 } 329 } 330 331 if(_entity == null && entityPermission.equals(EntityPermission.READ_ONLY)) { 332 _entity = getEntityFromCache(pk); 333 } 334 335 if(_entity == null) { 336 PreparedStatement _ps = session.prepareStatement(entityPermission.equals(EntityPermission.READ_ONLY)? SQL_SELECT_READ_ONLY: SQL_SELECT_READ_WRITE); 337 long _entityId = pk.getEntityId(); 338 ResultSet _rs = null; 339 340 try { 341 _ps.setLong(1, _entityId); 342 _rs = _ps.executeQuery(); 343 if(_rs.next()) { 344 _entity = getEntityFromResultSet(entityPermission, _rs); 345 } 346 } catch (SQLException se) { 347 throw new PersistenceDatabaseException(se); 348 } finally { 349 if(_rs != null) { 350 try { 351 _rs.close(); 352 } catch (SQLException se) { 353 // do nothing 354 } 355 } 356 } 357 } 358 359 return _entity; 360 } 361 362 public Set<UserVisitCampaignPK> getPKsFromQueryAsSet(PreparedStatement ps, final Object... params) 363 throws PersistenceDatabaseException { 364 Set<UserVisitCampaignPK> _pks; 365 ResultSet _rs = null; 366 367 try { 368 if(params.length != 0) { 369 Session.setQueryParams(ps, params); 370 } 371 372 _rs = ps.executeQuery(); 373 _pks = getPKsFromResultSetAsSet(_rs); 374 _rs.close(); 375 } catch (SQLException se) { 376 throw new PersistenceDatabaseException(se); 377 } finally { 378 if(_rs != null) { 379 try { 380 _rs.close(); 381 } catch (SQLException se) { 382 // do nothing 383 } 384 } 385 } 386 387 return _pks; 388 } 389 390 public java.util.List<UserVisitCampaignPK> getPKsFromQueryAsList(PreparedStatement ps, final Object... params) 391 throws PersistenceDatabaseException { 392 java.util.List<UserVisitCampaignPK> _pks; 393 ResultSet _rs = null; 394 395 try { 396 if(params.length != 0) { 397 Session.setQueryParams(ps, params); 398 } 399 400 _rs = ps.executeQuery(); 401 _pks = getPKsFromResultSetAsList(_rs); 402 _rs.close(); 403 } catch (SQLException se) { 404 throw new PersistenceDatabaseException(se); 405 } finally { 406 if(_rs != null) { 407 try { 408 _rs.close(); 409 } catch (SQLException se) { 410 // do nothing 411 } 412 } 413 } 414 415 return _pks; 416 } 417 418 public UserVisitCampaignPK getPKFromQuery(PreparedStatement ps, final Object... params) 419 throws PersistenceDatabaseException { 420 UserVisitCampaignPK _pk = null; 421 ResultSet _rs = null; 422 423 try { 424 if(params.length != 0) { 425 Session.setQueryParams(ps, params); 426 } 427 428 _rs = ps.executeQuery(); 429 if(_rs.next()) { 430 _pk = getPKFromResultSet(_rs); 431 } 432 _rs.close(); 433 } catch (SQLException se) { 434 throw new PersistenceDatabaseException(se); 435 } finally { 436 if(_rs != null) { 437 try { 438 _rs.close(); 439 } catch (SQLException se) { 440 // do nothing 441 } 442 } 443 } 444 445 return _pk; 446 } 447 448 public java.util.List<UserVisitCampaign> getEntitiesFromQuery(EntityPermission entityPermission, Map<EntityPermission, String>queryMap, final Object... params) 449 throws PersistenceDatabaseException { 450 PreparedStatement ps = session.prepareStatement(UserVisitCampaignFactory.class, queryMap.get(entityPermission)); 451 452 return getEntitiesFromQuery(entityPermission, ps, params); 453 } 454 455 public java.util.List<UserVisitCampaign> getEntitiesFromQuery(EntityPermission entityPermission, Map<EntityPermission, String>queryMap) 456 throws PersistenceDatabaseException { 457 PreparedStatement ps = session.prepareStatement(UserVisitCampaignFactory.class, queryMap.get(entityPermission)); 458 459 return getEntitiesFromQuery(entityPermission, ps); 460 } 461 462 public java.util.List<UserVisitCampaign> getEntitiesFromQuery(EntityPermission entityPermission, ResultQuery<?> query) 463 throws PersistenceDatabaseException { 464 PreparedStatement ps = session.prepareStatement(UserVisitCampaignFactory.class, query.getSQL()); 465 466 return getEntitiesFromQuery(entityPermission, ps, query.getBindValues().toArray()); 467 } 468 469 public java.util.List<UserVisitCampaign> getEntitiesFromQuery(EntityPermission entityPermission, PreparedStatement ps, final Object... params) 470 throws PersistenceDatabaseException { 471 java.util.List<UserVisitCampaign> _entities; 472 ResultSet _rs = null; 473 474 try { 475 if(params.length != 0) { 476 Session.setQueryParams(ps, params); 477 } 478 479 _rs = ps.executeQuery(); 480 _entities = getEntitiesFromResultSet(entityPermission, _rs); 481 _rs.close(); 482 } catch (SQLException se) { 483 throw new PersistenceDatabaseException(se); 484 } finally { 485 if(_rs != null) { 486 try { 487 _rs.close(); 488 } catch (SQLException se) { 489 // do nothing 490 } 491 } 492 } 493 494 return _entities; 495 } 496 497 public UserVisitCampaign getEntityFromQuery(EntityPermission entityPermission, Map<EntityPermission, String>queryMap, final Object... params) 498 throws PersistenceDatabaseException { 499 PreparedStatement ps = session.prepareStatement(UserVisitCampaignFactory.class, queryMap.get(entityPermission)); 500 501 return getEntityFromQuery(entityPermission, ps, params); 502 } 503 504 public UserVisitCampaign getEntityFromQuery(EntityPermission entityPermission, Map<EntityPermission, String>queryMap) 505 throws PersistenceDatabaseException { 506 PreparedStatement ps = session.prepareStatement(UserVisitCampaignFactory.class, queryMap.get(entityPermission)); 507 508 return getEntityFromQuery(entityPermission, ps); 509 } 510 511 public UserVisitCampaign getEntityFromQuery(EntityPermission entityPermission, ResultQuery<?> query) 512 throws PersistenceDatabaseException { 513 PreparedStatement ps = session.prepareStatement(UserVisitCampaignFactory.class, query.getSQL()); 514 515 return getEntityFromQuery(entityPermission, ps, query.getBindValues().toArray()); 516 } 517 518 public UserVisitCampaign getEntityFromQuery(EntityPermission entityPermission, PreparedStatement ps, final Object... params) 519 throws PersistenceDatabaseException { 520 UserVisitCampaign _entity = null; 521 ResultSet _rs = null; 522 523 try { 524 if(params.length != 0) { 525 Session.setQueryParams(ps, params); 526 } 527 528 _rs = ps.executeQuery(); 529 if(_rs.next()) { 530 _entity = getEntityFromResultSet(entityPermission, _rs); 531 } 532 _rs.close(); 533 } catch (SQLException se) { 534 throw new PersistenceDatabaseException(se); 535 } finally { 536 if(_rs != null) { 537 try { 538 _rs.close(); 539 } catch (SQLException se) { 540 // do nothing 541 } 542 } 543 } 544 545 return _entity; 546 } 547 548 public java.util.List<UserVisitCampaign> getEntitiesFromResultSet(EntityPermission entityPermission, ResultSet rs) 549 throws PersistenceDatabaseException { 550 java.util.List<UserVisitCampaign> _result = new ArrayList<>(); 551 552 try { 553 while(rs.next()) { 554 _result.add(getEntityFromResultSet(entityPermission, rs)); 555 } 556 } catch (SQLException se) { 557 throw new PersistenceDatabaseException(se); 558 } 559 560 return _result; 561 } 562 563 public UserVisitCampaign getEntityFromResultSet(EntityPermission entityPermission, ResultSet rs) 564 throws PersistenceDatabaseException { 565 UserVisitCampaign _entity; 566 567 try { 568 Long uviscmpgn_uservisitcampaignid = rs.getLong(UVISCMPGN_USERVISITCAMPAIGNID); 569 UserVisitCampaignPK _pk = new UserVisitCampaignPK(uviscmpgn_uservisitcampaignid); 570 571 // See if we already have the entity in the session cache 572 _entity = (UserVisitCampaign)session.getEntity(_pk); 573 if(_entity != null) { 574 // If the requested permission is READ_WRITE, and the cached permission is 575 // READ_ONLY, then pretend that the cached object wasn't found, and create 576 // a new entity that is READ_WRITE. 577 if(entityPermission.equals(EntityPermission.READ_WRITE)) { 578 if(_entity.getEntityPermission().equals(EntityPermission.READ_ONLY)) 579 _entity = null; 580 } 581 } 582 boolean foundInSessionCache = _entity != null; 583 584 if(_entity == null && entityPermission.equals(EntityPermission.READ_ONLY)) { 585 _entity = getEntityFromCache(_pk); 586 } 587 588 if(_entity == null) { 589 Long uviscmpgn_uvis_uservisitid = rs.getLong(UVISCMPGN_UVIS_USERVISITID); 590 if(rs.wasNull()) 591 uviscmpgn_uvis_uservisitid = null; 592 593 Integer uviscmpgn_uservisitcampaignsequence = rs.getInt(UVISCMPGN_USERVISITCAMPAIGNSEQUENCE); 594 if(rs.wasNull()) 595 uviscmpgn_uservisitcampaignsequence = null; 596 597 Long uviscmpgn_time = rs.getLong(UVISCMPGN_TIME); 598 if(rs.wasNull()) 599 uviscmpgn_time = null; 600 601 Long uviscmpgn_cmpgn_campaignid = rs.getLong(UVISCMPGN_CMPGN_CAMPAIGNID); 602 if(rs.wasNull()) 603 uviscmpgn_cmpgn_campaignid = null; 604 605 Long uviscmpgn_cmpgnsrc_campaignsourceid = rs.getLong(UVISCMPGN_CMPGNSRC_CAMPAIGNSOURCEID); 606 if(rs.wasNull()) 607 uviscmpgn_cmpgnsrc_campaignsourceid = null; 608 609 Long uviscmpgn_cmpgnmdm_campaignmediumid = rs.getLong(UVISCMPGN_CMPGNMDM_CAMPAIGNMEDIUMID); 610 if(rs.wasNull()) 611 uviscmpgn_cmpgnmdm_campaignmediumid = null; 612 613 Long uviscmpgn_cmpgntrm_campaigntermid = rs.getLong(UVISCMPGN_CMPGNTRM_CAMPAIGNTERMID); 614 if(rs.wasNull()) 615 uviscmpgn_cmpgntrm_campaigntermid = null; 616 617 Long uviscmpgn_cmpgncnt_campaigncontentid = rs.getLong(UVISCMPGN_CMPGNCNT_CAMPAIGNCONTENTID); 618 if(rs.wasNull()) 619 uviscmpgn_cmpgncnt_campaigncontentid = null; 620 621 Long uviscmpgn_fromtime = rs.getLong(UVISCMPGN_FROMTIME); 622 if(rs.wasNull()) 623 uviscmpgn_fromtime = null; 624 625 Long uviscmpgn_thrutime = rs.getLong(UVISCMPGN_THRUTIME); 626 if(rs.wasNull()) 627 uviscmpgn_thrutime = null; 628 629 UserVisitCampaignValue _value = new UserVisitCampaignValue(_pk, uviscmpgn_uvis_uservisitid == null? null: new UserVisitPK(uviscmpgn_uvis_uservisitid), uviscmpgn_uservisitcampaignsequence, uviscmpgn_time, uviscmpgn_cmpgn_campaignid == null? null: new CampaignPK(uviscmpgn_cmpgn_campaignid), uviscmpgn_cmpgnsrc_campaignsourceid == null? null: new CampaignSourcePK(uviscmpgn_cmpgnsrc_campaignsourceid), uviscmpgn_cmpgnmdm_campaignmediumid == null? null: new CampaignMediumPK(uviscmpgn_cmpgnmdm_campaignmediumid), uviscmpgn_cmpgntrm_campaigntermid == null? null: new CampaignTermPK(uviscmpgn_cmpgntrm_campaigntermid), uviscmpgn_cmpgncnt_campaigncontentid == null? null: new CampaignContentPK(uviscmpgn_cmpgncnt_campaigncontentid), uviscmpgn_fromtime, uviscmpgn_thrutime); 630 _entity = new UserVisitCampaign(_value, entityPermission); 631 } 632 633 if(!foundInSessionCache) { 634 if(entityPermission.equals(EntityPermission.READ_ONLY)) { 635 session.putReadOnlyEntity(_pk, _entity); 636 session.getValueCache().put(_entity.getUserVisitCampaignValue()); 637 } else { 638 session.putReadWriteEntity(_pk, _entity); 639 } 640 } 641 } catch (SQLException se) { 642 throw new PersistenceDatabaseException(se); 643 } 644 645 return _entity; 646 } 647 648 public UserVisitCampaign create(UserVisit userVisit, Integer userVisitCampaignSequence, Long time, Campaign campaign, CampaignSource campaignSource, CampaignMedium campaignMedium, CampaignTerm campaignTerm, CampaignContent campaignContent, Long fromTime, Long thruTime) 649 throws PersistenceDatabaseException, PersistenceNotNullException { 650 return create(userVisit == null ? null : userVisit.getPrimaryKey(), userVisitCampaignSequence, time, campaign == null ? null : campaign.getPrimaryKey(), campaignSource == null ? null : campaignSource.getPrimaryKey(), campaignMedium == null ? null : campaignMedium.getPrimaryKey(), campaignTerm == null ? null : campaignTerm.getPrimaryKey(), campaignContent == null ? null : campaignContent.getPrimaryKey(), fromTime, thruTime); 651 } 652 653 private void bindForCreate(PreparedStatement _ps, UserVisitCampaignValue _value) 654 throws SQLException { 655 _ps.setLong(1, _value.getEntityId()); 656 657 UserVisitPK uviscmpgn_uvis_uservisitid = _value.getUserVisitPK(); 658 if(uviscmpgn_uvis_uservisitid == null) 659 _ps.setNull(2, Types.BIGINT); 660 else 661 _ps.setLong(2, uviscmpgn_uvis_uservisitid.getEntityId()); 662 663 Integer uviscmpgn_uservisitcampaignsequence = _value.getUserVisitCampaignSequence(); 664 if(uviscmpgn_uservisitcampaignsequence == null) 665 _ps.setNull(3, Types.INTEGER); 666 else 667 _ps.setInt(3, uviscmpgn_uservisitcampaignsequence); 668 669 Long uviscmpgn_time = _value.getTime(); 670 if(uviscmpgn_time == null) 671 _ps.setNull(4, Types.BIGINT); 672 else 673 _ps.setLong(4, uviscmpgn_time); 674 675 CampaignPK uviscmpgn_cmpgn_campaignid = _value.getCampaignPK(); 676 if(uviscmpgn_cmpgn_campaignid == null) 677 _ps.setNull(5, Types.BIGINT); 678 else 679 _ps.setLong(5, uviscmpgn_cmpgn_campaignid.getEntityId()); 680 681 CampaignSourcePK uviscmpgn_cmpgnsrc_campaignsourceid = _value.getCampaignSourcePK(); 682 if(uviscmpgn_cmpgnsrc_campaignsourceid == null) 683 _ps.setNull(6, Types.BIGINT); 684 else 685 _ps.setLong(6, uviscmpgn_cmpgnsrc_campaignsourceid.getEntityId()); 686 687 CampaignMediumPK uviscmpgn_cmpgnmdm_campaignmediumid = _value.getCampaignMediumPK(); 688 if(uviscmpgn_cmpgnmdm_campaignmediumid == null) 689 _ps.setNull(7, Types.BIGINT); 690 else 691 _ps.setLong(7, uviscmpgn_cmpgnmdm_campaignmediumid.getEntityId()); 692 693 CampaignTermPK uviscmpgn_cmpgntrm_campaigntermid = _value.getCampaignTermPK(); 694 if(uviscmpgn_cmpgntrm_campaigntermid == null) 695 _ps.setNull(8, Types.BIGINT); 696 else 697 _ps.setLong(8, uviscmpgn_cmpgntrm_campaigntermid.getEntityId()); 698 699 CampaignContentPK uviscmpgn_cmpgncnt_campaigncontentid = _value.getCampaignContentPK(); 700 if(uviscmpgn_cmpgncnt_campaigncontentid == null) 701 _ps.setNull(9, Types.BIGINT); 702 else 703 _ps.setLong(9, uviscmpgn_cmpgncnt_campaigncontentid.getEntityId()); 704 705 Long uviscmpgn_fromtime = _value.getFromTime(); 706 if(uviscmpgn_fromtime == null) 707 _ps.setNull(10, Types.BIGINT); 708 else 709 _ps.setLong(10, uviscmpgn_fromtime); 710 711 Long uviscmpgn_thrutime = _value.getThruTime(); 712 if(uviscmpgn_thrutime == null) 713 _ps.setNull(11, Types.BIGINT); 714 else 715 _ps.setLong(11, uviscmpgn_thrutime); 716 717 } 718 719 public UserVisitCampaign create(UserVisitPK userVisitPK, Integer userVisitCampaignSequence, Long time, CampaignPK campaignPK, CampaignSourcePK campaignSourcePK, CampaignMediumPK campaignMediumPK, CampaignTermPK campaignTermPK, CampaignContentPK campaignContentPK, Long fromTime, Long thruTime) 720 throws PersistenceDatabaseException, PersistenceNotNullException { 721 UserVisitCampaignPK _pk = getNextPK(); 722 UserVisitCampaignValue _value = new UserVisitCampaignValue(_pk, userVisitPK, userVisitCampaignSequence, time, campaignPK, campaignSourcePK, campaignMediumPK, campaignTermPK, campaignContentPK, fromTime, thruTime); 723 724 PreparedStatement _ps = session.prepareStatement(SQL_INSERT); 725 726 try { 727 bindForCreate(_ps, _value); 728 729 if(PersistenceDebugFlags.CheckEntityInsertRowCount) { 730 int _count = _ps.executeUpdate(); 731 732 if(_count != 1) { 733 throw new PersistenceDatabaseUpdateException("insert failed, _count = " + _count); 734 } 735 } else { 736 _ps.executeUpdate(); 737 } 738 739 session.getValueCache().put(_value); 740 } catch (SQLException se) { 741 throw new PersistenceDatabaseException(se); 742 } 743 744 UserVisitCampaign _entity = new UserVisitCampaign(_value, EntityPermission.READ_ONLY); 745 session.putReadOnlyEntity(_pk, _entity); 746 747 return _entity; 748 } 749 750 public void create(Collection<UserVisitCampaignValue> _values) 751 throws PersistenceDatabaseException, PersistenceNotNullException { 752 int _size = _values.size(); 753 754 if(_size > 0) { 755 PreparedStatement _ps = session.prepareStatement(SQL_INSERT); 756 List<UserVisitCampaignValue> _cacheValues = new ArrayList<>(_size); 757 758 try { 759 for(UserVisitCampaignValue _value : _values) { 760 _value.setEntityId(entityIdGenerator.getNextEntityId()); 761 bindForCreate(_ps, _value); 762 763 _ps.addBatch(); 764 765 _cacheValues.add(_value); 766 } 767 768 if(PersistenceDebugFlags.CheckEntityInsertRowCount) { 769 int[] _counts = _ps.executeBatch(); 770 771 for(int _countOffset = 0 ; _countOffset < _size ; _countOffset++) { 772 if(_counts[_countOffset] != 1 && _counts[_countOffset] != PreparedStatement.SUCCESS_NO_INFO) { 773 throw new PersistenceDatabaseUpdateException("batch insert failed, _counts[" + _countOffset + "] = " + _counts[_countOffset]); 774 } 775 } 776 } else { 777 _ps.executeBatch(); 778 } 779 780 _ps.clearBatch(); 781 } catch (SQLException se) { 782 throw new PersistenceDatabaseException(se); 783 } 784 785 _cacheValues.forEach((_cacheValue) -> { 786 UserVisitCampaign _cacheEntity = new UserVisitCampaign(_cacheValue, EntityPermission.READ_ONLY); 787 788 session.putReadOnlyEntity(_cacheValue.getPrimaryKey(), _cacheEntity); 789 }); 790 } 791 } 792 793 private boolean bindForStore(PreparedStatement _ps, UserVisitCampaignValue _value) 794 throws SQLException { 795 boolean _hasBeenModified = _value.hasBeenModified(); 796 797 if(_hasBeenModified) { 798 UserVisitPK uviscmpgn_uvis_uservisitid = _value.getUserVisitPK(); 799 if(uviscmpgn_uvis_uservisitid == null) 800 _ps.setNull(1, Types.BIGINT); 801 else 802 _ps.setLong(1, uviscmpgn_uvis_uservisitid.getEntityId()); 803 804 Integer uviscmpgn_uservisitcampaignsequence = _value.getUserVisitCampaignSequence(); 805 if(uviscmpgn_uservisitcampaignsequence == null) 806 _ps.setNull(2, Types.INTEGER); 807 else 808 _ps.setInt(2, uviscmpgn_uservisitcampaignsequence); 809 810 Long uviscmpgn_time = _value.getTime(); 811 if(uviscmpgn_time == null) 812 _ps.setNull(3, Types.BIGINT); 813 else 814 _ps.setLong(3, uviscmpgn_time); 815 816 CampaignPK uviscmpgn_cmpgn_campaignid = _value.getCampaignPK(); 817 if(uviscmpgn_cmpgn_campaignid == null) 818 _ps.setNull(4, Types.BIGINT); 819 else 820 _ps.setLong(4, uviscmpgn_cmpgn_campaignid.getEntityId()); 821 822 CampaignSourcePK uviscmpgn_cmpgnsrc_campaignsourceid = _value.getCampaignSourcePK(); 823 if(uviscmpgn_cmpgnsrc_campaignsourceid == null) 824 _ps.setNull(5, Types.BIGINT); 825 else 826 _ps.setLong(5, uviscmpgn_cmpgnsrc_campaignsourceid.getEntityId()); 827 828 CampaignMediumPK uviscmpgn_cmpgnmdm_campaignmediumid = _value.getCampaignMediumPK(); 829 if(uviscmpgn_cmpgnmdm_campaignmediumid == null) 830 _ps.setNull(6, Types.BIGINT); 831 else 832 _ps.setLong(6, uviscmpgn_cmpgnmdm_campaignmediumid.getEntityId()); 833 834 CampaignTermPK uviscmpgn_cmpgntrm_campaigntermid = _value.getCampaignTermPK(); 835 if(uviscmpgn_cmpgntrm_campaigntermid == null) 836 _ps.setNull(7, Types.BIGINT); 837 else 838 _ps.setLong(7, uviscmpgn_cmpgntrm_campaigntermid.getEntityId()); 839 840 CampaignContentPK uviscmpgn_cmpgncnt_campaigncontentid = _value.getCampaignContentPK(); 841 if(uviscmpgn_cmpgncnt_campaigncontentid == null) 842 _ps.setNull(8, Types.BIGINT); 843 else 844 _ps.setLong(8, uviscmpgn_cmpgncnt_campaigncontentid.getEntityId()); 845 846 Long uviscmpgn_fromtime = _value.getFromTime(); 847 if(uviscmpgn_fromtime == null) 848 _ps.setNull(9, Types.BIGINT); 849 else 850 _ps.setLong(9, uviscmpgn_fromtime); 851 852 Long uviscmpgn_thrutime = _value.getThruTime(); 853 if(uviscmpgn_thrutime == null) 854 _ps.setNull(10, Types.BIGINT); 855 else 856 _ps.setLong(10, uviscmpgn_thrutime); 857 858 _ps.setLong(11, _value.getPrimaryKey().getEntityId()); 859 860 _value.clearHasBeenModified(); 861 } 862 863 return _hasBeenModified; 864 } 865 866 @Override 867 public void store(UserVisitCampaign entity) 868 throws PersistenceDatabaseException { 869 PreparedStatement _ps = session.prepareStatement(SQL_UPDATE); 870 871 try { 872 UserVisitCampaignValue _value = entity.getUserVisitCampaignValue(); 873 874 if(bindForStore(_ps, _value)) { 875 if(PersistenceDebugFlags.CheckEntityUpdateRowCount) { 876 int _count = _ps.executeUpdate(); 877 878 if(_count != 1) { 879 throw new PersistenceDatabaseUpdateException("update failed, _count = " + _count); 880 } 881 } else { 882 _ps.executeUpdate(); 883 } 884 885 session.getValueCache().put(_value); 886 } 887 } catch (SQLException se) { 888 throw new PersistenceDatabaseException(se); 889 } 890 } 891 892 @Override 893 public void store(Collection<UserVisitCampaign> entities) 894 throws PersistenceDatabaseException { 895 if(entities.size() > 0) { 896 PreparedStatement _ps = session.prepareStatement(SQL_UPDATE); 897 int _modifiedEntities = 0; 898 899 try { 900 for(UserVisitCampaign entity : entities) { 901 if(bindForStore(_ps, entity.getUserVisitCampaignValue())) { 902 _ps.addBatch(); 903 _modifiedEntities++; 904 } 905 } 906 907 if(_modifiedEntities != 0) { 908 if(PersistenceDebugFlags.CheckEntityUpdateRowCount) { 909 int[] _counts = _ps.executeBatch(); 910 911 for(int _countOffset = 0 ; _countOffset < _modifiedEntities ; _countOffset++) { 912 if(_counts[_countOffset] != 1 && _counts[_countOffset] != PreparedStatement.SUCCESS_NO_INFO) { 913 throw new PersistenceDatabaseUpdateException("batch update failed, _counts[" + _countOffset + "] = " + _counts[_countOffset]); 914 } 915 } 916 } else { 917 _ps.executeBatch(); 918 } 919 920 _ps.clearBatch(); 921 922 entities.forEach((entity) -> { 923 session.getValueCache().put(entity.getUserVisitCampaignValue()); 924 }); 925 } 926 } catch (SQLException se) { 927 throw new PersistenceDatabaseException(se); 928 } 929 } 930 } 931 932 @Override 933 public void remove(UserVisitCampaign entity) 934 throws PersistenceDatabaseException { 935 remove(entity.getPrimaryKey()); 936 } 937 938 @Override 939 public void remove(UserVisitCampaignPK pk) 940 throws PersistenceDatabaseException { 941 PreparedStatement _ps = session.prepareStatement(SQL_DELETE); 942 long _entityId = pk.getEntityId(); 943 944 try { 945 _ps.setLong(1, _entityId); 946 947 if(PersistenceDebugFlags.CheckEntityDeleteRowCount) { 948 int _count = _ps.executeUpdate(); 949 950 if(_count != 1) { 951 throw new PersistenceDatabaseUpdateException("remove failed, _count = " + _count); 952 } 953 } else { 954 _ps.executeUpdate(); 955 } 956 957 session.getValueCache().remove(pk); 958 } catch (SQLException se) { 959 throw new PersistenceDatabaseException(se); 960 } 961 962 session.removed(pk, false); 963 } 964 965 @Override 966 public void remove(Collection<UserVisitCampaignPK> pks) 967 throws PersistenceDatabaseException { 968 if(pks.size() > 0) { 969 PreparedStatement _ps = session.prepareStatement(SQL_DELETE); 970 int _modifiedEntities = 0; 971 972 try { 973 for(UserVisitCampaignPK pk : pks) { 974 long _entityId = pk.getEntityId(); 975 976 _ps.setLong(1, _entityId); 977 978 _ps.addBatch(); 979 _modifiedEntities++; 980 } 981 982 if(_modifiedEntities != 0) { 983 if(PersistenceDebugFlags.CheckEntityDeleteRowCount) { 984 int[] _counts = _ps.executeBatch(); 985 986 for(int _countOffset = 0 ; _countOffset < _modifiedEntities ; _countOffset++) { 987 if(_counts[_countOffset] != 1 && _counts[_countOffset] != PreparedStatement.SUCCESS_NO_INFO) { 988 throw new PersistenceDatabaseUpdateException("batch remove failed, _counts[" + _countOffset + "] = " + _counts[_countOffset]); 989 } 990 } 991 } else { 992 _ps.executeBatch(); 993 } 994 995 _ps.clearBatch(); 996 997 pks.forEach((pk) -> { 998 session.getValueCache().remove(pk); 999 }); 1000 } 1001 } catch (SQLException se) { 1002 throw new PersistenceDatabaseException(se); 1003 } 1004 1005 pks.forEach((pk) -> { 1006 session.removed(pk, true); 1007 }); 1008 } 1009 } 1010 1011 @Override 1012 public boolean validPK(UserVisitCampaignPK pk) 1013 throws PersistenceDatabaseException { 1014 boolean valid = false; 1015 PreparedStatement _ps = session.prepareStatement(SQL_VALID); 1016 ResultSet _rs = null; 1017 1018 try { 1019 _ps.setLong(1, pk.getEntityId()); 1020 1021 _rs = _ps.executeQuery(); 1022 if(_rs.next()) { 1023 long _count = _rs.getLong(1); 1024 if(_rs.wasNull()) 1025 _count = 0; 1026 1027 if(_count == 1) 1028 valid = true; 1029 } 1030 } catch (SQLException se) { 1031 throw new PersistenceDatabaseException(se); 1032 } finally { 1033 if(_rs != null) { 1034 try { 1035 _rs.close(); 1036 } catch (SQLException se) { 1037 // do nothing 1038 } 1039 } 1040 } 1041 1042 return valid; 1043 } 1044 1045}