package pl.edu.icm.saos.importer.commoncourt.judgment.download;
import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import pl.edu.icm.saos.importer.commoncourt.judgment.xml.SourceCcJudgment;
import pl.edu.icm.saos.importer.commoncourt.judgment.xml.SourceCcJudgmentMarshaller;
import pl.edu.icm.saos.persistence.model.importer.RawSourceCcJudgment;
/**
* @author Ćukasz Dumiszewski
*/
@Service("sourceCcjTextDataConverter")
class SourceCcjTextDataConverter {
private SourceCcJudgmentMarshaller ccJudgmentMarshaller;
public RawSourceCcJudgment convert(SourceCcJudgmentTextData ccjTextData) {
RawSourceCcJudgment rJudgment = new RawSourceCcJudgment();
rJudgment.setTextMetadata(ccjTextData.getMetadata());
rJudgment.setTextContent(ccjTextData.getContent());
rJudgment.setSourceUrl(ccjTextData.getMetadataSourceUrl());
rJudgment.setContentSourceUrl(ccjTextData.getContentSourceUrl());
SourceCcJudgment sourceCcJudgment = ccJudgmentMarshaller.unmarshal(ccjTextData.getMetadata());
rJudgment.setCaseNumber(sourceCcJudgment.getSignature());
rJudgment.setSourceId(sourceCcJudgment.getId());
rJudgment.setPublicationDate(sourceCcJudgment.getPublicationDate());
rJudgment.setDataMd5(DigestUtils.md5Hex(rJudgment.getTextMetadata() + rJudgment.getTextContent()));
return rJudgment;
}
//------------------------ SETTERS --------------------------
@Autowired
public void setCcJudgmentMarshaller(SourceCcJudgmentMarshaller ccJudgmentMarshaller) {
this.ccJudgmentMarshaller = ccJudgmentMarshaller;
}
}