/*
* Copyright 2002-2006 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.openuap.cms.schedule.dao.hibernate;
import java.util.ArrayList;
import java.util.List;
import org.openuap.base.dao.hibernate.BaseDaoHibernate;
import org.openuap.cms.schedule.dao.ScheduleDao;
import org.openuap.cms.schedule.model.Schedule;
/**
* <p>
* Title:ScheduleDaoImpl
* </p>
*
* <p>
* Description:计划任务DAO实现.
* </p>
*
* <p>
* Copyright: Copyright (c) 2006
* </p>
*
* <p>
* Company: http://www.openuap.org
* </p>
* $Id: ScheduleDaoImpl.java 3921 2010-10-26 11:43:49Z orangeforjava $
* @author Weiping Ju
* @version 1.0
*/
public class ScheduleDaoImpl extends BaseDaoHibernate implements ScheduleDao {
public ScheduleDaoImpl() {
}
public int addSchedule(Schedule schedule) {
return ((Integer) this.addObject(schedule)).intValue();
}
public void saveSchedule(Schedule schedule) {
this.saveObject(schedule);
}
public void deleteSchedule(Schedule schedule) {
this.deleteObject(schedule);
}
public void deleteScheduleById(int id) {
Schedule schedule = this.findById(id);
if (schedule != null) {
this.deleteSchedule(schedule);
}
}
public List findAll() {
String hql = "from Schedule order by host,id";
return executeFind(hql);
}
public Schedule findById(int id) {
String hql = "from Schedule where id=" + id;
return (Schedule) this.findUniqueResult(hql);
}
public List getAllTasks() {
return findAll();
}
public List getTasksByHost(String hostid) {
String hql = "from Schedule where host like '" + hostid + "'";
return executeFind(hql);
}
public List getAllJobEntries(String hostid) {
List items = getTasksByHost(hostid);
List results = new ArrayList();
for (int i = 0; i < items.size(); i++) {
try {
Schedule sche = (Schedule) items.get(i);
if (sche.getStatus() == 1) {
results.add(sche.toJobEntry());
this.getLogger().info("Schedule service: Add scheduled job:" + sche.getTask());
}
} catch (Exception e) {
this.getLogger().error(e);
}
}
return results;
}
}