InsertStatus.java :  » Content-Management-System » webman » de » webman » content » workflow » db » queries » Java Open Source

Java Open Source » Content Management System » webman 
webman » de » webman » content » workflow » db » queries » InsertStatus.java
package de.webman.content.workflow.db.queries;

import java.sql.*;

import com.teamkonzept.db.*;
import com.teamkonzept.webman.mainint.WebmanExceptionHandler;
import de.webman.content.workflow.db.queries.SelectMaxVersionStatus;
import de.webman.content.workflow.db.queries.InsertVersionStatus;
import de.webman.content.workflow.db.queries.SelectVersionStatus;

/*
 *
 * erzeugt neuen Eintrag in VERSION_STATUS
 * 
 * @author
 * @version
 */
public class InsertStatus extends TKExtendedPrepQuery
{

    public final static boolean ISPREPARED = true;
    public final static String[] ORDER = { "STATUS", "STATUS_ATTRIBUTES" };
    public final static Object[][] TYPES = null;
    public final static boolean[] SETRELEVANTS = { true };


    protected static Class[] queryClasses = {
  SelectMaxVersionStatus.class,
  InsertVersionStatus.class,
  SelectVersionStatus.class
    };

    public boolean execute()
    {
  try
  {
      init(queryClasses);

      boolean isNotOpen = aTKDBConnection.isAutoCommit();
      if (isNotOpen)
      {
    TKDBManager.beginTransaction();
      }

      // SELECT MAX(STATUS_ID) FROM VERSION_STATUS
      queries[0].execute();
      int status_id = 1;
      ResultSet rs = queries[0].fetchResultSet();
      if (rs != null && rs.next())
      {
    status_id = rs.getInt(1) + 1;
      }
      Integer statusId = new Integer(status_id);

      // INSERT INTO VERSION_STATUS (STATUS_ID, STATUS, STATUS_ATTRIBUTES) VALUES (?, ?, ?)
      queries[1].setQueryParams("STATUS_ID", statusId);
      queries[1].setQueryParams("STATUS",
              queryParams.get("STATUS"));
      queries[1].setQueryParams("STATUS_ATTRIBUTES",
              queryParams.
              get("STATUS_ATTRIBUTES"));
      queries[1].execute();

      // SELECT * FROM VERSION_STATUS WHERE STATUS_ID = ?
      queries[2].setQueryParams("STATUS_ID", statusId);
      queries[2].execute();
      addResult(queries[2].fetchResultSet());

      if (isNotOpen)
      {
    TKDBManager.commitTransaction();
      }

  }
  catch(Throwable t)
  {
      TKDBManager.safeRollbackTransaction(t);
  }
  return hasResults();
    }

    public void initQuery(Connection con)
    {
  super.initQuery(con, ISPREPARED, ORDER, TYPES, SETRELEVANTS, null);
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.