类org.apache.commons.lang.time.DateUtils源码实例Demo

下面列出了怎么用org.apache.commons.lang.time.DateUtils的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: elexis-3-core   文件: LocalDocumentService.java
private void deleteBackupFilesOlderThen(File backupDir, int days){
	try {
		if (backupDir.isDirectory()) {
			Collection<File> filesToDelete = FileUtils.listFiles(backupDir,
				new AgeFileFilter(DateUtils.addDays(new Date(), days * -1)),
				TrueFileFilter.TRUE);
			for (File file : filesToDelete) {
				boolean success = FileUtils.deleteQuietly(file);
				if (!success) {
					LoggerFactory.getLogger(getClass())
						.warn("Cannot delete old backup file at: " + file.getAbsolutePath());
				}
			}
		}
	} catch (Exception e) {
		LoggerFactory.getLogger(getClass()).warn("Cannot delete old backup files.", e);
	}
}
 
源代码2 项目: eagle   文件: KafkaMessageDistributionBolt.java
@Override
public void prepare(Map stormConf, TopologyContext context, OutputCollector collector) {
    String site = config.getString("dataSourceConfig.site");
    String topic = config.getString("dataSourceConfig.topic");
    this.baseMetricDimension = new HashMap<>();
    this.baseMetricDimension.put("site", site);
    this.baseMetricDimension.put("topic", topic);
    registry = new MetricRegistry();

    this.granularity = DEFAULT_METRIC_GRANULARITY;
    if (config.hasPath("dataSourceConfig.kafkaDistributionDataIntervalMin")) {
        this.granularity = config.getInt("dataSourceConfig.kafkaDistributionDataIntervalMin") * DateUtils.MILLIS_PER_MINUTE;
    }

    String host = config.getString(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.EAGLE_SERVICE + "." + EagleConfigConstants.HOST);
    int port = config.getInt(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.EAGLE_SERVICE + "." + EagleConfigConstants.PORT);
    String username = config.getString(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.EAGLE_SERVICE + "." + EagleConfigConstants.USERNAME);
    String password = config.getString(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.EAGLE_SERVICE + "." + EagleConfigConstants.PASSWORD);
    listener = new EagleServiceReporterMetricListener(host, port, username, password);
}
 
源代码3 项目: AlgoTrader   文件: MarketDataServiceImpl.java
protected void handlePersistTick(Tick tick) throws IOException {

		Security security = tick.getSecurity();
	
		// persist ticks only between marketOpen & close
		if (DateUtil.compareToTime(security.getSecurityFamily().getMarketOpen()) >= 0
				&& DateUtil.compareToTime(security.getSecurityFamily().getMarketClose()) <= 0) {

			// get the current Date rounded to MINUTES
			Date date = DateUtils.round(DateUtil.getCurrentEPTime(), Calendar.MINUTE);
			tick.setDateTime(date);
	
			// write the tick to file
			CsvTickWriter csvWriter = this.csvWriters.get(security);
			if (csvWriter == null) {
				csvWriter = new CsvTickWriter(security.getIsin());
				this.csvWriters.put(security, csvWriter);
			}
			csvWriter.write(tick);
	
			// write the tick to the DB (even if not valid)
			getTickDao().create(tick);
		}
	}
 
源代码4 项目: datawave   文件: BaseQueryMetricHandler.java
public QueryMetricsSummaryResponse processQueryMetricsSummary(List<T> queryMetrics) throws IOException {
    
    QueryMetricsSummaryResponse summary = new QueryMetricsSummaryResponse();
    Date now = new Date();
    Date hour1 = DateUtils.addHours(now, -1);
    Date hour6 = DateUtils.addHours(now, -6);
    Date hour12 = DateUtils.addHours(now, -12);
    Date day1 = DateUtils.addDays(now, -1);
    Date day7 = DateUtils.addDays(now, -7);
    Date day30 = DateUtils.addDays(now, -30);
    Date day60 = DateUtils.addDays(now, -60);
    Date day90 = DateUtils.addDays(now, -90);
    
    for (T metric : queryMetrics) {
        try {
            binSummary(metric, summary, hour1, hour6, hour12, day1, day7, day30, day60, day90);
        } catch (Exception e1) {
            log.error(e1.getMessage());
        }
    }
    
    return summary;
}
 
源代码5 项目: kfs   文件: AccountRule.java
/**
 * This method checks to see if the account expiration date is today's date or earlier
 *
 * @param newAccount
 * @return fails if the expiration date is null or after today's date
 */
protected boolean checkAccountExpirationDateValidTodayOrEarlier(Account newAccount) {

    // get today's date, with no time component
    Date todaysDate = new Date(getDateTimeService().getCurrentDate().getTime());
    todaysDate.setTime(DateUtils.truncate(todaysDate, Calendar.DAY_OF_MONTH).getTime());
    // TODO: convert this to using Wes' Kuali KfsDateUtils once we're using Date's instead of Timestamp

    // get the expiration date, if any
    Date expirationDate = newAccount.getAccountExpirationDate();
    if (ObjectUtils.isNull(expirationDate)) {
        putFieldError("accountExpirationDate", KFSKeyConstants.ERROR_DOCUMENT_ACCMAINT_ACCT_CANNOT_BE_CLOSED_EXP_DATE_INVALID);
        return false;
    }

    // when closing an account, the account expiration date must be the current date or earlier
    expirationDate.setTime(DateUtils.truncate(expirationDate, Calendar.DAY_OF_MONTH).getTime());
    if (expirationDate.after(todaysDate)) {
        putFieldError("accountExpirationDate", KFSKeyConstants.ERROR_DOCUMENT_ACCMAINT_ACCT_CANNOT_BE_CLOSED_EXP_DATE_INVALID);
        return false;
    }

    return true;
}
 
源代码6 项目: kfs   文件: RetirementInfoServiceTest.java
private AssetRetirementGlobalDetail createRetirementDetail(String docNumber, int daysToAdd, String docStatus) {
    AssetRetirementGlobalDetail globalDetail = new AssetRetirementGlobalDetail();
    globalDetail.setDocumentNumber(docNumber);
    AssetRetirementGlobal retirementGlobal = new AssetRetirementGlobal() {
        @Override
        public void refreshReferenceObject(String referenceObjectName) {
        }

    };
    retirementGlobal.setRetirementDate(new java.sql.Date(DateUtils.addDays(dateTimeService.getCurrentDate(), daysToAdd).getTime()));
    FinancialSystemDocumentHeader header = new FinancialSystemDocumentHeader();
    header.setFinancialDocumentStatusCode(docStatus);
    retirementGlobal.setDocumentHeader(header);
    globalDetail.setAssetRetirementGlobal(retirementGlobal);
    return globalDetail;
}
 
源代码7 项目: qmq   文件: SendMessageTask.java
@Override
public Void call() {
    LOG.info("{} start...", dataSourceInfo.getUrl());
    stop = false;
    String name = Thread.currentThread().getName();
    try {
        Thread.currentThread().setName(dataSourceInfo.getUrl());
        long begin = System.currentTimeMillis();
        while ((!isStop() && !timeout(begin))) {
            Date since = DateUtils.addSeconds(new Date(), -DEFAULT_TIME_INTEL);
            List<MsgQueue> errorMessages = messageClientStore.findErrorMsg(this.dataSource, since);
            if (errorMessages == null || errorMessages.isEmpty()) {
                break;
            }
            logRemainMsg(errorMessages);
            processErrorMessages(errorMessages, since);
        }
    } catch (Exception e) {
        throw new RuntimeException("process message error, url: " + dataSourceInfo.getUrl(), e);
    } finally {
        stop = true;
        Thread.currentThread().setName(name);
        LOG.info("{} finish", dataSourceInfo.getUrl());
    }
    return null;
}
 
源代码8 项目: openhab1-addons   文件: DateTimeUtils.java
/**
 * Converts the time (hour.minute) to a calendar object.
 */
public static Calendar timeToCalendar(Calendar calendar, double time) {
    if (time < 0.0) {
        return null;
    }
    Calendar cal = (Calendar) calendar.clone();
    int hour = 0;
    int minute = 0;
    if (time == 24.0) {
        cal.add(Calendar.DAY_OF_MONTH, 1);
    } else {
        hour = (int) time;
        minute = (int) ((time * 100) - (hour * 100));
    }
    cal.set(Calendar.HOUR_OF_DAY, hour);
    cal.set(Calendar.MINUTE, minute);
    return DateUtils.truncate(cal, Calendar.MINUTE);
}
 
源代码9 项目: eagle   文件: ServiceAuditDAOImpl.java
@Override
public List<GenericAuditEntity> findUserServiceAuditByAction(String userID, String action) throws Exception {
	try {
		IEagleServiceClient client = new EagleServiceClientImpl(connector);
		String query = AuditConstants.AUDIT_SERVICE_ENDPOINT + "[@userID=\"" + userID + "\" AND @actionTaken=\"" + action + "\"]{*}";
           GenericServiceAPIResponseEntity<GenericAuditEntity> response =  client.search().startTime(0).endTime(10 * DateUtils.MILLIS_PER_DAY).pageSize(Integer.MAX_VALUE).query(query).send();
           client.close();
           if (response.getException() != null) {
               throw new Exception("Exception in querying eagle service: " + response.getException());
           }
           return response.getObj();
	} catch (Exception exception) {
		LOG.error("Exception in retrieving audit entry: " + exception);
		throw new IllegalStateException(exception);
	}
}
 
源代码10 项目: piggymetrics   文件: RecipientRepositoryTest.java
@Test
public void shouldNotFindReadyForRemindWhenNotificationIsNotActive() {

	NotificationSettings remind = new NotificationSettings();
	remind.setActive(false);
	remind.setFrequency(Frequency.WEEKLY);
	remind.setLastNotified(DateUtils.addDays(new Date(), -30));

	Recipient recipient = new Recipient();
	recipient.setAccountName("test");
	recipient.setEmail("[email protected]");
	recipient.setScheduledNotifications(ImmutableMap.of(
			NotificationType.REMIND, remind
	));

	repository.save(recipient);

	List<Recipient> found = repository.findReadyForRemind();
	assertTrue(found.isEmpty());
}
 
源代码11 项目: piggymetrics   文件: RecipientRepositoryTest.java
@Test
public void shouldNotFindReadyForBackupWhenFrequencyIsQuaterly() {

	NotificationSettings remind = new NotificationSettings();
	remind.setActive(true);
	remind.setFrequency(Frequency.QUARTERLY);
	remind.setLastNotified(DateUtils.addDays(new Date(), -91));

	Recipient recipient = new Recipient();
	recipient.setAccountName("test");
	recipient.setEmail("[email protected]");
	recipient.setScheduledNotifications(ImmutableMap.of(
			NotificationType.BACKUP, remind
	));

	repository.save(recipient);

	List<Recipient> found = repository.findReadyForBackup();
	assertFalse(found.isEmpty());
}
 
源代码12 项目: cloud-portal   文件: DashboardController.java
private void addProvisioningHistoryToMap(ProvisionLog provisionLog, Map<Long, Integer> provisioningHistoryMap) {

		Date date = provisionLog.getDate();
		
		if (date.after(this.dateBefore)) {
			
			Date calculatedDate = DateUtils.truncate(date, Calendar.DAY_OF_MONTH); // NOSONAR
			long timeInMillis = calculatedDate.getTime();
			
			Integer counter = provisioningHistoryMap.get(timeInMillis);
			if (counter == null) {
				counter = 0;
			}
			counter = counter + 1;
			
			provisioningHistoryMap.put(timeInMillis, counter);
		}
	}
 
源代码13 项目: hadoop   文件: RMContainerImpl.java
private static void updateAttemptMetrics(RMContainerImpl container) {
  // If this is a preempted container, update preemption metrics
  Resource resource = container.getContainer().getResource();
  RMAppAttempt rmAttempt = container.rmContext.getRMApps()
      .get(container.getApplicationAttemptId().getApplicationId())
      .getCurrentAppAttempt();
  if (ContainerExitStatus.PREEMPTED == container.finishedStatus
    .getExitStatus()) {
    rmAttempt.getRMAppAttemptMetrics().updatePreemptionInfo(resource,
      container);
  }

  if (rmAttempt != null) {
    long usedMillis = container.finishTime - container.creationTime;
    long memorySeconds = resource.getMemory()
                          * usedMillis / DateUtils.MILLIS_PER_SECOND;
    long vcoreSeconds = resource.getVirtualCores()
                         * usedMillis / DateUtils.MILLIS_PER_SECOND;
    long gcoreSeconds = resource.getGpuCores()
                         * usedMillis / DateUtils.MILLIS_PER_SECOND;
    rmAttempt.getRMAppAttemptMetrics()
              .updateAggregateAppResourceUsage(memorySeconds,vcoreSeconds, gcoreSeconds);
  }
}
 
源代码14 项目: hadoop   文件: SchedulerApplicationAttempt.java
synchronized AggregateAppResourceUsage getRunningAggregateAppResourceUsage() {
  long currentTimeMillis = System.currentTimeMillis();
  // Don't walk the whole container list if the resources were computed
  // recently.
  if ((currentTimeMillis - lastMemoryAggregateAllocationUpdateTime)
      > MEM_AGGREGATE_ALLOCATION_CACHE_MSECS) {
    long memorySeconds = 0;
    long vcoreSeconds = 0;
    long gcoreSeconds = 0;
    for (RMContainer rmContainer : this.liveContainers.values()) {
      long usedMillis = currentTimeMillis - rmContainer.getCreationTime();
      Resource resource = rmContainer.getContainer().getResource();
      memorySeconds += resource.getMemory() * usedMillis /  
          DateUtils.MILLIS_PER_SECOND;
      vcoreSeconds += resource.getVirtualCores() * usedMillis  
          / DateUtils.MILLIS_PER_SECOND;
      gcoreSeconds += resource.getGpuCores() * usedMillis / DateUtils.MILLIS_PER_SECOND;
    }

    lastMemoryAggregateAllocationUpdateTime = currentTimeMillis;
    lastMemorySeconds = memorySeconds;
    lastVcoreSeconds = vcoreSeconds;
    lastGcoreSeconds = gcoreSeconds;
  }
  return new AggregateAppResourceUsage(lastMemorySeconds, lastVcoreSeconds, lastGcoreSeconds);
}
 
源代码15 项目: cachecloud   文件: HighchartPoint.java
public static HighchartPoint getFromAppCommandStats(AppCommandStats appCommandStats, Date currentDate, int diffDays) throws ParseException {
    Date collectDate = getDateTime(appCommandStats.getCollectTime());
    if (!DateUtils.isSameDay(currentDate, collectDate)) {
        return null;
    }
    
    //显示用的时间
    String date = null;
    try {
        date = DateUtil.formatDate(collectDate, "yyyy-MM-dd HH:mm");
    } catch (Exception e) {
        date = DateUtil.formatDate(collectDate, "yyyy-MM-dd HH");
    }
    // y坐标
    long commandCount = appCommandStats.getCommandCount();
    // x坐标
    //为了显示在一个时间范围内
    if (diffDays > 0) {
        collectDate = DateUtils.addDays(collectDate, diffDays);
    }
    
    return new HighchartPoint(collectDate.getTime(), commandCount, date);
}
 
源代码16 项目: oxAuth   文件: CibaPingModeJwtAuthRequestTests.java
/**
 * Creates a new JwtAuthorizationRequest using default configuration and params.
 */
private JwtAuthorizationRequest createJwtRequest(String keyStoreFile, String keyStoreSecret, String dnName,
                                                 String userId, String keyId, SignatureAlgorithm signatureAlgorithm) throws Exception {
    OxAuthCryptoProvider cryptoProvider = new OxAuthCryptoProvider(keyStoreFile, keyStoreSecret, dnName);
    String clientId = registerResponse.getClientId();

    int now = (int)(System.currentTimeMillis() / 1000);

    JwtAuthorizationRequest jwtAuthorizationRequest = new JwtAuthorizationRequest(
            null, signatureAlgorithm, cryptoProvider);
    jwtAuthorizationRequest.setClientNotificationToken("notification-token-123");
    jwtAuthorizationRequest.setAud(issuer);
    jwtAuthorizationRequest.setLoginHint(userId);
    jwtAuthorizationRequest.setNbf(now);
    jwtAuthorizationRequest.setScopes(Collections.singletonList("openid"));
    jwtAuthorizationRequest.setIss(clientId);
    jwtAuthorizationRequest.setBindingMessage("1234");
    jwtAuthorizationRequest.setExp((int)(DateUtils.addMinutes(new Date(), 5).getTime() / 1000));
    jwtAuthorizationRequest.setIat(now);
    jwtAuthorizationRequest.setJti(UUID.randomUUID().toString());
    jwtAuthorizationRequest.setKeyId(keyId);

    return jwtAuthorizationRequest;
}
 
源代码17 项目: smarthome   文件: DateTimeUtils.java
/**
 * Returns the end of day from the calendar object.
 */
public static Calendar endOfDayDate(Calendar calendar) {
    Calendar cal = (Calendar) calendar.clone();
    cal = DateUtils.ceiling(cal, Calendar.DATE);
    cal.add(Calendar.MILLISECOND, -1);
    return cal;
}
 
源代码18 项目: kfs   文件: PriorYearAccount.java
/**
 * This method determines whether the account is expired or not. Note that if Expiration Date is the same date as testDate, then
 * this will return false. It will only return true if the account expiration date is one day earlier than testDate or earlier.
 * Note that this logic ignores all time components when doing the comparison. It only does the before/after comparison based on
 * date values, not time-values.
 *
 * @param testDate - Calendar instance with the date to test the Account's Expiration Date against. This is most commonly set to
 *        today's date.
 * @return true or false based on the logic outlined above
 */
@Override
public boolean isExpired(Calendar testDate) {
    if (LOG.isDebugEnabled()) {
        LOG.debug("entering isExpired(" + testDate + ")");
    }

    // dont even bother trying to test if the accountExpirationDate is null
    if (this.accountExpirationDate == null) {
        return false;
    }

    // remove any time-components from the testDate
    testDate = DateUtils.truncate(testDate, Calendar.DAY_OF_MONTH);

    // get a calendar reference to the Account Expiration
    // date, and remove any time components
    Calendar acctDate = Calendar.getInstance();
    acctDate.setTime(this.accountExpirationDate);
    acctDate = DateUtils.truncate(acctDate, Calendar.DAY_OF_MONTH);

    // if the Account Expiration Date is before the testDate
    if (acctDate.before(testDate)) {
        return true;
    }
    else {
        return false;
    }
}
 
源代码19 项目: datawave   文件: DateIndexDataTypeHandler.java
/**
 * Construct a date index entry
 * 
 * @param shardId
 * @param dataType
 * @param type
 * @param dateField
 * @param dateValue
 * @param visibility
 * @return The key and value
 */
public KeyValue getDateIndexEntry(String shardId, String dataType, String type, String dateField, String dateValue, ColumnVisibility visibility) {
    Date date = null;
    try {
        // get the date to be indexed
        date = dateNormalizer.denormalize(dateValue);
    } catch (Exception e) {
        log.error("Failed to normalize date value (skipping): " + dateValue, e);
        return null;
    }
    
    // set the time to 00:00:00 (for key timestamp)
    date = DateUtils.truncate(date, Calendar.DATE);
    
    // format the date and the shardId date as yyyyMMdd
    String rowDate = DateIndexUtil.format(date);
    String shardDate = ShardIdFactory.getDateString(shardId);
    
    ColumnVisibility biased = new ColumnVisibility(flatten(visibility));
    
    // The row is the date plus the shard partition
    String row = rowDate + '_' + getDateIndexShardPartition(rowDate, type, shardDate, dataType, dateField, new String(biased.getExpression()));
    
    // the colf is the type (e.g. LOAD or ACTIVITY)
    
    // the colq is the event date yyyyMMdd \0 the datatype \0 the field name
    String colq = shardDate + '\0' + dataType + '\0' + dateField;
    
    // the value is a bitset denoting the shard
    Value shardList = createDateIndexValue(ShardIdFactory.getShard(shardId));
    
    // create the key
    Key key = new Key(row, type, colq, biased, date.getTime());
    
    if (log.isTraceEnabled()) {
        log.trace("Dateate index key: " + key + " for shardId " + shardId);
    }
    
    return new KeyValue(key, shardList);
}
 
源代码20 项目: sep4j   文件: SepShowcases.java
/**
 * if the cell is of String type
 * 
 * @param birthDayString
 * @throws ParseException
 */
public void setBirthDay(String birthDayString) throws ParseException {
	if (birthDayString == null) {
		return;
	}
	birthDay = DateUtils.parseDate(birthDayString,
			new String[] { "yyyy-MM-dd" });
}
 
源代码21 项目: Eagle   文件: DefaultDeduplicator.java
public AlertDeduplicationStatus checkDedup(EntityTagsUniq key){
	long current = key.timestamp;
	if(!entites.containsKey(key)){
		entites.put(key, current);
		return AlertDeduplicationStatus.NEW;
	}
	
	long last = entites.get(key);
	if(current - last >= dedupIntervalMin * DateUtils.MILLIS_PER_MINUTE){
		entites.put(key, current);
		return AlertDeduplicationStatus.DUPLICATED;
	}
	
	return AlertDeduplicationStatus.IGNORED;
}
 
源代码22 项目: datawave   文件: ShardedTableMapFileTest.java
private SortedMap<Text,String> simulateMissingSplitsForDay(int daysAgo, String tableName) throws IOException {
    // start with a well distributed set of shards per day for 3 days
    SortedMap<Text,String> locations = createDistributedLocations(tableName);
    // for shards from "daysAgo", remove them
    String day = DateHelper.format(System.currentTimeMillis() - (daysAgo * DateUtils.MILLIS_PER_DAY));
    for (int currShard = 0; currShard < SHARDS_PER_DAY; currShard++) {
        locations.remove(new Text(day + "_" + currShard));
    }
    
    return locations;
}
 
源代码23 项目: kfs   文件: CustomerInvoiceDocumentServiceImpl.java
/**
 * get the date before the given amount of days
 */
protected Date getPastDate(Integer amount){
    Integer pastDateAmount = -1 * amount;

    java.util.Date today = this.getDateTimeService().getCurrentDate();
    java.util.Date pastDate = DateUtils.addDays(today, pastDateAmount);

    return KfsDateUtils.convertToSqlDate(pastDate);
}
 
源代码24 项目: datawave   文件: TestShardGenerator.java
private Map<Text,String> simulateTabletAssignments(String[] tableNames) {
    Map<Text,String> locations = new TreeMap<>();
    long now = System.currentTimeMillis();
    
    HashSet<String> alreadyUsed = new HashSet<>();
    int daysInGroup = 1;
    for (int daysAgo = -2; daysAgo < numDays - 1; daysAgo++) {
        if (daysInGroup % daysWithoutCollisions == 0) {
            alreadyUsed = new HashSet<>();
        }
        daysInGroup++;
        String today = DateHelper.format(now - (daysAgo * DateUtils.MILLIS_PER_DAY));
        
        for (int currShard = 1; currShard < shardsPerDay; currShard++) {
            // don't assign the same tserver to two shards within one day
            String tserver = getAnotherRandomTserver();
            while (alreadyUsed.contains(tserver)) {
                tserver = getAnotherRandomTserver();
            }
            alreadyUsed.add(tserver);
            for (String tableName : tableNames) {
                locations.put(new Text(today + "_" + currShard), tserver);
            }
        }
    }
    return locations;
}
 
源代码25 项目: usergrid   文件: ESSuiteTest.java
private static void setupCommits( Injector injector ) throws Exception {

        // Commits shouldn't have the same createDate b/c of issues with sorting them
        Date now = new Date();

        commitDao = injector.getInstance( CommitDao.class );
        Commit commit = new BasicCommit(
                COMMIT_ID_1, // commitId
                MODULE_ID_1, // moduleId
                "742e2a76a6ba161f9efb87ce58a9187e", // warMD5
                now, // createDate
                "/some/dummy/path"
        );
        commitDao.save( commit );

        commit = new BasicCommit(
                COMMIT_ID_2, // commitId
                MODULE_ID_2, // moduleId
                "395cfdfc3b77242a6f957d6d92da8958", // warMD5
                DateUtils.addMinutes( now, 1 ), // createDate
                "/some/dummy/path"
        );
        commitDao.save( commit );

        commit = new BasicCommit(
                COMMIT_ID_3, // commitId
                MODULE_ID_2, // moduleId
                "b9860ffa5e39b6f7123ed8c72c4b7046", // warMD5
                DateUtils.addMinutes( now, 2 ), // createDate
                "/some/dummy/path"
        );
        commitDao.save( commit );
    }
 
源代码26 项目: datawave   文件: ShardTableQueryMetricHandler.java
@Override
public QueryMetricsSummaryResponse getTotalQueriesSummaryCounts(Date begin, Date end, DatawavePrincipal datawavePrincipal) {
    QueryMetricsSummaryResponse response = new QueryMetricsSummaryResponse();
    
    try {
        enableLogs(false);
        // this method is open to any user
        datawavePrincipal = callerPrincipal;
        
        Collection<? extends Collection<String>> authorizations = datawavePrincipal.getAuthorizations();
        QueryImpl query = new QueryImpl();
        query.setBeginDate(begin);
        query.setEndDate(end);
        query.setQueryLogicName(QUERY_METRICS_LOGIC_NAME);
        query.setQuery("USER > 'A' && USER < 'ZZZZZZZ'");
        query.setQueryName(QUERY_METRICS_LOGIC_NAME);
        query.setColumnVisibility(visibilityString);
        query.setQueryAuthorizations(AuthorizationsUtil.buildAuthorizationString(authorizations));
        query.setExpirationDate(DateUtils.addDays(new Date(), 1));
        query.setPagesize(1000);
        query.setUserDN(datawavePrincipal.getShortName());
        query.setId(UUID.randomUUID());
        query.setParameters(ImmutableMap.of(QueryOptions.INCLUDE_GROUPING_CONTEXT, "true"));
        
        List<QueryMetric> queryMetrics = getQueryMetrics(response, query, datawavePrincipal);
        response = processQueryMetricsSummary(queryMetrics);
    } catch (IOException e) {
        log.error(e.getMessage(), e);
    } finally {
        enableLogs(true);
    }
    
    return response;
}
 
源代码27 项目: datawave   文件: ShardTableQueryMetricHandler.java
@Override
public QueryMetricsSummaryHtmlResponse getTotalQueriesSummary(Date begin, Date end, DatawavePrincipal datawavePrincipal) {
    QueryMetricsSummaryHtmlResponse response = new QueryMetricsSummaryHtmlResponse();
    
    try {
        enableLogs(false);
        enableLogs(true);
        // this method is open to any user
        datawavePrincipal = callerPrincipal;
        
        Collection<? extends Collection<String>> authorizations = datawavePrincipal.getAuthorizations();
        QueryImpl query = new QueryImpl();
        query.setBeginDate(begin);
        query.setEndDate(end);
        query.setQueryLogicName(QUERY_METRICS_LOGIC_NAME);
        query.setQuery("USER > 'A' && USER < 'ZZZZZZZ'");
        query.setQueryName(QUERY_METRICS_LOGIC_NAME);
        query.setColumnVisibility(visibilityString);
        query.setQueryAuthorizations(AuthorizationsUtil.buildAuthorizationString(authorizations));
        query.setExpirationDate(DateUtils.addDays(new Date(), 1));
        query.setPagesize(1000);
        query.setUserDN(datawavePrincipal.getShortName());
        query.setId(UUID.randomUUID());
        query.setParameters(ImmutableMap.of(QueryOptions.INCLUDE_GROUPING_CONTEXT, "true"));
        
        List<QueryMetric> queryMetrics = getQueryMetrics(response, query, datawavePrincipal);
        response = processQueryMetricsHtmlSummary(queryMetrics);
    } catch (IOException e) {
        log.error(e.getMessage(), e);
    } finally {
        enableLogs(true);
    }
    
    return response;
}
 
源代码28 项目: datawave   文件: DiscoveryLogic.java
public static BatchScanner configureBatchScannerForDiscovery(DiscoveryQueryConfiguration config, ScannerFactory scannerFactory, String tableName,
                Collection<Range> seekRanges, Set<Text> columnFamilies, Multimap<String,String> literals, Multimap<String,String> patterns,
                Multimap<String,LiteralRange<String>> ranges, boolean reverseIndex) throws TableNotFoundException {
    
    // if we have no ranges, then nothing to scan
    if (seekRanges.isEmpty()) {
        return null;
    }
    
    BatchScanner bs = scannerFactory.newScanner(tableName, config.getAuthorizations(), config.getNumQueryThreads(), config.getQuery());
    bs.setRanges(seekRanges);
    if (!columnFamilies.isEmpty()) {
        for (Text family : columnFamilies) {
            bs.fetchColumnFamily(family);
        }
    }
    
    // The begin date from the query may be down to the second, for doing lookups in the index we want to use the day because
    // the times in the index table have been truncated to the day.
    Date begin = DateUtils.truncate(config.getBeginDate(), Calendar.DAY_OF_MONTH);
    // we don't need to bump up the end date any more because it's not apart of the range set on the scanner
    Date end = config.getEndDate();
    
    LongRange dateRange = new LongRange(begin.getTime(), end.getTime());
    
    ShardIndexQueryTableStaticMethods.configureGlobalIndexDateRangeFilter(config, bs, dateRange);
    ShardIndexQueryTableStaticMethods.configureGlobalIndexDataTypeFilter(config, bs, config.getDatatypeFilter());
    
    configureIndexMatchingIterator(config, bs, literals, patterns, ranges, reverseIndex);
    
    IteratorSetting discoveryIteratorSetting = new IteratorSetting(config.getBaseIteratorPriority() + 50, DiscoveryIterator.class);
    discoveryIteratorSetting.addOption(REVERSE_INDEX, Boolean.toString(reverseIndex));
    discoveryIteratorSetting.addOption(SEPARATE_COUNTS_BY_COLVIS, config.getSeparateCountsByColVis().toString());
    if (config.getShowReferenceCount()) {
        discoveryIteratorSetting.addOption(SHOW_REFERENCE_COUNT, config.getShowReferenceCount().toString());
    }
    bs.addScanIterator(discoveryIteratorSetting);
    
    return bs;
}
 
源代码29 项目: smarthome   文件: DateTimeUtils.java
private static Calendar adjustTime(Calendar cal, int minutes) {
    if (minutes > 0) {
        Calendar cTime = Calendar.getInstance();
        cTime = DateUtils.truncate(cal, Calendar.DAY_OF_MONTH);
        cTime.add(Calendar.MINUTE, minutes);
        return cTime;
    }
    return cal;
}
 
源代码30 项目: datawave   文件: ShardIndexQueryTable.java
public static BatchScanner configureBatchScannerForDiscovery(ShardQueryConfiguration config, ScannerFactory scannerFactory, String tableName,
                Collection<Range> ranges, Collection<String> literals, Collection<String> patterns, boolean reverseIndex, boolean uniqueTermsOnly,
                Collection<String> expansionFields) throws TableNotFoundException {
    
    // if we have no ranges, then nothing to scan
    if (ranges.isEmpty()) {
        return null;
    }
    
    BatchScanner bs = scannerFactory.newScanner(tableName, config.getAuthorizations(), config.getNumQueryThreads(), config.getQuery());
    
    bs.setRanges(ranges);
    
    // The begin date from the query may be down to the second, for doing lookups in the index we want to use the day because
    // the times in the index table have been truncated to the day.
    Date begin = DateUtils.truncate(config.getBeginDate(), Calendar.DAY_OF_MONTH);
    // we don't need to bump up the end date any more because it's not apart of the range set on the scanner
    Date end = config.getEndDate();
    
    LongRange dateRange = new LongRange(begin.getTime(), end.getTime());
    
    ShardIndexQueryTableStaticMethods.configureGlobalIndexDateRangeFilter(config, bs, dateRange);
    ShardIndexQueryTableStaticMethods.configureGlobalIndexDataTypeFilter(config, bs, config.getDatatypeFilter());
    
    ShardIndexQueryTableStaticMethods.configureGlobalIndexTermMatchingIterator(config, bs, literals, patterns, reverseIndex, uniqueTermsOnly,
                    expansionFields);
    
    bs.addScanIterator(new IteratorSetting(config.getBaseIteratorPriority() + 50, DiscoveryIterator.class));
    
    return bs;
}
 
 类所在包
 同包方法