dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #38493
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 19609: Switch to using WebMessage in PdfFormController
------------------------------------------------------------
revno: 19609
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Fri 2015-07-10 11:20:57 +0700
message:
Switch to using WebMessage in PdfFormController
modified:
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/PdfFormController.java
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/PdfFormController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/PdfFormController.java 2015-07-08 05:42:56 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/PdfFormController.java 2015-07-10 04:20:57 +0000
@@ -48,9 +48,11 @@
import org.hisp.dhis.scheduling.TaskId;
import org.hisp.dhis.system.notification.Notifier;
import org.hisp.dhis.user.CurrentUserService;
+import org.hisp.dhis.webapi.service.WebMessageService;
import org.hisp.dhis.webapi.utils.ContextUtils;
import org.hisp.dhis.webapi.utils.ContextUtils.CacheStrategy;
import org.hisp.dhis.webapi.utils.PdfDataEntryFormImportUtil;
+import org.hisp.dhis.webapi.utils.WebMessageUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Controller;
@@ -103,6 +105,9 @@
@Autowired
private ContextUtils contextUtils;
+ @Autowired
+ private WebMessageService webMessageService;
+
//--------------------------------------------------------------------------
// DataSet
//--------------------------------------------------------------------------
@@ -111,15 +116,11 @@
public void getFormPdfDataSet( @PathVariable String dataSetUid, HttpServletRequest request,
HttpServletResponse response, OutputStream out ) throws Exception
{
- // 1. - Create Document and PdfWriter
-
Document document = new Document();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PdfWriter writer = PdfWriter.getInstance( document, baos );
- // 2. Generate PDF Document Content
-
PdfFormFontSettings pdfFormFontSettings = new PdfFormFontSettings();
PdfDataEntryFormUtil.setDefaultFooterOnDocument( document, request.getServerName(),
@@ -130,16 +131,12 @@
PdfDataEntryFormUtil.getDefaultPageSize( PdfDataEntryFormUtil.DATATYPE_DATASET ),
pdfFormFontSettings, i18nManager.getI18nFormat() );
- // 3. - Response Header/Content Type Set
-
String fileName = dataSetService.getDataSet( dataSetUid ).getName() + " " + (new SimpleDateFormat(
Period.DEFAULT_DATE_FORMAT )).format( new Date() );
contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_PDF, CacheStrategy.NO_CACHE, fileName, false );
response.setContentLength( baos.size() );
- // 4. - Output the data into Stream and close the stream.
-
baos.writeTo( out );
}
@@ -148,8 +145,6 @@
public void sendFormPdfDataSet( HttpServletRequest request, HttpServletResponse response )
throws Exception
{
- // 1. Set up Import Option
-
ImportStrategy strategy = ImportStrategy.NEW_AND_UPDATES;
IdentifiableProperty dataElementIdScheme = IdentifiableProperty.UID;
IdentifiableProperty orgUnitIdScheme = IdentifiableProperty.UID;
@@ -158,25 +153,17 @@
log.info( options );
- // 2. Generate Task ID
-
TaskId taskId = new TaskId( TaskCategory.DATAVALUE_IMPORT, currentUserService.getCurrentUser() );
notifier.clear( taskId );
- // 3. Input Stream Check
-
InputStream in = request.getInputStream();
in = StreamUtils.wrapAndCheckCompressionFormat( in );
- // 4. Save (Import) the data values.
-
dataValueSetService.saveDataValueSetPdf( in, options, taskId );
- // Step 5. Set the response - just simple OK response.
-
- ContextUtils.okResponse( response, "" );
+ webMessageService.send( WebMessageUtils.ok( "Import successful." ), response, request );
}
//--------------------------------------------------------------------------
@@ -187,14 +174,10 @@
public void getFormPdfProgramStage( @PathVariable String programStageUid, HttpServletRequest request,
HttpServletResponse response, OutputStream out ) throws Exception
{
- // 1. - Create Document and PdfWriter
-
Document document = new Document();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PdfWriter writer = PdfWriter.getInstance( document, baos );
- // 2. Generate PDF Document Contents
-
PdfFormFontSettings pdfFormFontSettings = new PdfFormFontSettings();
PdfDataEntryFormUtil.setDefaultFooterOnDocument( document, request.getServerName(),
@@ -205,16 +188,12 @@
PdfDataEntryFormUtil.getDefaultPageSize( PdfDataEntryFormUtil.DATATYPE_PROGRAMSTAGE ),
pdfFormFontSettings, i18nManager.getI18nFormat() );
- // 3. - Response Header/Content Type Set
-
String fileName = programStageService.getProgramStage( programStageUid ).getName() + " "
+ (new SimpleDateFormat( Period.DEFAULT_DATE_FORMAT )).format( new Date() );
contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_PDF, CacheStrategy.NO_CACHE, fileName, false );
response.setContentLength( baos.size() );
- // 4. - write ByteArrayOutputStream to the ServletOutputStream
-
baos.writeTo( out );
}
@@ -225,14 +204,10 @@
{
InputStream in = request.getInputStream();
- // Temporarily using Util class from same project.
-
PdfDataEntryFormImportUtil pdfDataEntryFormImportUtil = new PdfDataEntryFormImportUtil();
pdfDataEntryFormImportUtil.ImportProgramStage( in, i18nManager.getI18nFormat() );
- // Step 5. Set the response - just simple OK response.
-
- ContextUtils.okResponse( response, "" );
+ webMessageService.send( WebMessageUtils.ok( "Import successful." ), response, request );
}
}