提交 8c9fe4aa 编写于 作者: S Serge Rider

#1165 Scheduled jobs model

上级 6f399a6f
......@@ -76,6 +76,9 @@ tree.profile.node.name=Profile
tree.resource.node.name=Resource
tree.administer.node.name=Administer
tree.sessions.node.name=Sessions
tree.scheduler.node.name=Scheduler
tree.scheduler.jobs.node.name=Jobs
tree.scheduler.job.node.name=Job
dialog.connection.header=Oracle Connection Settings
meta.org.jkiss.dbeaver.ext.oracle.model.OracleDataFile.name.name=Name
......@@ -387,4 +390,117 @@ meta.org.jkiss.dbeaver.ext.oracle.model.session.OracleServerSession.remoteHost.d
meta.org.jkiss.dbeaver.ext.oracle.model.session.OracleServerSession.remoteUser.name=Remote User
meta.org.jkiss.dbeaver.ext.oracle.model.session.OracleServerSession.remoteUser.description=Operating system client user name
meta.org.jkiss.dbeaver.ext.oracle.model.session.OracleServerSession.remoteProgram.name=Remote Program
meta.org.jkiss.dbeaver.ext.oracle.model.session.OracleServerSession.remoteProgram.description=Operating system program name
\ No newline at end of file
meta.org.jkiss.dbeaver.ext.oracle.model.session.OracleServerSession.remoteProgram.description=Operating system program name
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.jobSubName.name=Sub Name
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.jobSubName.description=Subname of the scheduler job (for a job running a chain step)
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.jobStyle.name=Style
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.jobStyle.description=Job style - regular, lightweight or volatile
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.jobCreator.name=Creator
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.jobCreator.description=Original creator of this job
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.clientId.name=Client ID
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.clientId.description=Client id of user creating this job
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.globalUid.name=Global UID
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.globalUid.description=Global uid of user creating this job
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.programOwner.name=Program owner
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.programOwner.description=Owner of the program associated with the job
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.programName.name=Program name
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.programName.description=Name of the program associated with the job
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.jobType.name=Job type
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.jobType.description=Inlined job action type
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.jobAction.name=Job action
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.jobAction.description=Inlined job action
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.numberOfArguments.name=Number of arguments
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.numberOfArguments.description=Inlined job number of arguments
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.scheduleOwner.name=Schedule owner
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.scheduleOwner.description=Owner of the schedule that this job uses (can be a window or window group)
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.scheduleName.name=Schedule name
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.scheduleName.description=Name of the schedule that this job uses (can be a window or window group)
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.scheduleType.name=Schedule type
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.scheduleType.description=Type of the schedule that this job uses
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.startDate.name=Start date
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.startDate.description=Original scheduled start date of this job (for an inlined schedule)
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.repeatInterval.name=Repeat interval
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.repeatInterval.description=Inlined schedule PL/SQL expression or calendar string
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.eventQueueOwner.name=Event queue owner
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.eventQueueOwner.description=Owner of source queue into which event will be raised
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.eventQueueName.name=Event queue name
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.eventQueueName.description=Name of source queue into which event will be raised
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.eventQueueAgent.name=Event queue agent
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.eventQueueAgent.description=Name of AQ agent used by user on the event source queue (if it is a secure queue)
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.eventCondition.name=Event condition
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.eventCondition.description=Boolean expression used as subscription rule for event on the source queue
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.eventRule.name=Event rule
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.eventRule.description=Name of rule used by the coordinator to trigger event based job
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.fileWatcherOwner.name=File watcher owner
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.fileWatcherOwner.description=Owner of file watcher on which this job is based
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.fileWatcherName.name=File watcher name
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.fileWatcherName.description=Name of file watcher on which this job is based
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.endDate.name=End date
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.endDate.description=Date after which this job will no longer run (for an inlined schedule)
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.jobClass.name=Job class
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.jobClass.description=Name of job class associated with the job
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.enabled.name=Enabled
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.enabled.description=Whether the job is enabled
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.autoDrop.name=Auto drop
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.autoDrop.description=Whether this job will be dropped when it has completed
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.restartable.name=Restartable
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.restartable.description=Whether this job can be restarted or not
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.state.name=State
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.state.description=Current state of the job
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.jobPriority.name=Job priority
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.jobPriority.description=Priority of the job relative to others within the same class
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.runCount.name=Run count
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.runCount.description=Number of times this job has run
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.maxRuns.name=Max runs
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.maxRuns.description=Maximum number of times this job is scheduled to run
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.failureCount.name=Failure count
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.failureCount.description=Number of times this job has failed to run
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.maxFailures.name=Max failures
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.maxFailures.description=Number of times this job will be allowed to fail before being marked broken
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.retryCount.name=Retry count
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.retryCount.description=Number of times this job has retried, if it is retrying.
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.lastStartDate.name=Last start date
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.lastStartDate.description=Last date on which the job started running
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.lastRunDuration.name=Last run duration
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.lastRunDuration.description=How long the job took last time
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.nextRunDate.name=Next run date
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.nextRunDate.description=Next date the job is scheduled to run on
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.scheduleLimit.name=Schedule limit
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.scheduleLimit.description=Time in minutes after which a job which has not run yet will be rescheduled
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.maxRunDuration.name=Max run duration
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.maxRunDuration.description=This column is reserved for future use
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.loggingLevel.name=Logging level
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.loggingLevel.description=Amount of logging that will be done pertaining to this job
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.stopOnWindowClose.name=Stop on window close
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.stopOnWindowClose.description=Whether this job will stop if a window it is associated with closes
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.instanceStickiness.name=Instance stickiness
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.instanceStickiness.description=Whether this job is sticky
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.raiseEvents.name=Raise events
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.raiseEvents.description=List of job events to raise for this job
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.system.name=System
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.system.description=Whether this is a system job
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.jobWeight.name=Job weight
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.jobWeight.description=Weight of this job
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.nlsEnv.name=NLS environment
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.nlsEnv.description=NLS environment of this job
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.source.name=Source
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.source.description=Source global database identifier
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.numberOfDestinations.name=Number of destinations
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.numberOfDestinations.description=
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.destinationOwner.name=Destination owner
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.destinationOwner.description=Owner of destination object (if used) else NULL
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.destination.name=Destination
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.destination.description=Destination that this job will run on
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.credentialOwner.name=Credential owner
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.credentialOwner.description=Owner of the login credential
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.credentialName.name=Credential name
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.credentialName.description=Name of the login credential
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.instanceId.name=Instance ID
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.instanceId.description=Instance user requests job to run on.
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.deferredDrop.name=Deferred drop
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.deferredDrop.description=Whether this job will be dropped when completed due to user request.
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.allowRunsInRestrictedMode.name=Allow runs in restricted mode
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.allowRunsInRestrictedMode.description=
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.description.name=Comments
meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob.description.description=Comments on the job
......@@ -152,6 +152,11 @@
<!--folder type="org.jkiss.dbeaver.ext.oracle.model.OracleJavaClass" label="Java" icon="#java" description="Java Classes">
<items label="Java Class" path="class" property="javaClasses" icon="#javaClass"/>
</folder-->
<folder label="%tree.scheduler.node.name" icon="#scheduler_folder" description="Scheduler objects">
<folder type="org.jkiss.dbeaver.ext.oracle.model.OracleSchedulerJob" label="%tree.scheduler.jobs.node.name" icon="#scheduler_job_folder" description="Scheduler job">
<items label="%tree.scheduler.job.node.name" path="schedulerJob" property="schedulerJobs" icon="#scheduler_job"/>
</folder>
</folder>
<folder type="org.jkiss.dbeaver.ext.oracle.model.OracleRecycledObject" label="%tree.recycle_bin.node.name" icon="#recycle_bin" description="Recycle Bin" visibleIf="object.dataSource.adminVisible &amp;&amp; object.dataSource.isAtLeastV10()">
<items label="%tree.recycled_object.node.name" path="object" property="recycledObjects" icon="#recycle_bin"/>
</folder>
......
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
*
* 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.jkiss.dbeaver.ext.oracle.model;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.model.impl.jdbc.JDBCUtils;
import org.jkiss.dbeaver.model.meta.Property;
import java.sql.ResultSet;
/**
* Oracle scheduler job
*/
public class OracleSchedulerJob extends OracleSchemaObject {
private static final String CAT_SETTINGS = "Settings";
private static final String CAT_STATISTICS = "Statistics";
private static final String CAT_EVENTS = "Events";
private static final String CAT_ADVANCED = "Advanced";
private String jobSubName;
private String jobStyle;
private String jobCreator;
private String clientId;
private String globalUid;
private String programOwner;
private String programName;
private String jobType;
private String jobAction;
private long numberOfArguments;
private String scheduleOwner;
private String scheduleName;
private String scheduleType;
private String startDate;
private String repeatInterval;
private String eventQueueOwner;
private String eventQueueName;
private String eventQueueAgent;
private String eventCondition;
private String eventRule;
private String fileWatcherOwner;
private String fileWatcherName;
private String endDate;
private String jobClass;
private String enabled;
private String autoDrop;
private String restartable;
private String state;
private int jobPriority;
private long runCount;
private long maxRuns;
private long failureCount;
private long maxFailures;
private long retryCount;
private String lastStartDate;
private String lastRunDuration;
private String nextRunDate;
private String scheduleLimit;
private String maxRunDuration;
private String loggingLevel;
private String stopOnWindowClose;
private String instanceStickiness;
private String raiseEvents;
private String system;
private String jobWeight;
private String nlsEnv;
private String source;
private String numberOfDestinations;
private String destinationOwner;
private String destination;
private String credentialOwner;
private String credentialName;
private String instanceId;
private String deferredDrop;
private String allowRunsInRestrictedMode;
private String comments;
protected OracleSchedulerJob(OracleSchema schema, ResultSet dbResult) {
super(schema, JDBCUtils.safeGetString(dbResult, "JOB_NAME"), true);
jobSubName = JDBCUtils.safeGetString(dbResult, "JOB_SUBNAME");
jobStyle = JDBCUtils.safeGetString(dbResult, "JOB_STYLE");
jobCreator = JDBCUtils.safeGetString(dbResult, "JOB_CREATOR");
clientId = JDBCUtils.safeGetString(dbResult, "CLIENT_ID");
globalUid = JDBCUtils.safeGetString(dbResult, "GLOBAL_UID");
programOwner = JDBCUtils.safeGetString(dbResult, "PROGRAM_OWNER");
programName = JDBCUtils.safeGetString(dbResult, "PROGRAM_NAME");
jobType = JDBCUtils.safeGetString(dbResult, "JOB_TYPE");
jobAction = JDBCUtils.safeGetString(dbResult, "JOB_ACTION");
numberOfArguments = JDBCUtils.safeGetLong(dbResult, "NUMBER_OF_ARGUMENTS");
scheduleOwner = JDBCUtils.safeGetString(dbResult, "SCHEDULE_OWNER");
scheduleName = JDBCUtils.safeGetString(dbResult, "SCHEDULE_NAME");
scheduleType = JDBCUtils.safeGetString(dbResult, "SCHEDULE_TYPE");
startDate = JDBCUtils.safeGetString(dbResult, "START_DATE");
repeatInterval = JDBCUtils.safeGetString(dbResult, "REPEAT_INTERVAL");
eventQueueOwner = JDBCUtils.safeGetString(dbResult, "EVENT_QUEUE_OWNER");
eventQueueName = JDBCUtils.safeGetString(dbResult, "EVENT_QUEUE_NAME");
eventQueueAgent = JDBCUtils.safeGetString(dbResult, "EVENT_QUEUE_AGENT");
eventCondition = JDBCUtils.safeGetString(dbResult, "EVENT_CONDITION");
eventRule = JDBCUtils.safeGetString(dbResult, "EVENT_RULE");
fileWatcherOwner = JDBCUtils.safeGetString(dbResult, "FILE_WATCHER_OWNER");
fileWatcherName = JDBCUtils.safeGetString(dbResult, "FILE_WATCHER_NAME");
endDate = JDBCUtils.safeGetString(dbResult, "END_DATE");
jobClass = JDBCUtils.safeGetString(dbResult, "JOB_CLASS");
enabled = JDBCUtils.safeGetString(dbResult, "ENABLED");
autoDrop = JDBCUtils.safeGetString(dbResult, "AUTO_DROP");
restartable = JDBCUtils.safeGetString(dbResult, "RESTARTABLE");
state = JDBCUtils.safeGetString(dbResult, "STATE");
jobPriority = JDBCUtils.safeGetInt(dbResult, "JOB_PRIORITY");
runCount = JDBCUtils.safeGetLong(dbResult, "RUN_COUNT");
maxRuns = JDBCUtils.safeGetLong(dbResult, "MAX_RUNS");
failureCount = JDBCUtils.safeGetLong(dbResult, "FAILURE_COUNT");
maxFailures = JDBCUtils.safeGetLong(dbResult, "MAX_FAILURES");
retryCount = JDBCUtils.safeGetLong(dbResult, "RETRY_COUNT");
lastStartDate = JDBCUtils.safeGetString(dbResult, "LAST_START_DATE");
lastRunDuration = JDBCUtils.safeGetString(dbResult, "LAST_RUN_DURATION");
nextRunDate = JDBCUtils.safeGetString(dbResult, "NEXT_RUN_DATE");
scheduleLimit = JDBCUtils.safeGetString(dbResult, "SCHEDULE_LIMIT");
maxRunDuration = JDBCUtils.safeGetString(dbResult, "MAX_RUN_DURATION");
loggingLevel = JDBCUtils.safeGetString(dbResult, "LOGGING_LEVEL");
stopOnWindowClose = JDBCUtils.safeGetString(dbResult, "STOP_ON_WINDOW_CLOSE");
instanceStickiness = JDBCUtils.safeGetString(dbResult, "INSTANCE_STICKINESS");
raiseEvents = JDBCUtils.safeGetString(dbResult, "RAISE_EVENTS");
system = JDBCUtils.safeGetString(dbResult, "SYSTEM");
jobWeight = JDBCUtils.safeGetString(dbResult, "JOB_WEIGHT");
nlsEnv = JDBCUtils.safeGetString(dbResult, "NLS_ENV");
source = JDBCUtils.safeGetString(dbResult, "SOURCE");
numberOfDestinations = JDBCUtils.safeGetString(dbResult, "NUMBER_OF_DESTINATIONS");
destinationOwner = JDBCUtils.safeGetString(dbResult, "DESTINATION_OWNER");
destination = JDBCUtils.safeGetString(dbResult, "DESTINATION");
credentialOwner = JDBCUtils.safeGetString(dbResult, "CREDENTIAL_OWNER");
credentialName = JDBCUtils.safeGetString(dbResult, "CREDENTIAL_NAME");
instanceId = JDBCUtils.safeGetString(dbResult, "INSTANCE_ID");
deferredDrop = JDBCUtils.safeGetString(dbResult, "DEFERRED_DROP");
allowRunsInRestrictedMode = JDBCUtils.safeGetString(dbResult, "ALLOW_RUNS_IN_RESTRICTED_MODE");
comments = JDBCUtils.safeGetString(dbResult, "COMMENTS");
}
@Property(viewable = true, order = 10)
public String getJobSubName() {
return jobSubName;
}
@Property(viewable = true, order = 11)
public String getJobStyle() {
return jobStyle;
}
@Property(viewable = true, order = 12)
public String getJobCreator() {
return jobCreator;
}
@Property(viewable = true, order = 13)
public String getClientId() {
return clientId;
}
@Property(viewable = true, order = 14)
public String getGlobalUid() {
return globalUid;
}
@Property(viewable = true, order = 15)
public String getProgramOwner() {
return programOwner;
}
@Property(viewable = true, order = 16)
public String getProgramName() {
return programName;
}
@Property(viewable = true, order = 17)
public String getJobType() {
return jobType;
}
@Property(category = CAT_SETTINGS, viewable = true, order = 18)
public String getJobAction() {
return jobAction;
}
@Property(category = CAT_SETTINGS, viewable = true, order = 19)
public long getNumberOfArguments() {
return numberOfArguments;
}
@Property(viewable = true, order = 20)
public String getScheduleOwner() {
return scheduleOwner;
}
@Property(viewable = true, order = 21)
public String getScheduleName() {
return scheduleName;
}
@Property(viewable = true, order = 22)
public String getScheduleType() {
return scheduleType;
}
@Property(viewable = true, order = 23)
public String getStartDate() {
return startDate;
}
@Property(viewable = true, order = 24)
public String getRepeatInterval() {
return repeatInterval;
}
@Property(viewable = true, order = 32)
public String getEndDate() {
return endDate;
}
@Property(category = CAT_EVENTS, viewable = true, order = 25)
public String getEventQueueOwner() {
return eventQueueOwner;
}
@Property(category = CAT_EVENTS, viewable = true, order = 26)
public String getEventQueueName() {
return eventQueueName;
}
@Property(category = CAT_EVENTS, viewable = true, order = 27)
public String getEventQueueAgent() {
return eventQueueAgent;
}
@Property(category = CAT_EVENTS, viewable = true, order = 28)
public String getEventCondition() {
return eventCondition;
}
@Property(category = CAT_EVENTS, viewable = true, order = 29)
public String getEventRule() {
return eventRule;
}
@Property(category = CAT_EVENTS, viewable = true, order = 30)
public String getFileWatcherOwner() {
return fileWatcherOwner;
}
@Property(category = CAT_EVENTS, viewable = true, order = 31)
public String getFileWatcherName() {
return fileWatcherName;
}
@Property(viewable = true, order = 33)
public String getJobClass() {
return jobClass;
}
@Property(category = CAT_SETTINGS, viewable = true, order = 34)
public String getEnabled() {
return enabled;
}
@Property(category = CAT_SETTINGS, viewable = true, order = 35)
public String getAutoDrop() {
return autoDrop;
}
@Property(category = CAT_SETTINGS, viewable = true, order = 36)
public String getRestartable() {
return restartable;
}
@Property(viewable = true, order = 37)
public String getState() {
return state;
}
@Property(category = CAT_SETTINGS, viewable = true, order = 38)
public int getJobPriority() {
return jobPriority;
}
@Property(category = CAT_STATISTICS, viewable = true, order = 39)
public long getRunCount() {
return runCount;
}
@Property(category = CAT_STATISTICS, viewable = true, order = 40)
public long getMaxRuns() {
return maxRuns;
}
@Property(category = CAT_STATISTICS, viewable = true, order = 41)
public long getFailureCount() {
return failureCount;
}
@Property(category = CAT_STATISTICS, viewable = true, order = 42)
public long getMaxFailures() {
return maxFailures;
}
@Property(category = CAT_STATISTICS, viewable = true, order = 43)
public long getRetryCount() {
return retryCount;
}
@Property(category = CAT_STATISTICS, viewable = true, order = 44)
public String getLastStartDate() {
return lastStartDate;
}
@Property(category = CAT_STATISTICS, viewable = true, order = 45)
public String getLastRunDuration() {
return lastRunDuration;
}
@Property(category = CAT_SETTINGS, viewable = true, order = 46)
public String getNextRunDate() {
return nextRunDate;
}
@Property(category = CAT_SETTINGS, viewable = true, order = 47)
public String getScheduleLimit() {
return scheduleLimit;
}
//@Property(viewable = true, order = 48)
public String getMaxRunDuration() {
return maxRunDuration;
}
@Property(category = CAT_SETTINGS, viewable = true, order = 49)
public String getLoggingLevel() {
return loggingLevel;
}
@Property(category = CAT_SETTINGS, viewable = true, order = 50)
public String getStopOnWindowClose() {
return stopOnWindowClose;
}
@Property(category = CAT_ADVANCED, viewable = true, order = 51)
public String getInstanceStickiness() {
return instanceStickiness;
}
@Property(category = CAT_ADVANCED, viewable = true, order = 52)
public String getRaiseEvents() {
return raiseEvents;
}
@Property(category = CAT_SETTINGS, viewable = true, order = 53)
public String getSystem() {
return system;
}
@Property(category = CAT_ADVANCED, viewable = true, order = 54)
public String getJobWeight() {
return jobWeight;
}
@Property(category = CAT_ADVANCED, viewable = true, order = 55)
public String getNlsEnv() {
return nlsEnv;
}
@Property(category = CAT_ADVANCED, viewable = true, order = 56)
public String getSource() {
return source;
}
//@Property(viewable = true, order = 57)
public String getNumberOfDestinations() {
return numberOfDestinations;
}
@Property(category = CAT_ADVANCED, viewable = true, order = 58)
public String getDestinationOwner() {
return destinationOwner;
}
@Property(category = CAT_ADVANCED, viewable = true, order = 59)
public String getDestination() {
return destination;
}
@Property(category = CAT_ADVANCED, viewable = true, order = 60)
public String getCredentialOwner() {
return credentialOwner;
}
@Property(category = CAT_ADVANCED, viewable = true, order = 61)
public String getCredentialName() {
return credentialName;
}
@Property(category = CAT_ADVANCED, viewable = true, order = 62)
public String getInstanceId() {
return instanceId;
}
@Property(viewable = true, order = 63)
public String getDeferredDrop() {
return deferredDrop;
}
@Property(category = CAT_ADVANCED, viewable = true, order = 64)
public String getAllowRunsInRestrictedMode() {
return allowRunsInRestrictedMode;
}
@Property(viewable = true, order = 200)
@Nullable
@Override
public String getDescription() {
return comments;
}
}
......@@ -66,6 +66,7 @@ public class OracleSchema extends OracleGlobalObject implements DBSSchema, DBPRe
final public DBLinkCache dbLinkCache = new DBLinkCache();
final public ProceduresCache proceduresCache = new ProceduresCache();
final public JavaCache javaCache = new JavaCache();
final public SchedulerJobCache schedulerJobCache = new SchedulerJobCache();
final public RecycleBin recycleBin = new RecycleBin();
private long id;
......@@ -262,6 +263,13 @@ public class OracleSchema extends OracleGlobalObject implements DBSSchema, DBPRe
return javaCache.getAllObjects(monitor, this);
}
@Association
public Collection<OracleSchedulerJob> getSchedulerJobs(DBRProgressMonitor monitor)
throws DBException
{
return schedulerJobCache.getAllObjects(monitor, this);
}
@Association
public Collection<OracleRecycledObject> getRecycledObjects(DBRProgressMonitor monitor)
throws DBException
......@@ -334,7 +342,7 @@ public class OracleSchema extends OracleGlobalObject implements DBSSchema, DBPRe
dataTypeCache.clearCache();
sequenceCache.clearCache();
synonymCache.clearCache();
javaCache.clearCache();
schedulerJobCache.clearCache();
recycleBin.clearCache();
return this;
}
......@@ -862,6 +870,27 @@ public class OracleSchema extends OracleGlobalObject implements DBSSchema, DBPRe
}
static class SchedulerJobCache extends JDBCObjectCache<OracleSchema, OracleSchedulerJob> {
@Override
protected JDBCStatement prepareObjectsStatement(@NotNull JDBCSession session, @NotNull OracleSchema owner)
throws SQLException
{
JDBCPreparedStatement dbStat = session.prepareStatement(
"SELECT * FROM SYS.ALL_SCHEDULER_JOBS WHERE OWNER=? ");
dbStat.setString(1, owner.getName());
return dbStat;
}
@Override
protected OracleSchedulerJob fetchObject(@NotNull JDBCSession session, @NotNull OracleSchema owner, @NotNull JDBCResultSet dbResult)
throws SQLException, DBException
{
return new OracleSchedulerJob(owner, dbResult);
}
}
static class RecycleBin extends JDBCObjectCache<OracleSchema, OracleRecycledObject> {
@Override
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册