Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    DataExport ending in error with new snapshot

    Since we installed a new snapshot, DataExport is consistently ending in error with a null pointer exception. This code was working fine before that.

    The newly installed snapshot:
    Isomorphic SmartClient/SmartGWT Framework (SNAPSHOT_v8.3d_2012-07-21/PowerEdition Deployment 2012-07-21)

    The errror:
    Code:
    java.lang.NullPointerException
    	at com.isomorphic.rpc.DataExport.exportResultSet(DataExport.java:488)
    	at com.isomorphic.rpc.DataExport.exportResultSet(DataExport.java:384)
    	at com.isomorphic.rpc.DataExport.exportResultSet(DataExport.java:377)
    	at com.isomorphic.rpc.DataExport.exportResultSet(DataExport.java:355)
    	at com.islandpacific.gui.server.purchasing.productionorder.LCExportJob.exportEntries(LCExportJob.java:195)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at com.islandpacific.gui.server.job.IpJobAbs.execute(IpJobAbs.java:95)
    	at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
    	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
    java.lang.reflect.InvocationTargetException
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at com.islandpacific.gui.server.job.IpJobAbs.execute(IpJobAbs.java:95)
    	at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
    	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
    Caused by: org.quartz.JobExecutionException: Error writing to /SmartRetail/Export/LetterOfCredit.csv.
    	at com.islandpacific.gui.server.purchasing.productionorder.LCExportJob.exportEntries(LCExportJob.java:202)
    	... 7 more
    The code (everything is server side):
    Code:
    DSRequest lcSummaryRequest = null;
    Map criteria = null;
    DSResponse productionOrderResponse = null;
    
    lcSummaryRequest = new DSRequest(IslandPacificDSConstants.DATASOURCE_LCSummary, DataSource.OP_FETCH);
    lcSummaryRequest.setOperationId(LCSummary.OP_FETCH_LC_EXPORT);
    criteria = new HashMap();
    criteria.put(FIELD_exportJob, getJobName());
    criteria.put(FIELD_userName, getUserName());
    lcSummaryRequest.setCriteria(criteria);
    
    try {
    	productionOrderResponse = lcSummaryRequest.execute();
    	if (productionOrderResponse.statusIsError()) {
    		throw new JobExecutionException("Error exporting Letter of Credit");
    	}
    } catch (Exception e) {
    	e.printStackTrace();
    	throw new JobExecutionException("Error exporting Letter of Credit.");
    }
    
    Writer writer = null;
    try {
    	writer = new FileWriter(new File(getExportFilePath()));
    } catch (IOException e1) {
    	e1.printStackTrace();
    	throw new JobExecutionException("Error creating file object for " + getExportFilePath() + ".");
    }
    
    List exportFields = new ArrayList();
    exportFields.add(LCSummary.REQUESTOR);
    exportFields.add(LCSummary.EXPORT_DATE);
    .
    .
    .
    exportFields.add(LCSummary.EXPIRY_DATE);
    
    DataExport exporter = new DataExport(DataExport.CSV);
    try {
    	if (productionOrderResponse.getDataList().size() > 0) {
    		log.info("Exporting to file: " + getExportFilePath());
    		List dataList = DataTools.makeListIfSingle(productionOrderResponse.getData());
    		exporter.exportResultSet(dataList, exportFields, writer);
    	}
    	else {
    		log.info("Nothing to export.");
    	}
    } catch (Exception e) {
    	e.printStackTrace();
    	throw new JobExecutionException("Error writing to " + getExportFilePath() + ".");
    }
    More of the log:
    Code:
    === 2012-07-29 22:20:01,430 [er-2] DEBUG IpJobListener - Job starting: LCExportJob-61669
    === 2012-07-29 22:20:01,435 [er-2] INFO  SQLDataSource - [builtinApplication.null] Performing fetch operation with
    	criteria: {name:"iptsfili"}	values: {name:"iptsfili"}
    === 2012-07-29 22:20:01,436 [er-2] INFO  SQLDataSource - [builtinApplication.null] derived query: SELECT $defaultSelectClause FROM $defaultTableClause WHERE $defaultWhereClause
    === 2012-07-29 22:20:01,436 [er-2] INFO  SQLDataSource - [builtinApplication.null] Executing SQL query on 'ipGui': SELECT environment.applicationId, environment.dbase, environment.description, environment.id, environment.name FROM environment WHERE (environment.name='iptsfili')
    === 2012-07-29 22:20:01,436 [er-2] INFO  SQLDriver - [builtinApplication.null] Executing SQL query on 'ipGui': SELECT environment.applicationId, environment.dbase, environment.description, environment.id, environment.name FROM environment WHERE (environment.name='iptsfili')
    === 2012-07-29 22:20:01,786 [er-2] INFO  DSResponse - [builtinApplication.null] DSResponse: List with 1 items
    === 2012-07-29 22:20:01,792 [er-2] INFO  SQLDataSource - [builtinApplication.null] Performing fetch operation with
    	criteria: {code:"LGORLIN"}	values: {code:"LGORLIN"}
    === 2012-07-29 22:20:01,792 [er-2] INFO  SQLDataSource - [builtinApplication.null] derived query: SELECT $defaultSelectClause FROM $defaultTableClause WHERE $defaultWhereClause
    === 2012-07-29 22:20:01,792 [er-2] INFO  SQLDataSource - [builtinApplication.null] Executing SQL query on 'ipGui': SELECT ipuser.code, ipuser.email, ipuser.id, ipuser.name FROM ipuser WHERE (ipuser.code='LGORLIN')
    === 2012-07-29 22:20:01,793 [er-2] INFO  SQLDriver - [builtinApplication.null] Executing SQL query on 'ipGui': SELECT ipuser.code, ipuser.email, ipuser.id, ipuser.name FROM ipuser WHERE (ipuser.code='LGORLIN')
    === 2012-07-29 22:20:02,120 [er-2] INFO  DSResponse - [builtinApplication.null] DSResponse: List with 1 items
    === 2012-07-29 22:20:02,125 [er-2] INFO  SQLDataSource - [builtinApplication.null] Performing fetch operation with
    	criteria: {userId:11,environmentId:2}	values: {userId:11,environmentId:2}
    === 2012-07-29 22:20:02,125 [er-2] INFO  SQLDataSource - [builtinApplication.null] derived query: SELECT $defaultSelectClause FROM $defaultTableClause WHERE $defaultWhereClause
    === 2012-07-29 22:20:02,126 [er-2] INFO  SQLDataSource - [builtinApplication.null] Executing SQL query on 'ipGui': SELECT userrole.environmentId, userrole.id, userrole.roleId, userrole.userId FROM userrole WHERE (userrole.userId='11' AND userrole.environmentId='2')
    === 2012-07-29 22:20:02,126 [er-2] INFO  SQLDriver - [builtinApplication.null] Executing SQL query on 'ipGui': SELECT userrole.environmentId, userrole.id, userrole.roleId, userrole.userId FROM userrole WHERE (userrole.userId='11' AND userrole.environmentId='2')
    === 2012-07-29 22:20:02,459 [er-2] INFO  DSResponse - [builtinApplication.null] DSResponse: List with 0 items
    <?xml version="1.0" encoding="UTF-8"?><LogEntry><LogDefinition>ipms</LogDefinition><SystemName>SmartRetail</SystemName><ApplicationName>SmartRetail</ApplicationName><Procedure>LCExportJob</Procedure><ApplicationUserID>LGORLIN</ApplicationUserID><SystemUserID>iptsfili</SystemUserID><Priority>INFO</Priority><Message>Job LCExportJob-61669 started.</Message></LogEntry>
    === 2012-07-29 22:20:02,465 [er-2] INFO  SQLDataSource - [builtinApplication.null] Performing fetch operation with
    	criteria: {SchedName:"IPScheduler",JobGroup:"LCExportJob",JobName:"LCExportJob-61669"}	values: {SchedName:"IPScheduler",JobGroup:"LCExportJob",JobName:"LCExportJob-61669"}
    === 2012-07-29 22:20:02,465 [er-2] INFO  SQLDataSource - [builtinApplication.null] derived query: SELECT $defaultSelectClause FROM $defaultTableClause WHERE $defaultWhereClause
    === 2012-07-29 22:20:02,466 [er-2] INFO  SQLDataSource - [builtinApplication.null] Executing SQL query on 'ipGui': SELECT JobStatus.ExecutionStep, JobStatus.JobGroup, JobStatus.JobName, JobStatus.JobNumber, JobStatus.SchedName FROM JobStatus WHERE (JobStatus.SchedName='IPScheduler' AND JobStatus.JobGroup='LCExportJob' AND JobStatus.JobName='LCExportJob-61669')
    === 2012-07-29 22:20:02,466 [er-2] INFO  SQLDriver - [builtinApplication.null] Executing SQL query on 'ipGui': SELECT JobStatus.ExecutionStep, JobStatus.JobGroup, JobStatus.JobName, JobStatus.JobNumber, JobStatus.SchedName FROM JobStatus WHERE (JobStatus.SchedName='IPScheduler' AND JobStatus.JobGroup='LCExportJob' AND JobStatus.JobName='LCExportJob-61669')
    === 2012-07-29 22:20:02,770 [er-2] INFO  DSResponse - [builtinApplication.null] DSResponse: List with 1 items
    === 2012-07-29 22:20:02,775 [er-2] INFO  SQLDataSource - [builtinApplication.null] Performing update operation with
    	criteria: {SchedName:"IPScheduler",JobGroup:"LCExportJob",JobName:"LCExportJob-61669"}	values: {ExecutionStep:"exportEntries"}
    === 2012-07-29 22:20:02,776 [er-2] WARN  SQLDriver - [builtinApplication.null] DSRequest has no RPCManager set when testing if we should join a transaction - transaction will not be joined
    === 2012-07-29 22:20:02,776 [er-2] INFO  SQLDriver - [builtinApplication.null] Executing SQL update on 'ipGui': UPDATE JobStatus SET ExecutionStep='exportEntries' WHERE (JobStatus.SchedName='IPScheduler' AND JobStatus.JobGroup='LCExportJob' AND JobStatus.JobName='LCExportJob-61669')
    === 2012-07-29 22:20:03,031 [er-2] INFO  SQLDataSource - [builtinApplication.null] primaryKeys: {SchedName=IPScheduler, JobGroup=LCExportJob, JobName=LCExportJob-61669}
    === 2012-07-29 22:20:03,032 [er-2] INFO  SQLDataSource - [builtinApplication.null, builtinApplication.null] Performing fetch operation with
    	criteria: {SchedName:"IPScheduler",JobGroup:"LCExportJob",JobName:"LCExportJob-61669"}	values: {SchedName:"IPScheduler",JobGroup:"LCExportJob",JobName:"LCExportJob-61669"}
    === 2012-07-29 22:20:03,032 [er-2] INFO  SQLDataSource - [builtinApplication.null, builtinApplication.null] derived query: SELECT $defaultSelectClause FROM $defaultTableClause WHERE $defaultWhereClause
    === 2012-07-29 22:20:03,033 [er-2] INFO  SQLDataSource - [builtinApplication.null, builtinApplication.null] Executing SQL query on 'ipGui': SELECT JobStatus.ExecutionStep, JobStatus.JobGroup, JobStatus.JobName, JobStatus.JobNumber, JobStatus.SchedName FROM JobStatus WHERE (JobStatus.SchedName='IPScheduler' AND JobStatus.JobGroup='LCExportJob' AND JobStatus.JobName='LCExportJob-61669')
    === 2012-07-29 22:20:03,033 [er-2] INFO  SQLDriver - [builtinApplication.null, builtinApplication.null] Executing SQL query on 'ipGui': SELECT JobStatus.ExecutionStep, JobStatus.JobGroup, JobStatus.JobName, JobStatus.JobNumber, JobStatus.SchedName FROM JobStatus WHERE (JobStatus.SchedName='IPScheduler' AND JobStatus.JobGroup='LCExportJob' AND JobStatus.JobName='LCExportJob-61669')
    === 2012-07-29 22:20:03,319 [er-2] INFO  DSResponse - [builtinApplication.null, builtinApplication.null] DSResponse: List with 1 items
    === 2012-07-29 22:20:03,320 [er-2] INFO  DSResponse - [builtinApplication.null] DSResponse: List with 1 items
    === 2012-07-29 22:20:03,320 [er-2] DEBUG LCExportJob - Exporting letter of credit.
    === 2012-07-29 22:20:03,325 [er-2] INFO  SQLDataSource - [builtinApplication.LCExport] Performing fetch operation with
    	criteria: {userName:"LGORLIN",exportJob:"LCExportJob-61669"}	values: {userName:"LGORLIN",exportJob:"LCExportJob-61669"}
    === 2012-07-29 22:20:03,327 [er-2] INFO  SQLDataSource - [builtinApplication.LCExport] Executing SQL query on 'iptsfili': select buyerId as "requestor", CURRENT_DATE as "exportDate", vnam as "supplierName", vad1 as "supplierAddr1", 
    					vad2 as "supplierAddr2", vcty as "supplierCity", vsta as "supplierState", vzip as "supplierPostCode", 
    					vcnt as "supplierCountry", bankName as "bankName", bankAddr1 as "bankAddr1", bankAddr2 as "bankAddr2", 
    					bankCity as "bankCity", bankState as "bankState", bankPost as "bankPostCode", bankCntry as "bankCountry",
    					bicNumber as "bicNumber", ShippingPort.name as "exitPort", IPSTORE.SNAM as "entryPort", 
    					ProductionLine.descr as "descriptionOfGoods", ProductionLine.itemStyle as "styleNumber", 
    					handDt - 5 DAYS as "shippingWindowFrom", handDt + 5 DAYS as "shippingWindowTo", 
    					ProductionDestination.controlNum as "orderNumber", ProductionDestination.unitsOrd as "quantity", 
    					ProductionDelivery.vendorCost as "unitCost", ProductionOrder.currency as "currency", 
    					handDt + 12 DAYS as "expiryDate" 
    				from ProductionOrder 
    				join IPMRVEN on vendorId=VVEN 
    				join ProductionLine on ProductionOrder.id=ProductionLine.parentId 
    				join ProductionDelivery on ProductionLine.id=ProductionDelivery.parentId 
    				join ShippingPort on ProductionDelivery.shipPort=ShippingPort.id 
    				join ProductionDestination on ProductionDelivery.id=ProductionDestination.parentId 
    				join IPSTORE on ProductionDestination.shipTo=IPSTORE.SSTR 
    					WHERE exportJob='LCExportJob-61669'
    === 2012-07-29 22:20:03,327 [er-2] INFO  SQLDriver - [builtinApplication.LCExport] Executing SQL query on 'iptsfili': select buyerId as "requestor", CURRENT_DATE as "exportDate", vnam as "supplierName", vad1 as "supplierAddr1", 
    					vad2 as "supplierAddr2", vcty as "supplierCity", vsta as "supplierState", vzip as "supplierPostCode", 
    					vcnt as "supplierCountry", bankName as "bankName", bankAddr1 as "bankAddr1", bankAddr2 as "bankAddr2", 
    					bankCity as "bankCity", bankState as "bankState", bankPost as "bankPostCode", bankCntry as "bankCountry",
    					bicNumber as "bicNumber", ShippingPort.name as "exitPort", IPSTORE.SNAM as "entryPort", 
    					ProductionLine.descr as "descriptionOfGoods", ProductionLine.itemStyle as "styleNumber", 
    					handDt - 5 DAYS as "shippingWindowFrom", handDt + 5 DAYS as "shippingWindowTo", 
    					ProductionDestination.controlNum as "orderNumber", ProductionDestination.unitsOrd as "quantity", 
    					ProductionDelivery.vendorCost as "unitCost", ProductionOrder.currency as "currency", 
    					handDt + 12 DAYS as "expiryDate" 
    				from ProductionOrder 
    				join IPMRVEN on vendorId=VVEN 
    				join ProductionLine on ProductionOrder.id=ProductionLine.parentId 
    				join ProductionDelivery on ProductionLine.id=ProductionDelivery.parentId 
    				join ShippingPort on ProductionDelivery.shipPort=ShippingPort.id 
    				join ProductionDestination on ProductionDelivery.id=ProductionDestination.parentId 
    				join IPSTORE on ProductionDestination.shipTo=IPSTORE.SSTR 
    					WHERE exportJob='LCExportJob-61669'
    === 2012-07-29 22:20:04,093 [er-2] INFO  DSResponse - [builtinApplication.LCExport] DSResponse: List with 18 items
    === 2012-07-29 22:20:04,094 [er-2] INFO  LCExportJob - Exporting to file: /SmartRetail/Export/LetterOfCredit.csv
    java.lang.NullPointerException
    	at com.isomorphic.rpc.DataExport.exportResultSet(DataExport.java:488)
    	at com.isomorphic.rpc.DataExport.exportResultSet(DataExport.java:384)
    	at com.isomorphic.rpc.DataExport.exportResultSet(DataExport.java:377)
    	at com.isomorphic.rpc.DataExport.exportResultSet(DataExport.java:355)
    	at com.islandpacific.gui.server.purchasing.productionorder.LCExportJob.exportEntries(LCExportJob.java:195)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at com.islandpacific.gui.server.job.IpJobAbs.execute(IpJobAbs.java:95)
    	at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
    	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
    java.lang.reflect.InvocationTargetException
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at com.islandpacific.gui.server.job.IpJobAbs.execute(IpJobAbs.java:95)
    	at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
    	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
    Caused by: org.quartz.JobExecutionException: Error writing to /SmartRetail/Export/LetterOfCredit.csv.
    	at com.islandpacific.gui.server.purchasing.productionorder.LCExportJob.exportEntries(LCExportJob.java:202)
    	... 7 more
    <?xml version="1.0" encoding="UTF-8"?><LogEntry><LogDefinition>ipms</LogDefinition><SystemName>SmartRetail</SystemName><ApplicationName>SmartRetail</ApplicationName><Procedure>LCExportJob</Procedure><ApplicationUserID>LGORLIN</ApplicationUserID><SystemUserID>iptsfili</SystemUserID><Priority>FATAL</Priority><Message>Job LCExportJob-61669 ended in error. 
    Error at execution step exportEntries
    Error writing to /SmartRetail/Export/LetterOfCredit.csv.</Message></LogEntry>
    org.quartz.JobExecutionException: Error at execution step exportEntries
    Error writing to /SmartRetail/Export/LetterOfCredit.csv.
    	at com.islandpacific.gui.server.job.IpJobAbs.execute(IpJobAbs.java:101)
    	at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
    	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
    === 2012-07-29 22:20:04,099 [er-2] INFO  JobRunShell - Job LCExportJob.LCExportJob-61669 threw a JobExecutionException: 
    org.quartz.JobExecutionException: org.quartz.JobExecutionException: Error at execution step exportEntries
    Error writing to /SmartRetail/Export/LetterOfCredit.csv. [See nested exception: org.quartz.JobExecutionException: Error at execution step exportEntries
    Error writing to /SmartRetail/Export/LetterOfCredit.csv.]
    	at com.islandpacific.gui.server.job.IpJobAbs.execute(IpJobAbs.java:124)
    	at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
    	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
    Caused by: org.quartz.JobExecutionException: Error at execution step exportEntries
    Error writing to /SmartRetail/Export/LetterOfCredit.csv.
    	at com.islandpacific.gui.server.job.IpJobAbs.execute(IpJobAbs.java:101)
    	... 2 more
    === 2012-07-29 22:20:04,099 [er-2] INFO  IpJobListener - Job LCExportJob-61669 ended in error: org.quartz.JobExecutionException: Error at execution step exportEntries
    Error writing to /SmartRetail/Export/LetterOfCredit.csv.

    Thanks.

    #2
    Thanks for the bug report - this was a regression introduced while adding support for the export of headerSpans. We've fixed it now, please try your use case with tomorrow's nightly build (the one dated 8/1)

    Comment


      #3
      It's back

      This seems to have come back again. Or it may never have been fixed.

      Here's our current build:
      Isomorphic SmartClient/SmartGWT Framework (SNAPSHOT_v8.3d_2012-10-04/PowerEdition Deployment 2012-10-04)

      Here's the error:
      Code:
      Caused by: java.lang.NullPointerException
      	at com.isomorphic.rpc.DataExport.exportResultSet(DataExport.java:513)
      	at com.isomorphic.rpc.DataExport.exportResultSet(DataExport.java:393)
      	at com.isomorphic.rpc.DataExport.exportResultSet(DataExport.java:386)
      	at com.isomorphic.rpc.DataExport.exportResultSet(DataExport.java:364)
      	at com.islandpacific.gui.server.purchasing.productionorder.LCExportJob.exportEntries(LCExportJob.java:199)
      The code is the same:
      Code:
      DSRequest lcSummaryRequest = null;
      Map criteria = null;
      DSResponse productionOrderResponse = null;
      
      lcSummaryRequest = new DSRequest(IslandPacificDSConstants.DATASOURCE_LCSummary, DataSource.OP_FETCH);
      lcSummaryRequest.setOperationId(LCSummary.OP_FETCH_LC_EXPORT);
      criteria = new HashMap();
      criteria.put(FIELD_exportJob, getJobName());
      criteria.put(FIELD_userName, getUserName());
      lcSummaryRequest.setCriteria(criteria);
      
      try {
      	productionOrderResponse = lcSummaryRequest.execute();
      	if (productionOrderResponse.statusIsError()) {
      		throw new JobExecutionException("Error exporting Letter of Credit");
      	}
      } catch (Exception e) {
      	e.printStackTrace();
      	throw new JobExecutionException("Error exporting Letter of Credit.");
      }
      
      Writer writer = null;
      try {
      	writer = new FileWriter(new File(getExportFilePath()));
      } catch (IOException e1) {
      	e1.printStackTrace();
      	throw new JobExecutionException("Error creating file object for " + getExportFilePath() + ".");
      }
      
      List exportFields = new ArrayList();
      exportFields.add(LCSummary.REQUESTOR);
      exportFields.add(LCSummary.EXPORT_DATE);
      .
      .
      .
      exportFields.add(LCSummary.EXPIRY_DATE);
      
      DataExport exporter = new DataExport(DataExport.CSV);
      try {
      	if (productionOrderResponse.getDataList().size() > 0) {
      		log.info("Exporting to file: " + getExportFilePath());
      		List dataList = DataTools.makeListIfSingle(productionOrderResponse.getData());
      		exporter.exportResultSet(dataList, exportFields, writer);
      	}
      	else {
      		log.info("Nothing to export.");
      	}
      } catch (Exception e) {
      	e.printStackTrace();
      	throw new JobExecutionException("Error writing to " + getExportFilePath() + ".");
      }
      Thanks

      Comment


        #4
        We've made a change to address this. Please try the next nightly build

        Thanks
        Isomorphic Software

        Comment

        Working...
        X