package uni.projecte.controler; import java.util.HashMap; import java.util.Iterator; import java.util.Set; import uni.projecte.dataLayer.CitationManager.Doc.DocExporter; import uni.projecte.dataLayer.CitationManager.Fagus.FagusExporter; import uni.projecte.dataLayer.CitationManager.JSON.JSONExporter; import uni.projecte.dataLayer.CitationManager.KML.KMLExporter; import uni.projecte.dataLayer.CitationManager.Tab.TABExporter; import uni.projecte.dataLayer.CitationManager.Zamia.ZamiaCitationExporter; import uni.projecte.dataLayer.bd.CitacionDbAdapter; import uni.projecte.dataLayer.bd.SampleDbAdapter; import uni.projecte.dataTypes.ProjectField; import android.content.Context; import android.database.Cursor; import android.os.Handler; import android.util.Log; public class ReportControler extends CitationControler { public ReportControler(Context baseContext) { super(baseContext); } public int exportProject(long projId,Set<Long> selectionIds,String fileName, String exportFormat, Handler handlerExportProcessDialog, long fieldId){ ProjectControler projCnt= new ProjectControler(baseContext); sC= new CitationControler(baseContext); projCnt.loadProjectInfoById(projId); HashMap<Long, ProjectField> projectFields=projCnt.getProjectFieldsMap(projId); //Depending on the chosen type of file we'll instantiate the concrete exporter subclass if(exportFormat.equals("reportDocumentLabel")){ cExporter=new DocExporter(projCnt.getName(),projCnt.getThName(),projCnt.getCitationType()); ((DocExporter)cExporter).setDefaultTag(projectFields.get(fieldId).getName()); } cExporter.openDocument(); Log.d("Citations","Creating Report (Start) "+exportFormat); CitacionDbAdapter citationAdapter = new CitacionDbAdapter(baseContext); citationAdapter.open(); Iterator<Long> iter = selectionIds.iterator(); while (iter.hasNext()) { long citationId=iter.next(); Cursor citations= citationAdapter.fetchCitationByCitationId(citationId); KEY_DATA=citations.getColumnIndex(SampleDbAdapter.DATE); exportCitation(citations, projectFields); handlerExportProcessDialog.sendMessage(handlerExportProcessDialog.obtainMessage()); citations.close(); } citationAdapter.close(); Log.d("Citations","Creating Report (End) "+exportFormat); cExporter.closeDocument(); cExporter.stringToFile(fileName,baseContext); return selectionIds.size(); } }