Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
[Contains information associated with an error captured by the Rapture system.]
@BeantypeErrorWrapper(@package=rapture.common) {
String id;
Integer status;
String message;
String stackTrace;
}
[Areturn value from a native query.]
typeRaptureQueryResult(@package=rapture.common) {
List rows;
}
[Defines a connection info]
typeConnectionInfo(@package=rapture.common) {
String host;
int port;
String username;
String password;
String dbName;
String instanceName;
Map(String, Object) options;
}
[Defines a BlobRepository.]
@Addressable(scheme = BLOB(true))
@Storable(storagePath : {authority}, prefix="blobConf")
typeBlobRepoConfig(@package=rapture.common.model) {
String description;
String config;
String authority;
String metaConfig;
}
[ ARaptureField is the definition of a concept in Rapture, referenced within a typeoraseriesoftypes.]@Addressable(scheme = FIELD(false))
@Storable(storagePath : {authority, name}, prefix="field")
typeRaptureField(@package=rapture.common) {
String authority;
String category;
String name;
String longName;
String description;
String units;
RaptureGroupingFn groupingFn = RaptureGroupingFn.SUM;
List bands = newArrayList();
Set fieldPaths = newHashSet();
}
[Defines an audit result to be logged.]
typeAuditLogEntry(@package=rapture.common.model) {
String category;
String entryId;
int level;
String logId;
String message;
String source;
String user;
Date when;
}
[]
@Storable(storagePath : { serverName }, prefix="audit/logj/config")
typeLog4jAuditConfig(@package=rapture.common.model.audit) {
String serverName;
String logDirPath;
String xml;
}
[Stores the config information for an audit log.]
@Addressable(scheme = LOG(false))
@Storable(storagePath : {name}, prefix="audit/config")
typeAuditLogConfig(@package=rapture.common) {
String name;
String config;
}
[This is a write handle returned after a write (update, delete, insert) operation to a document. It contains information about the document]
@BeantypeDocWriteHandle(@package=rapture.common.model) {
Boolean isSuccess;
RaptureURI documentURI;
RunEventHandle eventHandle; //if there was an event created associated with this
}
[Defines a script used to run a Rapture job.]
@Addressable(scheme = SCRIPT(false))
@Storable(storagePath : {authority, name}, prefix="script")
@CacheabletypeRaptureScript (@package=rapture.common) {
String name;
String script;
RaptureScriptLanguage language;
RaptureScriptPurpose purpose;
String authority;
List(RaptureParameter) parameters;
}
[Defines a portion of a Rapture script.]
@Addressable(scheme = SNIPPET(false))
@Storable(storagePath : {authority, name}, prefix="snippet")
@CacheabletypeRaptureSnippet (@package=rapture.common) {
String name;
String authority;
String snippet;
}
[Defines a variable used in a read-eval-print loop. ]
@BeantypeREPLVariable(@package=rapture.common) {
String name;
String serializedVar;
}
[Describes a read-eval-print loop in Reflex.]
@Storable(storagePath : { id }, prefix="reflex/repl", repoName=EPHEMERAL_REPO)
@BeantypeReflexREPLSession(@package=rapture.common) {
String id;
List(REPLVariable) vars;
String partialLine = "";
List(String) functionDecls = null;
Date lastSeen;
}
[One of the scripting languages compatible withRapture.]
typeRaptureScriptLanguage (@package=rapture.common) {
StringREFLEX;
}
[Describes the script's functionality.]
typeRaptureScriptPurpose (@package=rapture.common) {
StringINDEXGENERATOR;
StringMAP;
StringFILTER;
StringOPERATION;
StringPROGRAM;
StringLINK;
}
[Metadata used by objects in the LockAPI.]
@Addressable(scheme = LOCK(false))
@Storable(storagePath : {authority, name}, prefix="lock/config")
typeRaptureLockConfig(@package=rapture.common) {
String name;
String config;
String authority;
String pathPosition;
}
[Handle to a Rapture lock.]
@BeantypeLockHandle(@package=rapture.common) {
String lockName;
String handle;
String lockHolder;
}
[Controls access to a resource using the standard semaphore model in programming.]
@Storable(storagePath: {lockKey}, ttlDays=7, repoName=EPHEMERAL_REPO)
typeSemaphoreLock(@package=rapture.common) {
String lockKey;
Set stakeholderURIs = newHashSet();
}
[AnobjectreturnedbypublicAPIcallsthatcreatethings. Iftheobjectwascreated, theURIis
returned. Otherwise, the message contains the reason the objectwasnotcreated.]@BeantypeCreateResponse(@package=rapture.common) {
Boolean isCreated;
RaptureURI uri;
String message;
}
[A response returned when trying to acquire a semaphore lock. It indicates whether the lock
was acquired and identifies any existing stakeholders.]
@BeantypeSemaphoreAcquireResponse(@package=rapture.common) {
Boolean isAcquired;
RaptureURI acquiredURI;
Set existingStakeholderURIs = newHashSet();
}
[Holds the config info for a idgen as described in the idgen API.]
@Addressable(scheme = IDGEN(false))
@Storable(storagePath : {authority, name}, prefix="idgen")
typeRaptureIdGenConfig(@package=rapture.common) {
String name;
String config;
String authority;
}
[Holds the config info for a Rapture table, as described in the table API.]
@Addressable(scheme = TABLE(false))
@Storable(storagePath : {authority, name}, prefix="indexOld")
typeRaptureTableConfig(@package=rapture.common) {
String name;
String config;
String authority;
}
[Searches performed by any API calls are stored in thistype.]typeRaptureSearchResult(@package=rapture.common) {
String displayName;
}
[Holds the config info for a repository.]
@Storable(storagePath : {"sys", name}, separator=".", prefix="repo/config", repoName=BOOTSTRAP_REPO)
typeRepoConfig (@package=rapture.common.model) {
String name;
String config;
}
[Identifies the user making an API call. The metadata map allows API clients to associate values with a particular session (such as user preferences or client location).]
@Storable(storagePath : {context}, prefix="session", repoName=EPHEMERAL_REPO)
typeCallingContext(@package=rapture.common) {
String user;
String context;
String salt;
Map metadata;
Boolean valid = false;
}
[Holds the details of a particular context.]
@Storable(storagePath : {sessionId}, prefix="context")
typeRaptureContextInfo(@package=rapture.common) {
String sessionId;
String authority;
String perspective;
}
[Identifies the current authority.]
@Addressable(scheme = AUTHORITY(false))
typeRaptureAuthority(@package=rapture.common) {
}
[Describes config info for a repository that stores Rapture documents.]
@Addressable(scheme = DOCUMENT(true))
@Storable(storagePath : {authority}, prefix="type")
typeDocumentRepoConfig(@package=rapture.common.model) {
String description;
String config;
String authority;
IdGenURI idGenUri;
Boolean strictCheck = true;
Set indexes = newHashSet();
Set fullTextIndexes = newHashSet();
String updateQueue;
RaptureDocConfig documentRepo;
}
[Describes config info for a single Rapture document.]
@Storable(storagePath : {authority}, prefix="docConf")
typeRaptureDocConfig(@package=rapture.common.model) {
String authority;
String config;
}
[Defines a user account for the Rapture system.]
@Storable(storagePath : {username}, prefix="sys.user", repoName=SETTINGS_REPO)
@Addressable(scheme = USER)
@CacheabletypeRaptureUser(@package=rapture.common.model) {
String username; //deprecatedString userId;
String emailAddress;
String salt = "";
String hashPassword;
String description = "";
Boolean inactive = false;
Boolean apiKey = false;
Boolean hasRoot = false;
String passwordResetToken;
Long tokenExpirationTime;
String registrationToken;
Boolean verified = true;
}
[The base objectusedbytheentitlementsAPI.]@Addressable(scheme = ENTITLEMENT(true))
@Storable(storagePath : {name}, prefix="entitlement")
@Cacheable(shouldCacheNulls=true)
typeRaptureEntitlement(@package=rapture.common.model) {
String name;
EntitlementType entType;
Set groups;
}
[A named collection of users who share any entitlements assigned to the group, as long as they remain members of the group.]
@Addressable(scheme = ENTITLEMENTGROUP(true))
@Storable(storagePath : {name}, prefix="entitlementgroup")
@CacheabletypeRaptureEntitlementGroup(@package=rapture.common.model) {
String name;
Set users;
String dynamicEntitlementClassName;
}
[Describes the main objectusedbytheEventAPI.]@Addressable(scheme = EVENT(false))
@Storable(storagePath : {uriFullPath}, prefix="event")
@CacheabletypeRaptureEvent(@package=rapture.common.model) {
String uriFullPath;
Set(RaptureEventScript) scripts;
Set(RaptureEventMessage) messages;
Set(RaptureEventNotification) notifications;
Set(RaptureEventWorkflow) workflows;
}
[This is a write handle returned after an event is executed.]
@BeantypeRunEventHandle(@package=rapture.common.model) {
RaptureURI eventUri;
String eventId;
Boolean didRun;
}
[Holds information about a server that is running Rapture.]
@Addressable(scheme = SERVER(false))
@Storable(storagePath : {serverId}, prefix="environment/server")
typeRaptureServerInfo(@package=rapture.common.model) {
String serverId;
String name;
}
[Holds information about the status of a server that is running Rapture.]
@Addressable(scheme = SERVERSTATUS(false))
@Storable(storagePath : {serverId}, prefix="environment/status", repoName=EPHEMERAL_REPO)
typeRaptureServerStatus(@package=rapture.common.model) {
String serverId;
Long status;
String statusMessage;
Date lastSeen = newDate();
}
[Holds config information for the main objectusedbythePluginAPI.]@Addressable(scheme = PLUGIN(false))
@Storable(storagePath : {plugin}, prefix="plugin/config")
typePluginConfig(@package=rapture.common) {
Map(String, PluginVersion) depends;
String description;
String plugin;
PluginVersion version;
}
[This is a more detailed variant of PluginConfig that details the complete contents of a version of a plugin instance.]
@Addressable(scheme = PLUGIN_MANIFEST(false))
@Storable(storagePath : {plugin}, prefix="plugin/manifest")
typePluginManifest(@package=rapture.common) {
List(PluginManifestItem) contents;
Map(String, PluginVersion) depends;
String description;
String plugin;
PluginVersion version;
}
[Contains a single entry in the contents of a Plugin manifest.]
@Addressable(scheme = PLUGIN_MANIFEST(false))
typePluginManifestItem(@package=rapture.common) {
String uri;
String hash;
}
[ThePluginTransportItem is an internal classusedbythePluginInstaller. ItcarriestheencodedformofaRaptureobjectbetweenthePluginInstallerandtheRaptureserver.]@BeantypePluginTransportItem(@package=rapture.common) {
String uri;
ByteArray content;
String hash;
}
[Holds version information for a Rapture plugin.]
typePluginVersion(@package=rapture.common) {
int major;
int minor;
int release;
long timestamp;
}
[Holds information about a stored JAR.]
@Addressable(scheme = JAR(false))
@Storable(storagePath : {authority}, prefix="jar", repoName=JAR_REPO)
typeJar(@package=rapture.common) {
String description;
String authority;
}
[Describes a repository for apps.]
@Storable(storagePath : {"settings"}, prefix="app/reposettings")
typeAppRepoSettings(@package=rapture.common) {
String codeBase;
String raptureBase;
}
[Contains configuration details for hosted apps.]
@Storable(storagePath : {name}, prefix="app/config")
typeAppConfig(@package=rapture.common) {
String name;
String title;
String vendor;
String homePage;
String longDescription;
String shortDescription;
String iconLocation;
String splashLocation;
String jarFile;
String mainClass;
}
[Contains information about an active instance of a hosted app.]
@Storable(storagePath : {appConfig, name}, prefix="app/instance")
typeAppInstanceConfig(@package=rapture.common) {
String name;
String appConfig;
List(String) arguments;
Map(String, String) properties;
String apiKey;
}
[ARaptureExchange is the coordination point for a task based pipeline.
Clients put RapturePipelineTask instances onto an exchange, which then routes
that task to a set of queues that are then consumed.
Thisclassdefinestheconfigofanexchange ]@Storable(storagePath : {name}, prefix="exchange")
typeRaptureExchange(@package=rapture.common.model) {
String domain;
String name;
RaptureExchangeType exchangeType;
List(RaptureExchangeQueue) queueBindings;
}
[Represents a task that has been submitted to the Rapture pipeline. Includes the task's status, type, andcategoriesassociatedwithit.]typeRapturePipelineTask(@package=rapture.common) {
PipelineTaskStatus status;
PipelineTaskType taskType;
int priority;
List categoryList;
String taskId;
String content;
String contentType;
Long epoch;
}
[Associates a server category with a comment.]
@Storable(storagePath : {name}, prefix="servercategory")
typeServerCategory(@package=rapture.common) {
String name;
String description;
}
[Describes bound queues in a task exchange pipeline.]
@Storable(storagePath : {name}, prefix="categorybinding")
typeCategoryQueueBindings(@package=rapture.common) {
String name;
Map(String, Set(String)) bindings;
}
[Contains configuration details for a pipeline exchange.]
@Addressable(scheme = EXCHANGE_DOMAIN(false))
@Storable(storagePath: {name}, prefix="exchangeDomain")
typeExchangeDomain(@package=rapture.common) {
String name;
String config;
}
[Describes a table object.]typeTableRecord(@package=rapture.common) {
String keyName;
Map(String, Object) fields;
String content;
}
[Describes a query made against a table.]
typeTableQuery(@package=rapture.common) {
List(TableSelect) fieldTests;
List(String) fieldReturns;
List(TableColumnSort) sortFields;
int skip;
int limit;
}
[Contains the metadata, if any, in a Rapture document.]
@BeantypeDocumentMetadata(@package=rapture.common.model) {
Integer version;
Date writeTime; //deprecated, replaced by modifiedTimestampLong createdTimestamp;
Long modifiedTimestamp;
String user;
String comment;
Boolean deleted;
}
[Contains a Rapture document and its metadata.]
@BeantypeDocumentWithMeta(@package=rapture.common.model) {
String displayName;
DocumentMetadata metaData;
String content;
}
[Holds a key/value pair for an attribute of a document object.]typeXferDocumentAttribute(@package=rapture.common) {
String attributeType;
String key;
String value;
}
[Contains details about the current tasks on a pipeline.]
typePipelineTaskStatus(@package=rapture.common) {
PipelineTaskState currentState;
String taskId;
String relatedTaskId;
Date creationTime;
Date startExecutionTime;
Date endExecutionTime;
int suspensionCount;
List(String) output;
}
[Contains info for a script-driven job in Rapture.]
@Addressable(scheme = JOB(false))
@Storable(storagePath : {jobURI}, prefix="versioned/schedule/job/v2")
typeRaptureJob(@package=rapture.common) {
JobURI jobURI;
String description;
ScriptURI scriptURI;
String cronSpec;
String timeZone = "America/New_York";
Map params;
Boolean autoActivate = true;
Boolean activated = true;
JobType jobType;
Integer maxRuntimeMinutes = -1;
String appStatusNamePattern; //appstatus name pattern, will be interpreted and passed in to workflow
}
[Contains info about an active or queued job.]
@Storable(storagePath : {jobURI, execTime}, ttlDays=180, prefix="versioned/schedule/exec/default/v2")
typeRaptureJobExec(@package=rapture.common) {
JobURI jobURI;
JobType jobType;
JobExecStatus status = JobExecStatus.WAITING;
Long execTime;
Map passedParams = newHashMap();
String execDetails = ""; //stores additional details, to be interpreted based on jobType
}
[Represents the workorderId, which is stored in a RaptureJobExecfor a workflow-based job.]
@BeantypeWorkflowJobDetails(@package=rapture.common) {
String workOrderURI;
}
[Contains a copy of the upcoming JobExecfor a RaptureJob.
It is used by the ScheduleManager to determine whether something needs to run.
This way the ScheduleManager doesn't have to inefficiently sift through all jobs to make this decision.]
@Storable(storagePath : {jobURI}, prefix="versioned/schedule/exec/upcoming/v2")
@Extends(rapture.common RaptureJobExec)
typeUpcomingJobExec(@package=rapture.common) {
}
[Contains a copy of the previous JobExecfor a RaptureJob.
It is used to retrieve statuses of jobs that were previously executed, so that
the ScheduleManager doesn't have to inefficiently sift through all jobs to determine statuses.]
@Storable(storagePath : {jobURI}, ttlDays=180, prefix="versioned/schedule/exec/last/v2")
@Extends(rapture.common RaptureJobExec)
typeLastJobExec(@package=rapture.common) {
}
[The status for an individual workflow-based job execution -- either upcoming or in the past.]
@BeantypeWorkflowJobExecDetails(@package=rapture.common) {
JobURI jobURI;
Map parameters;
Map passedParams = newHashMap(); //optional overrideWorkflowURI workflowURI;
WorkOrderURI workOrderURI;
String workOrderID; //a shorter version of workOrderURI -- just the id at the end, useful for displayLong startDate;
Long lastUpdated;
WorkOrderExecutionState workOrderStatus;
JobExecStatus jobStatus;
String prettyStatus; //a human-readable status, aggregating jobStatus and workOrderStatusLong overrunMillis = 0L; //how much we have overrun, or 0 if not overrun yetInteger maxRuntimeMinutes = -1;
String notes; // optional notes about this workflow's status (e.g. "Still running")JobErrorAck errorAck; // set if this is in error state and someone acknowledged the error
}
[Acknowledgement of a job failure or delay.]
@Storable(storagePath : {jobURI, execTime}, repoName=EPHEMERAL_REPO)
typeJobErrorAck(@package=rapture.common) {
JobURI jobURI;
Long execTime;
JobErrorType errorType; // the type of error that was acknowledgedLong timestamp; // when this was acknowledgedString user; // who acknowledged this
}
[The status for a workflow-based job that's already completed.]
@BeantypeWorkflowExecsStatus(@package=rapture.common) {
List failed = newArrayList();
List ok = newArrayList();
List overrun = newArrayList();
List success = newArrayList();
}
[An customizable description of a workflow layout. The detailed positions are filled in by the client based on local font sizes and the like]
@Storable(storagePath: {workflowURI})
typeWorkflowGridLayout(@package=rapture.common.dp) {
String workflowURI;
List(WorkflowColumnLayout) columns;
List(WorkflowArrowLayout) arrows;
}
[Simple holder for box in a grid by column to make layout easier]
@BeantypeWorkflowColumnLayout(@package=rapture.common.dp) {
Integer columnNumber;
List(WorkflowBoxLayout) boxes;
}
[Grid details for a box in a WorkflowGridLayout]
@BeantypeWorkflowBoxLayout(@package=rapture.common.dp) {
Integer gx;
Integer gy;
String kind;
String name; // name for display, not guaranteed to be uniqueString id; // rigid reference, not for displayInteger offsetX; //replace absolute offsets with fractions?Integer offsetY;
}
[Grid details for a box in a WorkflowArrowLayout]
@BeantypeWorkflowArrowLayout(@package=rapture.common.dp) {
String name;
String fromBoxName;
String toBoxName;
Integer offsetX;
Integer offsetY;
}
[Metadatafor a Rapture server group.]
@Storable(storagePath : {name}, prefix="runner/servergroup")
typeRaptureServerGroup(@package=rapture.common) {
String name;
String description;
Integer jmxPort;
Set(String) inclusions;
Set(String) exclusions;
Set(String) libraries;
}
[Describes an application that thisRapture instance recognizes.]
@Storable(storagePath : {name}, prefix="runner/definition")
typeRaptureApplicationDefinition(@package=rapture.common) {
String name;
String description;
String version;
}
[Describes a third-party library being used in thisRapture instance.]
@Storable(storagePath : {name}, prefix="runner/library")
typeRaptureLibraryDefinition(@package=rapture.common) {
String name;
String description;
String version;
}
[Describes an active application.]
@Storable(storagePath : {serverGroup, name}, prefix="runner/instance")
typeRaptureApplicationInstance(@package=rapture.common) {
String name;
String appName;
String description;
String serverGroup;
String timeRangeSpecification;
Integer retryCount = 0;
String parameters;
String apiUser;
String lockedBy;
Boolean oneShot = false;
Boolean finished = false;
String status;
Date lastStateChange;
}
[Describes the state of a currently running instance of RaptureRunner.]
@BeantypeRaptureRunnerInstanceStatus(@package=rapture.common) {
String serverGroup;
String appInstance;
String appName;
String status;
Date lastSeen;
Boolean needsRestart = false;
}
[Contains info about the capabilities that exist in the current Rapture system.]
@Storable(storagePath : {server, instanceName}, prefix="runner/capabilities", repoName=EPHEMERAL_REPO)
typeRaptureInstanceCapabilities(@package=rapture.common) {
String server;
String instanceName;
Map capabilities = newHashMap();
}
[Contains status info for all instances of RaptureRunner.]
@Storable(storagePath : {serverName}, prefix="runner/status", repoName=EPHEMERAL_REPO)
typeRaptureRunnerStatus(@package=rapture.common) {
String serverName;
Map statusByInstanceName;
}
[Config info for the current RaptureRunner implementation.]
@Storable(storagePath : {""}, prefix="runner/config")
typeRaptureRunnerConfig(@package=rapture.common) {
Map(String, String) config;
}
[Config info for the main objectintheNotificationAPI.]@Addressable(scheme = NOTIFICATION(false))
@Storable(storagePath : {name}, prefix="notification")
typeRaptureNotificationConfig(@package=rapture.common.model) {
String name;
String config;
String purpose;
}
[Theobjectreturnedbyanotification]typeNotificationResult(@package=rapture.common) {
Long currentEpoch;
List(String) references;
}
[Contains all relevant data for a notification.]
typeNotificationInfo(@package=rapture.common) {
String id;
String content;
String reference;
Long epoch;
Date when;
String contentType;
String who;
}
[Information about a folder or a file in a repository.]
typeRaptureFolderInfo(@package=rapture.common) {
String name;
boolean folder;
}
[Script input and output metadata.]
typeScriptInterface(@package=rapture.common) {
Map properties;
Map inputs;
ScriptParameter ret;
}
[Metadatafor an script parameter.]
typeScriptParameter(@package=rapture.common) {
RaptureParameterType parameterType;
String description;
Object defaultValue;
}
[The status of the link between two jobs.]
@Storable(storagePath : {to, from}, prefix="joblinkstatus", repoName=EPHEMERAL_REPO)
typeJobLinkStatus(@package=rapture.common) {
String from;
String to;
Integer level;
Date lastChange;
}
[The link between two jobs.]
@Storable(storagePath : {from, to}, prefix="joblink")
typeJobLink(@package=rapture.common) {
String from;
String to;
}
[A response to a query on Activities]
@BeantypeActivityQueryResponse(@package=rapture.common) {
Boolean isLast; // whether this is the last response. if false, the response is split in batches: use nextBatchId to get the restString nextBatchId; // a unique id that can be used to read the next batch of responses if this was not marked as isLastList activities = newArrayList();
}
[An activity.]
@Storable(storagePath : {id}, ttlDays=7, prefix="versioned/activity/activity/v2")
@Indexable(name: "default", fields: {id, lastSeen})
typeActivity(@package=rapture.common) {
String id; // a unique id for this activityString description; // a human-friendly description of the activityString message; // a human-friendly text message of the statusLong progress; // how many units are completeLong max; // the maximum units when this will be considered finishedLong lastSeen; // when the last update was doneActivityStatus status;
}
[Holds the config info for a Rapture table, as described in the table API.]
@Addressable(scheme = TABLE(false))
@Storable(storagePath : {authority, name}, prefix="table")
typeTableConfig(@package=rapture.common) {
String name;
String config;
String authority;
}
[Describes a table object.]typeTableRecord(@package=rapture.common) {
String keyName;
Map(String, Object) fields;
String content;
}
[Describes a query made against a table.]
typeTableQuery(@package=rapture.common) {
List(TableSelect) fieldTests;
List(String) fieldReturns;
List(TableColumnSort) sortFields;
int skip;
int limit;
}
[An activity.]
@Deprecated("use Activity")
@Storable(storagePath : {id}, prefix="activity", repoName=EPHEMERAL_REPO)
typeRaptureActivity(@package=rapture.common) {
String id;
String otherId;
String message;
Long progress;
Long maxProgress;
Boolean requestFinish = false;
Date lastSeen;
Long expiresAt;
Boolean finished = false;
}
[A structured repository definition]
@Addressable(scheme = STRUCTURED(true))
@Storable(storagePath : {authority})
typeStructuredRepoConfig(@package=rapture.common) {
String description;
String config;
String authority;
}
[metadata for a column within a structured store table]
@BeantypeStructuredColumn(@package=rapture.common) {
String name;
String nativeName;
String raptureType; //TODO replace this with an enumerationString nativeType;
}
[metadata for a table in a structured repository]
@Storable(storagePath : {authority, name})
typeStructuredTable(@package=rapture.column) {
String authority;
String name;
String nativeName;
List(StructuredColumn) columns;
}
[metadata that describes the rows of a SQL table (name->datatype)]
@BeantypeTableMeta(@package=rapture.common) {
Map rows;
}
[A table index]
@BeantypeTableIndex(@package=rapture.common) {
String name;
List columns;
}
[A foreign key]
@BeantypeForeignKey(@package=rapture.common) {
String column;
String foreignTable;
String foreignColumn;
}
[Configuration info for a repository that stores series data.]
@Addressable(scheme = SERIES(true))
@Storable(storagePath : {authority}, prefix="series")
typeSeriesRepoConfig(@package=rapture.common) {
String description;
String config;
String authority;
String seriesName;
String sampleColumn;
}
[Thisobjectholdsthedataforaseriesvaluethatwasrequested, withoutspecifyingwhattypetopresentdataas. ]typeSeriesPoint(@package=rapture.common) {
String column;
String value;
}
[Convenience structure for casting SeriesValues to Doubles.]
typeSeriesDouble(@package=rapture.common) {
String columns;
Double values;
}
[convenience structure for casting SeriesValues to Strings.]
typeSeriesString(@package=rapture.common) {
String columns;
String values;
}
[The config used when archiving the data in a type.]@Storable(storagePath : {authority, typeName}, prefix="archiveSettings", repoName=SETTINGS_REPO)
@Addressable(scheme = DOCUMENT(true))
@CacheabletypeTypeArchiveConfig(@package=rapture.common) {
String authority;
String typeName;
Boolean useScript = false;
String scriptName = "";
Long versionsToKeep = newLong(-1);
Long timeRangeToKeepInDays = newLong(-1);
}
//-----------------------//Decision process objects//-----------------------
[Defines a workflow. Each workflow is a flowchart of WorkflowSteps and Transitions.]
@Storable(storagePath : {workflowURI}, prefix="dp/workflow")
@Addressable(scheme = WORKFLOW(false))
@CacheabletypeWorkflow(@package=rapture.common.dp) {
WorkflowURI workflowURI;
//the semaphore type and config below is used when creating Work OrdersSemaphoreType semaphoreType = SemaphoreType.UNLIMITED;
String semaphoreConfig;
List steps = newArrayList();
String startStep; // name of the step to start on by defaultString category = "alpha"; // name of the category associated with this workflow. defaults // to "alpha", which is the category associated with RaptureAPIServer and// RaptureComputeServer Map view = newHashMap();
List expectedArguments = newArrayList();
String defaultAppStatusNamePattern; //appstatus name pattern, to be used if nothing passed in to workorder
}
[An argument that's expected to be passed to a workflow]
@BeantypeExpectedArgument(@package=rapture.common.dp) {
String name;
Boolean isRequired;
String defaultValue;
}
[An argument passed in to a workorder. Not to be confused withExpectedArgument, which is a list of possible arguments]
@BeantypePassedArgument(@package=rapture.common.dp) {
String name;
String value;
}
[The argument values that were passed in to a workorder]
@Storable(storagePath: {workOrderURI}, prefix="dp/woArguments", repoName=EPHEMERAL_REPO)
typeWorkOrderArguments(@package=rapture.common.dp) {
WorkOrderURI workOrderURI; // the uri of the associated workorderList arguments = newArrayList();
}
[Points to the next step in a given sequence.]
@BeantypeTransition(@package=rapture.common.dp) {
String name;
String targetStep; // set to $RETURN:returnCode for a terminal step. the return code is the name of the // transition to take in the step in the calling context (if any)// targetStep is assumed to be the stepName, not a full URI// // We'll need to document special target steps. Currently, look at // StepHelper to figure out what's available
}
[An executable step with config data.]
@BeantypeStep(@package=rapture.common.dp) {
String name; //this is not a URI, just a String with this step's nameString description; //this is a description of the stepString executable; // workflow:// script:// qtemplate:// $RETURN:value $SLEEP:275// $varName or #literal -- always switch on and discard first characterMap view = newHashMap();
List transitions = newArrayList();
String categoryOverride; //category associated with this step, if it overrides the workflow categoryInteger softTimeout = -1;
}
[Each time a Workflow is executed, the execution is identified by a matching WorkOrder. AWorkOrderURI may be qualified with an id (index) of a particular Worker, e.g. workorder://myProj/myFlow#0]@Storable(storagePath: {workOrderURI}, prefix="dp/workorder")
@Addressable(scheme = WORKORDER(false))
@Indexable(name: "default", fields: {workOrderURI, priority, startTime, endTime})
typeWorkOrder(@package=rapture.common.dp) {
WorkOrderURI workOrderURI;
WorkflowURI workflowURI; //uri of Workflow used when creating this WorkOrderList workerIds; // all ids since the start of timeMap outputs; // output for each Worker IDList pendingIds; // top-level ids that have not terminatedInteger priority;
Long startTime; //epoch in millisecondsLong endTime = newLong(-1); //epoch in millisecondsSemaphoreType semaphoreType = SemaphoreType.UNLIMITED;
String semaphoreConfig;
WorkOrderExecutionState status;
}
[Holds the hash value of the initial argument values forthis workorder. Useful info since two workorders with the same hash
have the same initial arguments, which means that they could be compared like for like (e.g. in terms of how long they take to run)]
@Storable(storagePath: {workOrderURI}, prefix="dp/workorder/argsHash", repoName=EPHEMERAL_REPO)
typeWorkOrderInitialArgsHash(@package=rapture.common.dp) {
WorkOrderURI workOrderURI;
String hashValue;
}
[Workflow historical metrics]
@BeantypeWorkflowHistoricalMetrics(@package=rapture.common.dp) {
Double workflowAverage;
Double jobAverage;
Double workflowWithArgsAverage;
String workflowMetricName;
String jobMetricName;
String argsHashMetricName;
}
[The execution context for a WorkOrder]
@BeantypeExecutionContext(@package=rapture.common.dp) {
WorkOrderURI workOrderURI; //the uri of the associated workorderMap data;
}
[An individual field from the execution context for a WorkOrder]
@Storable(storagePath: {workOrderURI, varName}, prefix="dp/execontextfield", repoName=EPHEMERAL_REPO)
typeExecutionContextField(@package=rapture.common.dp) {
WorkOrderURI workOrderURI; // the uri of the associated workorderString varName;
String value;
}
[The status of a work order.]
@BeantypeWorkOrderStatus(@package=rapture.common.dp) {
Map workerOutput;
WorkOrderExecutionState status; // ACTIVE, CANCELLING, CANCELLED, FINISHED, ERROR
}
[Usedfor multiple work orders that share the same app status name.]
@Storable(storagePath: {name}, encoding="RaptureLightweightCoder", prefix="dp/statusgroup")
typeAppStatusGroup(@package=rapture.common) {
String name;
Map idToStatus = newHashMap();
}
[The status of a Rapture app.]
@Storable(storagePath: {name}, encoding="RaptureLightweightCoder", prefix="dp/appstatus")
typeAppStatus(@package=rapture.common) {
String name;
WorkOrderURI workOrderURI;
WorkOrderExecutionState overallStatus;
Long lastUpdated;
}
[Deprecated! However it cannot be easily deleted because Worker contains List stepExecutionRecords
and that's going to give JSON a hard time. We need to have a strategy to handle things like this. SeeRAP-2596]
@Deprecated("use StepRecord")
@BeantypeStepExecutionRecord(@package=rapture.common.dp) {
WorkflowURI stepURI; //fully qualified workflowURI with stepName (e.g. //myProj/myWorkflow#myStep)Long time; //in millisecondsString hostname;
StepExecutionRecordType recordType;
}
[A detailed step execution record, containing start and finish times and short step name.]
@BeantypeStepRecord(@package=rapture.common.dp) {
WorkflowURI stepURI; //fully qualified workflowURI with stepName (e.g. //myProj/myWorkflow#myStep)String name; //short step name, e.g. myStepLong startTime;
Long endTime;
String retVal;
String hostname;
WorkOrderExecutionState status; //status of this stepErrorWrapper exceptionInfo; //@Nullable: the rapture exception id associated with this, in case this failed and there was an exception.String activityId; //@Nullable: the activity id associated with this step record, in case we are reporting progress on it
}
[A list of step executions for a particular Worker]
@Storable(storagePath: {workOrderURI, workerId}, prefix="dp/stepRecords", repoName=EPHEMERAL_REPO)
typeStepRecordsWrapper(@package=rapture.common.dp) {
WorkOrderURI workOrderURI;
String workerId;
List stepRecords = newArrayList();
}
[Contains additional data about the app status.]
@BeantypeAppStatusDetails(@package=rapture.common.dp) {
AppStatus appStatus;
Map> workerIdToSteps = newHashMap>();
String logURI;
Map extraContextValues = newHashMap();
}
[A request to cancel a work order.]
@Storable(storagePath: {workOrderURI})
typeWorkOrderCancellation(@package=rapture.common.dp) {
WorkOrderURI workOrderURI;
Long time;
}
[Workers keep track of progress when executing a work order. Each worker handles one thread of execution.]
@Storable(storagePath: {workOrderURI, id}, prefix="dp/worker")
@Indexable(name: "default", fields: {workOrderURI, status})
typeWorker(@package=rapture.common.dp) {
WorkOrderURI workOrderURI; //the uri of the associated workorderString id;
// the view of the current step, overlayed by things such as $varName or #literal -- always switch // on and discard first characterMap viewOverlay = newHashMap();
// fully qualified workflowURI with stepName (e.g. //myProj/myWorkflow#myStep)List stack = newArrayList();
List