private com.relteq.sirius.jaxb.Event restoreEvent(Events db_event) throws TorqueException { com.relteq.sirius.jaxb.Event event = factory.createEvent(); event.setId(id2str(db_event.getId())); event.setTstamp(db_event.getTstamp()); event.setEnabled(db_event.getEnabled()); event.setType(db_event.getType()); event.setJavaClass(db_event.getJavaClass()); event.setDescription(db_event.getDescription()); event.setDisplayPosition(restorePosition(db_event.getDisplayGeometry())); event.setTargetElements(restoreTargetElements(db_event)); event.setParameters(restoreParameters(db_event)); Criteria crit = new Criteria(); crit.addAscendingOrderByColumn(EventSplitRatiosPeer.IN_LINK_ID); crit.addAscendingOrderByColumn(EventSplitRatiosPeer.OUT_LINK_ID); crit.addAscendingOrderByColumn(EventSplitRatiosPeer.VEHICLE_TYPE_ID); @SuppressWarnings("unchecked") List<EventSplitRatios> db_esr_l = db_event.getEventSplitRatioss(crit); if (!db_esr_l.isEmpty()) { com.relteq.sirius.jaxb.SplitratioEvent srevent = factory.createSplitratioEvent(); com.relteq.sirius.jaxb.Splitratio sr = null; StringBuilder sb = new StringBuilder(); for (EventSplitRatios db_esr : db_esr_l) { if (null != sr && !(sr.getLinkIn().equals(id2str(db_esr.getInLinkId())) && sr.getLinkOut().equals(id2str(db_esr.getOutLinkId())))) { sr.setContent(sb.toString()); sb.setLength(0); srevent.getSplitratio().add(sr); sr = null; } if (null == sr) { sr = factory.createSplitratio(); sr.setLinkIn(id2str(db_esr.getInLinkId())); sr.setLinkOut(id2str(db_esr.getOutLinkId())); } else sb.append(':'); // TODO revise: check if there are missing vehicle types sb.append(db_esr.getSplitRatio().toPlainString()); } if (null != sr) { sr.setContent(sb.toString()); srevent.getSplitratio().add(sr); } event.setSplitratioEvent(srevent); } return event; }
private com.relteq.sirius.jaxb.SplitratioProfile restoreSplitRatioProfile( SplitRatioProfiles db_srp) throws TorqueException { com.relteq.sirius.jaxb.SplitratioProfile srp = factory.createSplitratioProfile(); srp.setNodeId(id2str(db_srp.getNodeId())); srp.setDt(db_srp.getDt()); srp.setStartTime(db_srp.getStartTime()); if (null != db_srp.getDestinationLinkId()) srp.setLinkIdDestination(id2str(db_srp.getDestinationLinkId())); Criteria crit = new Criteria(); crit.addAscendingOrderByColumn(SplitRatiosPeer.IN_LINK_ID); crit.addAscendingOrderByColumn(SplitRatiosPeer.OUT_LINK_ID); crit.addAscendingOrderByColumn(SplitRatiosPeer.ORDINAL); crit.addAscendingOrderByColumn(SplitRatiosPeer.VEHICLE_TYPE_ID); @SuppressWarnings("unchecked") List<SplitRatios> db_sr_l = db_srp.getSplitRatioss(crit); com.relteq.sirius.jaxb.Splitratio sr = null; Integer ordinal = null; StringBuilder sb = new StringBuilder(); for (SplitRatios db_sr : db_sr_l) { if (null != sr && !(sr.getLinkIn().equals(id2str(db_sr.getInLinkId())) && sr.getLinkOut().equals(id2str(db_sr.getOutLinkId())))) { sr.setContent(sb.toString()); srp.getSplitratio().add(sr); sr = null; } if (null == sr) { // new split ratio sr = factory.createSplitratio(); sr.setLinkIn(id2str(db_sr.getInLinkId())); sr.setLinkOut(id2str(db_sr.getOutLinkId())); sb.setLength(0); } else { // same split ratio, different time stamp (',') or vehicle type (':') sb.append(db_sr.getOrdinal().equals(ordinal) ? ':' : ','); } ordinal = db_sr.getOrdinal(); sb.append(db_sr.getSplitRatio().toPlainString()); } if (null != sr) { sr.setContent(sb.toString()); srp.getSplitratio().add(sr); } return srp; }
private com.relteq.sirius.jaxb.WeavingFactorSet restoreWeavingFactorSet( WeavingFactorSets db_wfset) throws TorqueException { if (null == db_wfset) return null; com.relteq.sirius.jaxb.WeavingFactorSet wfset = factory.createWeavingFactorSet(); wfset.setId(id2str(db_wfset.getId())); wfset.setName(db_wfset.getName()); wfset.setDescription(db_wfset.getDescription()); Criteria crit = new Criteria(); crit.addAscendingOrderByColumn(WeavingFactorsPeer.IN_LINK_ID); crit.addAscendingOrderByColumn(WeavingFactorsPeer.OUT_LINK_ID); crit.addAscendingOrderByColumn(WeavingFactorsPeer.VEHICLE_TYPE_ID); @SuppressWarnings("unchecked") List<WeavingFactors> db_wf_l = db_wfset.getWeavingFactorss(crit); com.relteq.sirius.jaxb.Weavingfactors wf = null; StringBuilder sb = new StringBuilder(); for (WeavingFactors db_wf : db_wf_l) { if (null != wf && !(wf.getLinkIn().equals(id2str(db_wf.getInLinkId())) && wf.getLinkOut().equals(id2str(db_wf.getOutLinkId())))) { wf.setContent(sb.toString()); wfset.getWeavingfactors().add(wf); wf = null; } if (null == wf) { // new weaving factor wf = factory.createWeavingfactors(); wf.setLinkIn(id2str(db_wf.getInLinkId())); wf.setLinkOut(id2str(db_wf.getOutLinkId())); sb.setLength(0); } else { // same weaving factor, different vehicle type // TODO delimiter = ':' or ','? sb.append(':'); } sb.append(db_wf.getFactor().toPlainString()); } if (null != wf) { wf.setContent(sb.toString()); wfset.getWeavingfactors().add(wf); } return wfset; }
private com.relteq.sirius.jaxb.InitialDensitySet restoreInitialDensitySet( InitialDensitySets db_idset) throws TorqueException { if (null == db_idset) return null; com.relteq.sirius.jaxb.InitialDensitySet idset = factory.createInitialDensitySet(); idset.setId(id2str(db_idset.getId())); idset.setName(db_idset.getName()); idset.setDescription(db_idset.getDescription()); Criteria crit = new Criteria(); crit.addAscendingOrderByColumn(InitialDensitiesPeer.LINK_ID); crit.addAscendingOrderByColumn(InitialDensitiesPeer.VEHICLE_TYPE_ID); @SuppressWarnings("unchecked") List<InitialDensities> db_idl = db_idset.getInitialDensitiess(crit); com.relteq.sirius.jaxb.Density density = null; StringBuilder sb = new StringBuilder(); for (InitialDensities db_id : db_idl) { if (null != density && !density.getLinkId().equals(id2str(db_id.getLinkId()))) { density.setContent(sb.toString()); idset.getDensity().add(density); density = null; } if (null == density) { // new link density = factory.createDensity(); density.setLinkId(id2str(db_id.getLinkId())); density.setLinkIdDestination(id2str(db_id.getDestinationLinkId())); sb.setLength(0); } else { // same link, different vehicle type sb.append(":"); } sb.append(db_id.getDensity().toPlainString()); } // last link if (null != density) { density.setContent(sb.toString()); idset.getDensity().add(density); } return idset; }