List of usage examples for org.joda.time DateTime parse
public static DateTime parse(String str, DateTimeFormatter formatter)
From source file:io.github.blindio.prospero.core.utils.JodaDateTimeWrapper.java
License:Apache License
public static JodaDateTimeWrapper parseDateString(String dateString) { return new JodaDateTimeWrapper(DateTime.parse(dateString, dateTimeFormat).withTimeAtStartOfDay()); }
From source file:io.github.blindio.prospero.core.utils.JodaDateTimeWrapper.java
License:Apache License
public static JodaDateTimeWrapper parseYMDDateString(String ymdDateString) { return new JodaDateTimeWrapper(DateTime.parse(ymdDateString, formatYMD).withTimeAtStartOfDay()); }
From source file:io.github.blindio.prospero.core.utils.JodaDateTimeWrapper.java
License:Apache License
public static JodaDateTimeWrapper parseMDYDateString(String mdyDateString) { return new JodaDateTimeWrapper(DateTime.parse(mdyDateString, formatMDY).withTimeAtStartOfDay()); }
From source file:io.github.blindio.prospero.core.utils.JodaDateTimeWrapper.java
License:Apache License
public JodaDateTimeWrapper withTimeString(String timeString) { DateTime newTime = DateTime.parse(timeString, formatTime); return this.withTime(newTime.getHourOfDay(), newTime.getMinuteOfHour()); }
From source file:io.jawg.osmcontributor.rest.mappers.JodaTimeDateTimeDeserializer.java
License:Open Source License
@Override public DateTime deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { DateTime dateTime = null;/*from w w w.j a v a2 s .c om*/ if (!json.isJsonNull()) { try { dateTime = DateTime.parse(json.getAsString(), ISODateTimeFormat.dateTime()); } catch (Exception e) { Timber.e(e, "Joda-Time DateTime Transform failed."); throw new JsonParseException(e); } } return dateTime; }
From source file:io.terminus.snz.user.service.SupplierInfoChangedServiceImpl.java
@Override public SupplierUpdatedInfoDto<CompanyDto> getNewBaseCompany(Long userId, Company oldCompany, List<CompanyMainBusiness> oldMainBusinesses, List<CompanySupplyPark> oldSupplyParks) { SupplierUpdatedInfoDto<CompanyDto> supplierUpdatedInfoDto = new SupplierUpdatedInfoDto<CompanyDto>(); CompanyDto companyDto = new CompanyDto(); Map<String, Object> oldValues = Maps.newHashMap(); boolean baseCompanyInfoChanged = supplierChangedInfoRedisDao.tabInfoChanged(userId, ChangedInfoKeys.companyTab()); if (!baseCompanyInfoChanged) { companyDto.setCompany(oldCompany); companyDto.setCompanyMainBusinesses(oldMainBusinesses); companyDto.setCompanySupplyParks(oldSupplyParks); supplierUpdatedInfoDto.setSupplierInfo(companyDto); supplierUpdatedInfoDto.setOldValues(oldValues); return supplierUpdatedInfoDto; }/*from w w w. jav a2 s . c o m*/ Map<String, String> changedInfo = supplierChangedInfoRedisDao.getChangedInfos(userId); Company newCompany = new Company(); BeanMapper.copy(oldCompany, newCompany); if (changedInfo.containsKey(ChangedInfoKeys.companyCorporation())) { newCompany.setCorporation(changedInfo.get(ChangedInfoKeys.companyCorporation())); oldValues.put(ChangedInfoKeys.companyCorporation(), oldCompany.getCorporation()); } if (changedInfo.containsKey(ChangedInfoKeys.companyInitAgent())) { newCompany.setInitAgent(changedInfo.get(ChangedInfoKeys.companyInitAgent())); oldValues.put(ChangedInfoKeys.companyInitAgent(), oldCompany.getInitAgent()); } if (changedInfo.containsKey(ChangedInfoKeys.companyRegCountry())) { String regCountry = changedInfo.get(ChangedInfoKeys.companyRegCountry()); newCompany.setRegCountry("null".equals(regCountry) ? null : Integer.parseInt(regCountry)); oldValues.put(ChangedInfoKeys.companyRegCountry(), oldCompany.getRegCountry()); } if (changedInfo.containsKey(ChangedInfoKeys.companyDesc())) { newCompany.setDesc(changedInfo.get(ChangedInfoKeys.companyDesc())); oldValues.put(ChangedInfoKeys.companyDesc(), oldCompany.getDesc()); } //V????? if (!Strings.isNullOrEmpty(oldCompany.getSupplierCode())) { if (changedInfo.containsKey(ChangedInfoKeys.companyGroupName())) { newCompany.setGroupName(changedInfo.get(ChangedInfoKeys.companyGroupName())); oldValues.put(ChangedInfoKeys.companyGroupName(), oldCompany.getGroupName()); } if (changedInfo.containsKey(ChangedInfoKeys.companyGroupAddr())) { newCompany.setGroupAddr(changedInfo.get(ChangedInfoKeys.companyGroupAddr())); oldValues.put(ChangedInfoKeys.companyGroupAddr(), oldCompany.getGroupAddr()); } if (changedInfo.containsKey(ChangedInfoKeys.companyRegCapical())) { String regCapital = changedInfo.get(ChangedInfoKeys.companyRegCapical()); newCompany.setRegCapital("null".equals(regCapital) ? null : Long.parseLong(regCapital)); oldValues.put(ChangedInfoKeys.companyRegCapical(), oldCompany.getRegCapital()); } if (changedInfo.containsKey(ChangedInfoKeys.companyRcCoinType())) { String reCoinType = changedInfo.get(ChangedInfoKeys.companyRcCoinType()); newCompany.setRcCoinType("null".equals(reCoinType) ? null : Integer.parseInt(reCoinType)); oldValues.put(ChangedInfoKeys.companyRcCoinType(), oldCompany.getRcCoinType()); } if (changedInfo.containsKey(ChangedInfoKeys.companyPersonScale())) { newCompany.setPersonScale(changedInfo.get(ChangedInfoKeys.companyPersonScale())); oldValues.put(ChangedInfoKeys.companyPersonScale(), oldCompany.getPersonScale()); } if (changedInfo.containsKey(ChangedInfoKeys.companyRegProvince())) { String regProvince = changedInfo.get(ChangedInfoKeys.companyRegProvince()); newCompany.setRegProvince("null".equals(regProvince) ? null : Integer.parseInt(regProvince)); oldValues.put(ChangedInfoKeys.companyRegProvince(), oldCompany.getRegProvince()); } if (changedInfo.containsKey(ChangedInfoKeys.companyRegCity())) { String regCity = changedInfo.get(ChangedInfoKeys.companyRegCity()); newCompany.setRegCity("null".equals(regCity) ? null : Integer.parseInt(regCity)); oldValues.put(ChangedInfoKeys.companyRegCity(), oldCompany.getRegCity()); } if (changedInfo.containsKey(ChangedInfoKeys.companyFixedAssets())) { String fixedAssets = changedInfo.get(ChangedInfoKeys.companyFixedAssets()); newCompany.setFixedAssets("null".equals(fixedAssets) ? null : Long.parseLong(fixedAssets)); oldValues.put(ChangedInfoKeys.companyFixedAssets(), oldCompany.getFixedAssets()); } if (changedInfo.containsKey(ChangedInfoKeys.companyFaCoinType())) { String faCoinType = changedInfo.get(ChangedInfoKeys.companyFaCoinType()); newCompany.setFaCoinType("null".equals(faCoinType) ? null : Integer.parseInt(faCoinType)); oldValues.put(ChangedInfoKeys.companyFaCoinType(), oldCompany.getFaCoinType()); } if (changedInfo.containsKey(ChangedInfoKeys.companyFoundAt())) { String foundAt = changedInfo.get(ChangedInfoKeys.companyFoundAt()); newCompany.setFoundAt(DateTime.parse(foundAt, FORMATTER).toDate()); oldValues.put(ChangedInfoKeys.companyFoundAt(), oldCompany.getFoundAt()); } if (changedInfo.containsKey(ChangedInfoKeys.companyOfficialWebSite())) { newCompany.setOfficialWebsite(changedInfo.get(ChangedInfoKeys.companyOfficialWebSite())); oldValues.put(ChangedInfoKeys.companyOfficialWebSite(), oldCompany.getOfficialWebsite()); } if (changedInfo.containsKey(ChangedInfoKeys.companyNature())) { String nature = changedInfo.get(ChangedInfoKeys.companyNature()); newCompany.setNature("null".equals(nature) ? null : Integer.parseInt(nature)); oldValues.put(ChangedInfoKeys.companyNature(), oldCompany.getNature()); } if (changedInfo.containsKey(ChangedInfoKeys.companyWorldTop())) { String worldTop = changedInfo.get(ChangedInfoKeys.companyWorldTop()); newCompany.setWorldTop("null".equals(worldTop) ? null : Integer.parseInt(worldTop)); oldValues.put(ChangedInfoKeys.companyWorldTop(), oldCompany.getWorldTop()); } if (changedInfo.containsKey(ChangedInfoKeys.companyListedStatus())) { String listedStatus = changedInfo.get(ChangedInfoKeys.companyListedStatus()); newCompany.setListedStatus("null".equals(listedStatus) ? null : Integer.parseInt(listedStatus)); oldValues.put(ChangedInfoKeys.companyListedStatus(), oldCompany.getListedStatus()); } if (changedInfo.containsKey(ChangedInfoKeys.companyListedRegion())) { newCompany.setListedRegion(changedInfo.get(ChangedInfoKeys.companyListedRegion())); oldValues.put(ChangedInfoKeys.companyListedRegion(), oldCompany.getListedRegion()); } if (changedInfo.containsKey(ChangedInfoKeys.companyTicker())) { newCompany.setTicker(changedInfo.get(ChangedInfoKeys.companyTicker())); oldValues.put(ChangedInfoKeys.companyTicker(), oldCompany.getTicker()); } } companyDto.setCompany(newCompany); if (changedInfo.containsKey(ChangedInfoKeys.companyMainBusiness())) { String mainBusinessesJson = changedInfo.get(ChangedInfoKeys.companyMainBusiness()); JavaType javaType = JsonMapper.JSON_NON_EMPTY_MAPPER.createCollectionType(List.class, CompanyMainBusiness.class); List<CompanyMainBusiness> updatedMainBusinesses = JsonMapper.JSON_NON_EMPTY_MAPPER .fromJson(mainBusinessesJson, javaType); companyDto.setCompanyMainBusinesses(updatedMainBusinesses); oldValues.put(ChangedInfoKeys.companyMainBusiness(), oldMainBusinesses); } else { companyDto.setCompanyMainBusinesses(oldMainBusinesses); } if (changedInfo.containsKey(ChangedInfoKeys.companySupplyPark())) { String supplyParkJson = changedInfo.get(ChangedInfoKeys.companySupplyPark()); JavaType javaType = JsonMapper.JSON_NON_EMPTY_MAPPER.createCollectionType(List.class, CompanySupplyPark.class); List<CompanySupplyPark> updatedSupplyParks = JsonMapper.JSON_NON_EMPTY_MAPPER.fromJson(supplyParkJson, javaType); companyDto.setCompanySupplyParks(updatedSupplyParks); oldValues.put(ChangedInfoKeys.companySupplyPark(), oldSupplyParks); } else { companyDto.setCompanySupplyParks(oldSupplyParks); } supplierUpdatedInfoDto.setSupplierInfo(companyDto); supplierUpdatedInfoDto.setOldValues(oldValues); return supplierUpdatedInfoDto; }
From source file:io.terminus.snz.user.service.SupplierInfoChangedServiceImpl.java
@Override public SupplierUpdatedInfoDto<PaperworkDto> getNewPaperwork(Long userId, Company oldPaperwork) { SupplierUpdatedInfoDto<PaperworkDto> supplierUpdatedInfoDto = new SupplierUpdatedInfoDto<PaperworkDto>(); PaperworkDto paperworkDto = new PaperworkDto(); Map<String, Object> oldValues = Maps.newHashMap(); BeanMapper.copy(oldPaperwork, paperworkDto); boolean paperworkChanged = supplierChangedInfoRedisDao.tabInfoChanged(userId, ChangedInfoKeys.paperworkTab()); if (!paperworkChanged) { supplierUpdatedInfoDto.setSupplierInfo(paperworkDto); supplierUpdatedInfoDto.setOldValues(oldValues); return supplierUpdatedInfoDto; }/*w w w. ja v a 2 s . co m*/ Map<String, String> changedInfo = supplierChangedInfoRedisDao.getChangedInfos(userId); if (changedInfo.containsKey(ChangedInfoKeys.companyBusinessLicense())) { paperworkDto.setBusinessLicense(changedInfo.get(ChangedInfoKeys.companyBusinessLicense())); oldValues.put(ChangedInfoKeys.companyBusinessLicense(), oldPaperwork.getBusinessLicense()); } if (changedInfo.containsKey(ChangedInfoKeys.companyBusinessLicenseId())) { paperworkDto.setBusinessLicenseId(changedInfo.get(ChangedInfoKeys.companyBusinessLicenseId())); oldValues.put(ChangedInfoKeys.companyBusinessLicenseId(), oldPaperwork.getBusinessLicenseId()); } if (changedInfo.containsKey(ChangedInfoKeys.companyBusinessLicenseDate())) { String blDate = changedInfo.get(ChangedInfoKeys.companyBusinessLicenseDate()); paperworkDto.setBlDate(DateTime.parse(blDate, FORMATTER).toDate()); oldValues.put(ChangedInfoKeys.companyBusinessLicenseDate(), oldPaperwork.getBlDate()); } if (changedInfo.containsKey(ChangedInfoKeys.companyTaxNo())) { paperworkDto.setTaxNo(changedInfo.get(ChangedInfoKeys.companyTaxNo())); oldValues.put(ChangedInfoKeys.companyTaxNo(), oldPaperwork.getTaxNo()); } if (changedInfo.containsKey(ChangedInfoKeys.companyTaxNoId())) { paperworkDto.setTaxNoId(changedInfo.get(ChangedInfoKeys.companyTaxNoId())); oldValues.put(ChangedInfoKeys.companyTaxNoId(), oldPaperwork.getTaxNoId()); } if (changedInfo.containsKey(ChangedInfoKeys.companyOrgCert())) { paperworkDto.setOrgCert(changedInfo.get(ChangedInfoKeys.companyOrgCert())); oldValues.put(ChangedInfoKeys.companyOrgCert(), oldPaperwork.getOrgCert()); } if (changedInfo.containsKey(ChangedInfoKeys.companyOrgCertId())) { paperworkDto.setOrgCertId(changedInfo.get(ChangedInfoKeys.companyOrgCertId())); oldValues.put(ChangedInfoKeys.companyOrgCertId(), oldPaperwork.getOrgCertId()); } if (changedInfo.containsKey(ChangedInfoKeys.companyOrgCertDate())) { String ocDate = changedInfo.get(ChangedInfoKeys.companyOrgCertDate()); paperworkDto.setOcDate(DateTime.parse(ocDate, FORMATTER).toDate()); oldValues.put(ChangedInfoKeys.companyOrgCertDate(), oldPaperwork.getOcDate()); } supplierUpdatedInfoDto.setSupplierInfo(paperworkDto); supplierUpdatedInfoDto.setOldValues(oldValues); return supplierUpdatedInfoDto; }
From source file:io.terminus.snz.user.service.SupplierInfoChangedServiceImpl.java
@Override public SupplierUpdatedInfoDto<CompanyExtraQuality> getNewCompanyExtraQuality(Long userId, CompanyExtraQuality oldCompanyExtraQuality) { SupplierUpdatedInfoDto<CompanyExtraQuality> supplierUpdatedInfoDto = new SupplierUpdatedInfoDto<CompanyExtraQuality>(); Map<String, Object> oldValues = Maps.newHashMap(); boolean qualityChanged = supplierChangedInfoRedisDao.tabInfoChanged(userId, ChangedInfoKeys.qualityTab()); if (!qualityChanged) { supplierUpdatedInfoDto.setSupplierInfo(oldCompanyExtraQuality); supplierUpdatedInfoDto.setOldValues(oldValues); return supplierUpdatedInfoDto; }// ww w . j a v a2 s. com Map<String, String> changedInfo = supplierChangedInfoRedisDao.getChangedInfos(userId); CompanyExtraQuality newCompanyExtraQuality = new CompanyExtraQuality(); BeanMapper.copy(oldCompanyExtraQuality, newCompanyExtraQuality); if (changedInfo.containsKey(ChangedInfoKeys.qualityRohsId())) { newCompanyExtraQuality.setRohsId(changedInfo.get(ChangedInfoKeys.qualityRohsId())); oldValues.put(ChangedInfoKeys.qualityRohsId(), oldCompanyExtraQuality.getRohsId()); } if (changedInfo.containsKey(ChangedInfoKeys.qualityRohsAttachUrl())) { newCompanyExtraQuality.setRohsAttachUrl(changedInfo.get(ChangedInfoKeys.qualityRohsAttachUrl())); oldValues.put(ChangedInfoKeys.qualityRohsAttachUrl(), oldCompanyExtraQuality.getRohsAttachUrl()); } if (changedInfo.containsKey(ChangedInfoKeys.qualityRohsValidDate())) { String rohsValidDate = changedInfo.get(ChangedInfoKeys.qualityRohsValidDate()); newCompanyExtraQuality.setRohsValidDate(DateTime.parse(rohsValidDate, FORMATTER).toDate()); oldValues.put(ChangedInfoKeys.qualityRohsValidDate(), oldCompanyExtraQuality.getRohsValidDate()); } if (changedInfo.containsKey(ChangedInfoKeys.qualityISO9001Id())) { newCompanyExtraQuality.setIso9001Id(changedInfo.get(ChangedInfoKeys.qualityISO9001Id())); oldValues.put(ChangedInfoKeys.qualityISO9001Id(), oldCompanyExtraQuality.getIso9001Id()); } if (changedInfo.containsKey(ChangedInfoKeys.qualityISO9001AttachUrl())) { newCompanyExtraQuality.setIso9001AttachUrl(changedInfo.get(ChangedInfoKeys.qualityISO9001AttachUrl())); oldValues.put(ChangedInfoKeys.qualityISO9001AttachUrl(), oldCompanyExtraQuality.getIso9001AttachUrl()); } if (changedInfo.containsKey(ChangedInfoKeys.qualityISO9001ValidDate())) { String iso900ValidDate = changedInfo.get(ChangedInfoKeys.qualityISO9001ValidDate()); newCompanyExtraQuality.setIso9001ValidDate(DateTime.parse(iso900ValidDate, FORMATTER).toDate()); oldValues.put(ChangedInfoKeys.qualityISO9001ValidDate(), oldCompanyExtraQuality.getIso9001ValidDate()); } if (changedInfo.containsKey(ChangedInfoKeys.qualityISO14001Id())) { newCompanyExtraQuality.setIso14001Id(changedInfo.get(ChangedInfoKeys.qualityISO14001Id())); oldValues.put(ChangedInfoKeys.qualityISO14001Id(), oldCompanyExtraQuality.getIso14001Id()); } if (changedInfo.containsKey(ChangedInfoKeys.qualityISO14001AttachUrl())) { newCompanyExtraQuality .setIso14001AttachUrl(changedInfo.get(ChangedInfoKeys.qualityISO14001AttachUrl())); oldValues.put(ChangedInfoKeys.qualityISO14001AttachUrl(), oldCompanyExtraQuality.getIso14001AttachUrl()); } if (changedInfo.containsKey(ChangedInfoKeys.qualityISO14001ValidDate())) { String iso1400ValidDate = changedInfo.get(ChangedInfoKeys.qualityISO14001ValidDate()); newCompanyExtraQuality.setIso14001ValidDate(DateTime.parse(iso1400ValidDate, FORMATTER).toDate()); oldValues.put(ChangedInfoKeys.qualityISO14001ValidDate(), oldCompanyExtraQuality.getIso14001ValidDate()); } if (changedInfo.containsKey(ChangedInfoKeys.qualityTS16949Id())) { newCompanyExtraQuality.setTs16949Id(changedInfo.get(ChangedInfoKeys.qualityTS16949Id())); oldValues.put(ChangedInfoKeys.qualityTS16949Id(), oldCompanyExtraQuality.getTs16949Id()); } if (changedInfo.containsKey(ChangedInfoKeys.qualityTS16949AttachUrl())) { newCompanyExtraQuality.setTs16949AttachUrl(changedInfo.get(ChangedInfoKeys.qualityTS16949AttachUrl())); oldValues.put(ChangedInfoKeys.qualityTS16949AttachUrl(), oldCompanyExtraQuality.getTs16949AttachUrl()); } if (changedInfo.containsKey(ChangedInfoKeys.qualityTS16949ValidDate())) { String ts16949ValidDate = changedInfo.get(ChangedInfoKeys.qualityTS16949ValidDate()); newCompanyExtraQuality.setTs16949ValidDate(DateTime.parse(ts16949ValidDate, FORMATTER).toDate()); oldValues.put(ChangedInfoKeys.qualityTS16949ValidDate(), oldCompanyExtraQuality.getTs16949ValidDate()); } supplierUpdatedInfoDto.setSupplierInfo(newCompanyExtraQuality); supplierUpdatedInfoDto.setOldValues(oldValues); return supplierUpdatedInfoDto; }
From source file:it.d4nguard.rgrpg.util.dynacast.adapters.DateTimeAdapter.java
License:Open Source License
/** * {@inheritDoc}//from w ww.j av a 2s . c o m */ @Override public ReadableInstant adapt(String value) { // value is a string formatted as: "07/04/1987[dd/MM/yyyy]" String date = ""; DateTimeFormatter fmt; Triplet<String, String, String> tri = StringUtils.getBetween(value, '[', ']'); date = tri.getLeft(); if (tri.hasCenter()) fmt = DateTimeFormat.forPattern(tri.getCenter()); else fmt = ISODateTimeFormat.localDateOptionalTimeParser(); fmt = fmt.withLocale(Locale.getDefault()); if (getType().equals(DateTime.class)) return DateTime.parse(date, fmt); else if (getType().equals(DateMidnight.class)) return DateMidnight.parse(date, fmt); else if (getType().equals(Instant.class)) return Instant.parse(date, fmt); else if (getType().equals(MutableDateTime.class)) return MutableDateTime.parse(date, fmt); else throw new UnsupportedOperationException("type"); }
From source file:main.java.robot.GUIModeChartTypes.java
License:Open Source License
public void startStrategy() throws Exception { //get the instance of the IClient interface final ITesterClient client = TesterFactory.getDefaultInstance(); //set the listener that will receive system events client.setSystemListener(new ISystemListener() { @Override//from ww w .j ava2 s . c o m public void onStart(long processId) { LOGGER.info("Strategy started: " + processId); updateButtons(); try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } } @Override public void onStop(long processId) { LOGGER.info("Strategy stopped: " + processId); resetButtons(); File reportFile = new File("C:\\report.html"); try { client.createReport(processId, reportFile); } catch (Exception e) { LOGGER.error(e.getMessage(), e); } if (client.getStartedStrategies().size() == 0) { //Do nothing } } @Override public void onConnect() { LOGGER.info("Connected"); } @Override public void onDisconnect() { //tester doesn't disconnect } }); DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm"); DateTime from = DateTime.parse("2015-06-10 00:00", dtf); DateTime to = DateTime.parse("2015-06-10 11:00", dtf); client.setDataInterval(Period.TICK, OfferSide.BID, ITesterClient.InterpolationMethod.OPEN_TICK, from.getMillis(), to.getMillis()); LOGGER.info("Connecting..."); //connect to the server using jnlp, user name and password //connection is needed for data downloading client.connect(jnlpUrl, userName, password); //wait for it to connect int i = 10; //wait max ten seconds while (i > 0 && !client.isConnected()) { Thread.sleep(1000); i--; } if (!client.isConnected()) { LOGGER.error("Failed to connect Dukascopy servers"); System.exit(1); } //set instruments that will be used in testing final Set<Instrument> instruments = new HashSet<Instrument>(); instruments.add(Instrument.EURUSD); LOGGER.info("Subscribing instruments..."); client.setSubscribedInstruments(instruments); //setting initial deposit client.setInitialDeposit(Instrument.EURUSD.getSecondaryCurrency(), 50000); //load data LOGGER.info("Downloading data"); Future<?> future = client.downloadData(null); //wait for downloading to complete future.get(); //start the strategy LOGGER.info("Starting strategy"); client.startStrategy(new TooSimple(), new LoadingProgressListener() { @Override public void dataLoaded(long startTime, long endTime, long currentTime, String information) { LOGGER.info("dataLoaded " + information); } @Override public void loadingFinished(boolean allDataLoaded, long startTime, long endTime, long currentTime) { LOGGER.info("loadingFinished " + allDataLoaded); } @Override public boolean stopJob() { return false; } }, this, this); //now it's running //In the current implementation it takes prolonged time for some chart types to load (e.g. range bars, renko), //so we hold up execution for maximum 5 minutes till the chart gets loaded. //For quicker loading please manually decrease chart's horizontal scale - it gets printed every second. Runnable r2 = new Runnable() { public void run() { try { int waitTimeSecs = 300; LOGGER.info("Pause execution for max " + waitTimeSecs + " secs till chart gets loaded. " + "For quicker loading please decrease currentChart.getBarsCount() - manually decrease chart's horizontal scale."); executionControl.pauseExecution(); updateButtons(); long startTime = System.currentTimeMillis(); try { while ((currentChart == null || Math.abs(currentChart.priceMin(0)) < 0.00001) && System.currentTimeMillis() - startTime < waitTimeSecs * 1000) { if (currentChart != null) { int secsLeft = (int) (waitTimeSecs - (System.currentTimeMillis() - startTime) / 1000); LOGGER.info( String.format("Min price=%.5f, bar count on chart=%s, time left=%s secs", currentChart.priceMin(0), currentChart.getBarsCount(), secsLeft)); } Thread.sleep(1000); } } catch (Exception e2) { LOGGER.error(e2.getMessage(), e2); e2.printStackTrace(); } LOGGER.info("Chart loaded after " + ((System.currentTimeMillis() - startTime) / 1000) + " secs. Please press continue."); } catch (Exception e2) { LOGGER.error(e2.getMessage(), e2); e2.printStackTrace(); } } }; Thread t2 = new Thread(r2); t2.start(); }