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
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
File: XMLDuration.java
public Date getNextDate(Date date, String expression) { Duration d = new Duration(expression); return Duration.add(date, d); }