org.alfresco.service.cmr.repository.datatype.Duration

Here are the examples of the java api class org.alfresco.service.cmr.repository.datatype.Duration taken from open source projects.

1. AlfrescoCoreAdminHandler#addCoreSummary()

Project: community-edition
File: AlfrescoCoreAdminHandler.java
/**
     * @param cname
     * @param detail
     * @param hist
     * @param values
     * @param tracker
     * @param report
     * @throws IOException 
     */
private void addCoreSummary(String cname, boolean detail, boolean hist, boolean values, Tracker tracker, InformationServer srv, NamedList<Object> report) throws IOException {
    NamedList<Object> coreSummary = new SimpleOrderedMap<Object>();
    coreSummary.addAll((SimpleOrderedMap<Object>) srv.getCoreStats());
    long lastIndexTxCommitTime = srv.getTrackerState().getLastIndexedTxCommitTime();
    long lastIndexedTxId = srv.getTrackerState().getLastIndexedTxId();
    long lastTxCommitTimeOnServer = srv.getTrackerState().getLastTxCommitTimeOnServer();
    long lastTxIdOnServer = srv.getTrackerState().getLastTxIdOnServer();
    Date lastIndexTxCommitDate = new Date(lastIndexTxCommitTime);
    Date lastTxOnServerDate = new Date(lastTxCommitTimeOnServer);
    long transactionsToDo = lastTxIdOnServer - lastIndexedTxId;
    if (transactionsToDo < 0) {
        transactionsToDo = 0;
    }
    long lastIndexChangeSetCommitTime = srv.getTrackerState().getLastIndexedChangeSetCommitTime();
    long lastIndexedChangeSetId = srv.getTrackerState().getLastIndexedChangeSetId();
    long lastChangeSetCommitTimeOnServer = srv.getTrackerState().getLastChangeSetCommitTimeOnServer();
    long lastChangeSetIdOnServer = srv.getTrackerState().getLastChangeSetIdOnServer();
    Date lastIndexChangeSetCommitDate = new Date(lastIndexChangeSetCommitTime);
    Date lastChangeSetOnServerDate = new Date(lastChangeSetCommitTimeOnServer);
    long changeSetsToDo = lastChangeSetIdOnServer - lastIndexedChangeSetId;
    if (changeSetsToDo < 0) {
        changeSetsToDo = 0;
    }
    long remainingTxTimeMillis = (long) (transactionsToDo * tracker.getTrackerStats().getMeanDocsPerTx() * tracker.getTrackerStats().getMeanNodeIndexTime() / tracker.getTrackerStats().getNodeIndexingThreadCount());
    Date now = new Date();
    Date end = new Date(now.getTime() + remainingTxTimeMillis);
    Duration remainingTx = new Duration(now, end);
    long remainingChangeSetTimeMillis = (long) (changeSetsToDo * tracker.getTrackerStats().getMeanAclsPerChangeSet() * tracker.getTrackerStats().getMeanAclIndexTime() / tracker.getTrackerStats().getNodeIndexingThreadCount());
    now = new Date();
    end = new Date(now.getTime() + remainingChangeSetTimeMillis);
    Duration remainingChangeSet = new Duration(now, end);
    Duration txLag = new Duration(lastIndexTxCommitDate, lastTxOnServerDate);
    if (lastIndexTxCommitDate.compareTo(lastTxOnServerDate) > 0) {
        txLag = new Duration();
    }
    long txLagSeconds = (lastTxCommitTimeOnServer - lastIndexTxCommitTime) / 1000;
    if (txLagSeconds < 0) {
        txLagSeconds = 0;
    }
    Duration changeSetLag = new Duration(lastIndexChangeSetCommitDate, lastChangeSetOnServerDate);
    if (lastIndexChangeSetCommitDate.compareTo(lastChangeSetOnServerDate) > 0) {
        changeSetLag = new Duration();
    }
    long changeSetLagSeconds = (lastChangeSetCommitTimeOnServer - lastIndexChangeSetCommitTime) / 1000;
    if (txLagSeconds < 0) {
        txLagSeconds = 0;
    }
    coreSummary.add("Active", srv.getTrackerState().isRunning());
    // TX
    coreSummary.add("Last Index TX Commit Time", lastIndexTxCommitTime);
    coreSummary.add("Last Index TX Commit Date", lastIndexTxCommitDate);
    coreSummary.add("TX Lag", txLagSeconds + " s");
    coreSummary.add("TX Duration", txLag.toString());
    coreSummary.add("Timestamp for last TX on server", lastTxCommitTimeOnServer);
    coreSummary.add("Date for last TX on server", lastTxOnServerDate);
    coreSummary.add("Id for last TX on server", lastTxIdOnServer);
    coreSummary.add("Id for last TX in index", lastIndexedTxId);
    coreSummary.add("Approx transactions remaining", transactionsToDo);
    coreSummary.add("Approx transaction indexing time remaining", remainingTx.largestComponentformattedString());
    // Change set
    coreSummary.add("Last Index Change Set Commit Time", lastIndexChangeSetCommitTime);
    coreSummary.add("Last Index Change Set Commit Date", lastIndexChangeSetCommitDate);
    coreSummary.add("Change Set Lag", changeSetLagSeconds + " s");
    coreSummary.add("Change Set Duration", changeSetLag.toString());
    coreSummary.add("Timestamp for last Change Set on server", lastChangeSetCommitTimeOnServer);
    coreSummary.add("Date for last Change Set on server", lastChangeSetOnServerDate);
    coreSummary.add("Id for last Change Set on server", lastChangeSetIdOnServer);
    coreSummary.add("Id for last Change Set in index", lastIndexedChangeSetId);
    coreSummary.add("Approx change sets remaining", changeSetsToDo);
    coreSummary.add("Approx change set indexing time remaining", remainingChangeSet.largestComponentformattedString());
    // Stats
    coreSummary.add("Model sync times (ms)", tracker.getTrackerStats().getModelTimes().getNamedList(detail, hist, values));
    coreSummary.add("Acl index time (ms)", tracker.getTrackerStats().getAclTimes().getNamedList(detail, hist, values));
    coreSummary.add("Node index time (ms)", tracker.getTrackerStats().getNodeTimes().getNamedList(detail, hist, values));
    coreSummary.add("Docs/Tx", tracker.getTrackerStats().getTxDocs().getNamedList(detail, hist, values));
    coreSummary.add("Doc Transformation time (ms)", tracker.getTrackerStats().getDocTransformationTimes().getNamedList(detail, hist, values));
    // Modela
    Map<String, Set<String>> modelErrors = srv.getModelErrors();
    if (modelErrors.size() > 0) {
        NamedList<Object> errorList = new SimpleOrderedMap<Object>();
        for (Map.Entry<String, Set<String>> modelNameToErrors : modelErrors.entrySet()) {
            errorList.add(modelNameToErrors.getKey(), modelNameToErrors.getValue());
        }
        coreSummary.add("Model changes are not compatible with the existing data model and have not been applied", errorList);
    }
    report.add(cname, coreSummary);
}

2. XMLDuration#getNextDate()

Project: community-edition
File: XMLDuration.java
public Date getNextDate(Date date, String expression) {
    Duration d = new Duration(expression);
    return Duration.add(date, d);
}