package com.nortal.jroad.client.teavituskalender; import javax.annotation.Resource; import org.apache.xmlbeans.XmlOptions; import org.springframework.stereotype.Service; import com.nortal.jroad.client.exception.XRoadServiceConsumptionException; import com.nortal.jroad.client.service.XRoadDatabaseService; import com.nortal.jroad.client.teavituskalender.database.TeavituskalenderXRoadDatabase; import com.nortal.jroad.client.teavituskalender.types.ee.riik.xtee.teavituskalender.producers.producer.teavituskalender.LisaSyndmusParing; import com.nortal.jroad.client.teavituskalender.types.ee.riik.xtee.teavituskalender.producers.producer.teavituskalender.LisaSyndmusVastus; import com.nortal.jroad.client.teavituskalender.types.ee.riik.xtee.teavituskalender.producers.producer.teavituskalender.LisaSyndmusParing.Lugejad; import com.nortal.jroad.client.teavituskalender.types.ee.riik.xtee.teavituskalender.producers.producer.teavituskalender.LisaSyndmusParing.Lugejad.Item; /** * @author Aleksandr.Koltakov */ @Service("teavituskalenderXTeeService") public class TeavituskalenderXTeeServiceImpl extends XRoadDatabaseService implements TeavituskalenderXTeeService { private static final String TYPE = "xsd:anyType[1]"; private static final String OFFSET = "[0]"; @Resource private TeavituskalenderXRoadDatabase teavituskalenderXRoadDatabase; public LisaSyndmusVastus lisaSyndmus(Syndmus syndmus) throws XRoadServiceConsumptionException { LisaSyndmusParing paring = LisaSyndmusParing.Factory.newInstance(); paring.setNahtavOmanikule(syndmus.isNahtavOmanikule()); paring.setKirjeldus(syndmus.getKirjeldus()); paring.setAegunudTeavitus(syndmus.getAegunudTeavitus()); paring.setAktiivneTeavitus(syndmus.getAktivineTeavitus()); paring.setTahtsus(syndmus.getTahtsus()); paring.setSyndmuseTyyp(syndmus.getSyndmuseTyyp()); paring.setLiik(syndmus.getLiik()); paring.setAlgus(Parser.parseDateTime(syndmus.getAlgus())); paring.setLopp(Parser.parseDateTime(syndmus.getLopp())); paring.setTeavitusAlgus(Parser.parseDate(syndmus.getTeavitusAlgus())); paring.setTeavitusLopp(Parser.parseDate(syndmus.getTeavitusLopp())); paring.setAegumine(Parser.parseDate(syndmus.getAegumine())); Item kasutaja = Item.Factory.newInstance(); kasutaja.setKasutajaTyyp(syndmus.getKasutajaTyyp()); kasutaja.setKood(syndmus.getIsikukood()); Item[] kasutajad = new Item[1]; kasutajad[0] = kasutaja; XmlOptions options = new XmlOptions(); Lugejad lugejad = Lugejad.Factory.newInstance(options); lugejad.addNewItem(); lugejad.setArrayType(TYPE); lugejad.setOffset(OFFSET); lugejad.setItemArray(kasutajad); paring.setLugejad(lugejad); return teavituskalenderXRoadDatabase.lisaSyndmusV1(paring); } public void setTeavituskalenderXRoadDatabase(TeavituskalenderXRoadDatabase teavituskalenderXRoadDatabase) { this.teavituskalenderXRoadDatabase = teavituskalenderXRoadDatabase; } }