Skip to content

Commit

Permalink
BUGS sul merge dei documenti con piu allegati
Browse files Browse the repository at this point in the history
  • Loading branch information
mspasiano committed Feb 3, 2016
1 parent c810670 commit 47b6a36
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 9 deletions.
Expand Up @@ -38,8 +38,10 @@
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.UUID;

import org.apache.chemistry.opencmis.client.api.Document;
Expand Down Expand Up @@ -231,16 +233,16 @@ protected void addSomethingToSelectedElements(ActionContext actioncontext, List<
protected void executeSign(ActionContext actioncontext, List<StatoTrasmissione> selectelElements, FirmaOTPBulk firmaOTPBulk) throws Exception{
String message = "";
for (Iterator<StatoTrasmissione> iterator = selectelElements.iterator(); iterator.hasNext();) {
try {
try {
StatoTrasmissione statoTrasmissione = iterator.next();
if (statoTrasmissione.getCd_tipo_documento_cont().equalsIgnoreCase(Numerazione_doc_contBulk.TIPO_MAN)){
CMISPath cmisPath = statoTrasmissione.getCMISPath(cmisService);
Folder folderMandato = (Folder) cmisService.getNodeByPath(cmisPath);
List<Rif_modalita_pagamentoBulk> result = Utility.createMandatoComponentSession().findModPagObbligatorieAssociateAlMandato(actioncontext.getUserContext(),
(V_mandato_reversaleBulk) statoTrasmissione);
List<Document> childs = new ArrayList<Document>();
Set<String> childs = new HashSet<String>();
for (Rif_modalita_pagamentoBulk rif_modalita_pagamentoBulk : result) {
List<Document> allegati = documentiContabiliService.getAllegatoForModPag(folderMandato, rif_modalita_pagamentoBulk.getCd_modalita_pag());
Set<String> allegati = documentiContabiliService.getAllegatoForModPag(folderMandato, rif_modalita_pagamentoBulk.getCd_modalita_pag());
if (allegati.isEmpty())
throw new ApplicationException("\nAl mandato n."+ statoTrasmissione.getPg_documento_cont()+ " non risulta allegato il documento con tipologia [" +
rif_modalita_pagamentoBulk.getDs_modalita_pag() + "]" +
Expand All @@ -253,8 +255,8 @@ protected void executeSign(ActionContext actioncontext, List<StatoTrasmissione>
ByteArrayOutputStream out = new ByteArrayOutputStream();
ut.setDestinationStream(out);
ut.addSource(documentiContabiliService.getStreamDocumento((V_mandato_reversaleBulk) statoTrasmissione));
for (Document document : childs) {
ut.addSource(document.getContentStream().getStream());
for (String documentId : childs) {
ut.addSource(((Document)documentiContabiliService.getNodeByNodeRef(documentId)).getContentStream().getStream());
}
try {
ut.mergeDocuments();
Expand Down
Expand Up @@ -14,12 +14,13 @@
import java.security.Principal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.apache.axiom.attachments.ByteArrayDataSource;
import org.apache.chemistry.opencmis.client.api.CmisObject;
import org.apache.chemistry.opencmis.client.api.Document;
import org.apache.chemistry.opencmis.client.api.Folder;
import org.apache.chemistry.opencmis.client.api.ItemIterable;
import org.apache.chemistry.opencmis.client.api.QueryResult;
Expand Down Expand Up @@ -216,11 +217,11 @@ public void inviaDistintaPEC(List<String> nodes, boolean isNoEuroOrSepa) throws
logger.debug("Inviata distinta PEC");
}

public List<Document> getAllegatoForModPag(Folder folderMandato, String modPag) {
List<Document> documents = new ArrayList<Document>();
public Set<String> getAllegatoForModPag(Folder folderMandato, String modPag) {
Set<String> documents = new HashSet<String>();
for (CmisObject child : folderMandato.getChildren()) {
if (modPag.equals(child.getPropertyValue("doccont:rif_modalita_pagamento")))
documents.add((Document) child);
documents.add(child.getId());
}
return documents;
}
Expand Down

0 comments on commit 47b6a36

Please sign in to comment.