Package org.uengine.scheduler

Source Code of org.uengine.scheduler.ManualScheCronExp

package org.uengine.scheduler;

import java.io.Serializable;
import java.util.Calendar;

import org.metaworks.FieldDescriptor;
import org.metaworks.Type;
import org.metaworks.inputter.SelectInput;

public class ManualScheCronExp implements Serializable {
 
  private static final long serialVersionUID = org.uengine.kernel.GlobalContext.SERIALIZATION_UID;
 
  public ManualScheCronExp() {
   
  }
 
  public static void metaworksCallback_changeMetadata(Type type){
    type.setName("Manual Scheduler CronExpression");
   
    type.setFieldOrder(new String[] {
        "Minute", "Hour", "DayOfMonth", "Month", "DayOfWeek", "Year", "ManualInput"
    });
   
    FieldDescriptor fd;
   
    fd = type.getFieldDescriptor("Minute");
      String[] minutes = new String[61];
      for (int i = 0; i < 60; i++) {
        minutes[i] = String.valueOf(i);
      }
      minutes[60] = "*";
    fd.setInputter(new SelectInput(minutes));
   
    fd = type.getFieldDescriptor("Hour");
      String[] hours = new String[25];
      for (int i = 0; i < 24; i++) {
        hours[i] = String.valueOf(i);
      }
      hours[24] = "*";
    fd.setInputter(new SelectInput(hours));
   
    fd = type.getFieldDescriptor("DayOfMonth");
      String[] dayOfMonth = new String[34];
      int count = 0 ;
      for (int i = 1; i < 32; i++) {
        dayOfMonth[count++] = String.valueOf(i);
      }
      dayOfMonth[31] = "L";
      dayOfMonth[32] = "*";
      dayOfMonth[33] = "?";
    fd.setInputter(new SelectInput(dayOfMonth));
   
    fd = type.getFieldDescriptor("Month");
    fd.setInputter(new SelectInput(new String[] {
        "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "*"
    }));
   
    fd = type.getFieldDescriptor("DayOfWeek");
    fd.setInputter(new SelectInput(new String[] {
        "MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN", "MON-FRI", "*", "?"
    }));
   
    Calendar c = Calendar.getInstance();
    fd = type.getFieldDescriptor("Year");
      String[] year = new String[51];
      int yearCount = 0;
      year[yearCount++] = "*";
      for (int i = c.get(Calendar.YEAR); i < c.get(Calendar.YEAR) + 50; i++) {
        year[yearCount++] = String.valueOf(i);
      }
    fd.setInputter(new SelectInput(year));
   
  }
 
  public String getCronExpression() {   
    StringBuilder sb = new StringBuilder("0 ");
    sb.append(this.getMinute()).append(" ");
    sb.append(this.getHour()).append(" ");
    sb.append(this.getDayOfMonth()).append(" ");   
    sb.append(this.getMonth()).append(" ");
    sb.append(this.getDayOfWeek()).append(" ");
    sb.append(this.getYear());

    return sb.toString();
  }
 
  String minute;
    public String getMinute() {
      return minute;
    }
    public void setMinute(String minute) {
      this.minute = minute;
    }

  String hour;
    public String getHour() {
      return hour;
    }
    public void setHour(String hour) {
      this.hour = hour;
    }

  String dayOfMonth;
    public String getDayOfMonth() {
      return dayOfMonth;
    }
    public void setDayOfMonth(String dayOfMonth) {
      this.dayOfMonth = dayOfMonth;
    }
 
  String month;
    public String getMonth() {
      return month;
    }
    public void setMonth(String month) {
      this.month = month;
    }
   
  String dayOfWeek;
    public String getDayOfWeek() {
      return dayOfWeek;
    }
    public void setDayOfWeek(String dayOfWeek) {
      this.dayOfWeek = dayOfWeek;
    }

  String year;
    public String getYear() {
      return year;
    }
    public void setYear(String year) {
      this.year = year;
    }

  String manualInput;
    public String getManualInput() {
      return manualInput;
    }
    public void setManualInput(String manualInput) {
      this.manualInput = manualInput;
    }
   
}
TOP

Related Classes of org.uengine.scheduler.ManualScheCronExp

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.