Package com.acelet.s.scheduler

Source Code of com.acelet.s.scheduler.ApiBase

/* Copyright 1999-2008 Acelet.org. All rights reserved. GPL v2 license */
/** @author Wei Jiang */

package com.acelet.s.scheduler;

import java.io.*;
import java.net.*;
import java.sql.*;
import java.util.*;

import com.acelet.lib.Common;
import com.acelet.lib.Externals;
import com.acelet.lib.Kit;
import com.acelet.lib.LoggingConstants;
import com.acelet.lib.NotSupportedException;
import com.acelet.lib.Phrase;
import com.acelet.lib.SendEmail;
import com.acelet.lib.SuperProperties;
import com.acelet.s.MailServerData;
import com.acelet.s.task.CandidateTask;
import com.acelet.s.task.DoerTalker;
import com.acelet.s.task.Holiday;
import com.acelet.s.task.HolidayRule;
import com.acelet.s.task.Task;
import com.acelet.s.task.TaskProcess;
import com.acelet.s.task.WorkingTask;

public class ApiBase {
  static boolean initialized = false

  protected ApiBase() throws Exception {
  }

  public static int deleteDoerTalker(String name) throws Exception {
    Connection connection = null;
    try {
      connection = DirectTaskDatabaseConnection.getNewConnection();
      return new TaskProcess(connection).deleteDoerTalker(name);
    } finally {
      if (connection != null)
        connection.close();
    }
  }

  public static int deleteEntitlement(Connection conn, String role) throws Exception {
    return new TaskProcess(conn).deleteEntitlement(role);
  }

  public static int deleteRole(Connection conn, String name) throws Exception {
    return new TaskProcess(conn).deleteRole(name);
  }

  public static int insertEntitlement(Connection conn, String role, int entitlement)
  throws Exception {
    return new TaskProcess(conn).insertEntitlement(role, entitlement);
  }

  public static int insertRole(Connection conn, String name, String role) throws Exception {
    return new TaskProcess(conn).insertRole(name, role);
  }

  public static int insertSchedulerPreference(Connection conn, String key, String value)
  throws Exception {
    return new TaskProcess(conn).insertSchedulerPreference(key, value);
  }

  public static Vector selectAllDoerTalkers() throws Exception {
    Connection connection = null;
    try {
      connection = DirectTaskDatabaseConnection.getNewConnection();
      return new TaskProcess(connection).selectAllDoerTalkers();
    } finally {
      if (connection != null)
        connection.close();
    }
  }

  public static Vector selectAllEntitlements(Connection conn) throws Exception {
    return new TaskProcess(conn).selectAllEntitlements();
  }

  public static Vector selectAllRoles(Connection conn) throws Exception {
    return new TaskProcess(conn).selectAllRoles();
  }

  public static Properties selectSchedulerPreference() throws Exception {
    Connection connection = null;
    try {
      connection = DirectTaskDatabaseConnection.getNewConnection();
      return new TaskProcess(connection).selectSchedulerPreference();
    } finally {
      if (connection != null)
        connection.close();
    }
  }

  public static Properties selectSettings() throws Exception {
    Connection connection = null;
    try {
      connection = DirectTaskDatabaseConnection.getNewConnection();
      return new TaskProcess(connection).selectSettings();
    } finally {
      if (connection != null)
        connection.close();
    }
  }

  public static int updateEntitlement(Connection conn, String role, int entitlement)
  throws Exception {
    return new TaskProcess(conn).updateEntitlement(role, entitlement);
  }

  public static int updateTask(Task task, long newModifiedAt) throws Exception {
    Connection connection = null;
    try {
      connection = DirectTaskDatabaseConnection.getNewConnection();
      return new TaskProcess(connection).updateTask(task, newModifiedAt);
    } finally {
      if (connection != null)
        connection.close();
    }
  }

  public static void updateTasksWithNewHolidays() throws Exception {
    Vector tasksVector = new Vector();

    Enumeration enumeration = Registry.taskHashtable.elements();
    while (enumeration.hasMoreElements()) {
      Task task = (Task) enumeration.nextElement();
      if (task.getHolidayPolicy() != Task.HOLIDAY_POLICY_SAME)
        tasksVector.add(task);
    }

    for (int i = 0; i < tasksVector.size(); i++) {
      Task task = (Task) tasksVector.elementAt(i);
      task.reCalculate();
      updateTask(task, System.currentTimeMillis());
    }
  }

  public static int updateRole(Connection conn, String name, String role) throws Exception {
    return new TaskProcess(conn).updateRole(name, role);
  }

  public static int updateSchedulerPreference(Properties properties) throws Exception {
    Connection connection = null;
    try {
      connection = DirectTaskDatabaseConnection.getNewConnection();
      return new TaskProcess(connection).updateSchedulerPreference(properties);
    } finally {
      if (connection != null)
        connection.close();
    }
  }

  public static int updateSettings(Properties settings) throws Exception {
    Connection connection = null;
    try {
      connection = DirectTaskDatabaseConnection.getNewConnection();
      return new TaskProcess(connection).updateSettings(settings);
    } finally {
      if (connection != null)
        connection.close();
    }
  }

  public static int updateWorkingTaskMarkedAsLost(WorkingTask workingTask) throws Exception {
    Connection connection = null;
    try {
      connection = DirectTaskDatabaseConnection.getNewConnection();
      return new
        TaskProcess(connection).updateWorkingTaskMarkedAsLost(workingTask);
    } finally {
      if (connection != null)
        connection.close();
    }
  }
}
TOP

Related Classes of com.acelet.s.scheduler.ApiBase

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.