public class GlobusJobManagerParser extends AbstractPropertyContainerParser implements IncrementalPropertyContainerParser
LinkPolicy. The remote table is identified based on the jobmanager type.
If the property;
GlobusJobManagerParser.table.jobmanager-type is set then this is used as the
table name of master table (Assumed to support the batch:JobID and batch:SubmittedTimestamp and batch:JobId properties).
When a remote table is configured the record will not evaluate as complete until the master record has been located.| Modifier and Type | Field and Description |
|---|---|
static PropertyTag<java.lang.String> |
GLOBUS_DN |
static PropertyTag<java.util.Date> |
GLOBUS_END_DATE |
static PropertyTag<java.util.Date> |
GLOBUS_EXEC_DATE |
static PropertyTag<java.lang.String> |
GLOBUS_JOBID |
static PropertyTag<java.lang.String> |
GLOBUS_JOBTYPE |
static PropertyTag<java.lang.String> |
GLOBUS_JOBTYPEID |
static PropertyTag<java.lang.String> |
GLOBUS_MANAGER |
static PropertyTag<java.lang.Integer> |
GLOBUS_PARENT_ID
Id of parent record.
|
static PropertyTag<java.util.Date> |
GLOBUS_START_DATE |
static PropertyTag<java.lang.String> |
GLOBUS_SUBMIT_HOST |
static PropertyTag<java.lang.String> |
GLOBUS_USERNAME |
DUPLICATE_KEY| Constructor and Description |
|---|
GlobusJobManagerParser() |
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
endParse()
End a batch parse this de-allocates any temporary storage and
and perform any final operations.
|
PropertyFinder |
initFinder(uk.ac.ed.epcc.webapp.AppContext ctx,
PropertyFinder prev,
java.lang.String table)
Generate a PropertyFinder that will find any PropertyTag generated by this class.
|
boolean |
isComplete(UsageRecord record)
Are all the necessary properties present in the record.
|
boolean |
parse(PropertyMap map,
java.lang.String record)
Parse a String representation of the UsageRecord.
|
void |
postComplete(UsageRecord record)
Once record has been marked as complete apply any side effects.
|
void |
startParse(PropertyContainer staticProps)
Start a batch parse.
|
getDefaultUniqueProperties, modifyDefaultTableSpecification, splitRecords, uniquegetDerivedPropertiesclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetDefaultUniqueProperties, splitRecordsgetDerivedProperties, modifyDefaultTableSpecification@AutoTable(target=java.lang.String.class) public static final PropertyTag<java.lang.String> GLOBUS_USERNAME
@AutoTable(target=java.lang.String.class, length=128) public static final PropertyTag<java.lang.String> GLOBUS_DN
@AutoTable(target=java.lang.String.class, length=512) public static final PropertyTag<java.lang.String> GLOBUS_SUBMIT_HOST
@AutoTable(target=java.lang.String.class) public static final PropertyTag<java.lang.String> GLOBUS_MANAGER
@AutoTable(target=java.lang.String.class) public static final PropertyTag<java.lang.String> GLOBUS_JOBID
@AutoTable(target=java.lang.String.class, unique=true, length=128) public static final PropertyTag<java.lang.String> GLOBUS_JOBTYPEID
@OptionalTable public static final PropertyTag<java.lang.String> GLOBUS_JOBTYPE
@AutoTable(target=java.util.Date.class) public static final PropertyTag<java.util.Date> GLOBUS_START_DATE
@AutoTable(target=java.util.Date.class) public static final PropertyTag<java.util.Date> GLOBUS_END_DATE
@AutoTable(target=java.util.Date.class) public static final PropertyTag<java.util.Date> GLOBUS_EXEC_DATE
@AutoTable(target=java.lang.Integer.class) public static final PropertyTag<java.lang.Integer> GLOBUS_PARENT_ID
public boolean parse(PropertyMap map, java.lang.String record) throws AccountingParseException
PropertyContainerParserparse in interface PropertyContainerParserAccountingParseExceptionmap - PropertyMap to add quantitiespublic PropertyFinder initFinder(uk.ac.ed.epcc.webapp.AppContext ctx, PropertyFinder prev, java.lang.String table)
PropertyContainerUpdaterAll properties defined at run-time should have their PropertyTag objects constructed by the time the first call to this method returns. As some parsers properties will generate different things depending on the other properties already in scope this method is passed a PropertyFinder for any properties that may already be in scope. This will include any default parameters specified when the data was uploaded and any properties generated from the database meta-data. Though it is perfectly legal to return a PropertyFinder that returns a superset of the generated properties the only requirement is that the returned finder can find any property that this classes parse method may actually generate values for. So Normally the contents of the super-finder are not included in the result unless these values are actually generated by the parse. If values are generated then a MultiFinder can be populated with the PropertyRegistrys from the generated properties
initFinder in interface PropertyContainerUpdaterprev - PropertyFinder for the higher levels in the call chain.table - String name of the destination table in case per-table customisation is neededpublic boolean isComplete(UsageRecord record)
IncrementalPropertyContainerParserisComplete in interface IncrementalPropertyContainerParserpublic java.lang.String endParse()
PropertyContainerUpdaterendParse in interface PropertyContainerUpdaterendParse in class AbstractPropertyContainerUpdaterpublic void startParse(PropertyContainer staticProps) throws java.lang.Exception
PropertyContainerUpdaterstartParse in interface PropertyContainerUpdaterstartParse in class AbstractPropertyContainerUpdaterjava.lang.ExceptionstaticProps - properties constant for this accounting run.public void postComplete(UsageRecord record) throws java.lang.Exception
IncrementalPropertyContainerParserpostComplete in interface IncrementalPropertyContainerParserjava.lang.Exception