private void saveTransformationDetails(final DataNode rootNode, final TransMeta transMeta) throws KettleException { rootNode.setProperty(PROP_EXTENDED_DESCRIPTION, transMeta.getExtendedDescription()); rootNode.setProperty(PROP_TRANS_VERSION, transMeta.getTransversion()); rootNode.setProperty( PROP_TRANS_STATUS, transMeta.getTransstatus() < 0 ? -1L : transMeta.getTransstatus()); rootNode.setProperty(PROP_STEP_READ, transMeta.getTransLogTable().getStepnameRead()); rootNode.setProperty(PROP_STEP_WRITE, transMeta.getTransLogTable().getStepnameWritten()); rootNode.setProperty(PROP_STEP_INPUT, transMeta.getTransLogTable().getStepnameInput()); rootNode.setProperty(PROP_STEP_OUTPUT, transMeta.getTransLogTable().getStepnameOutput()); rootNode.setProperty(PROP_STEP_UPDATE, transMeta.getTransLogTable().getStepnameUpdated()); rootNode.setProperty(PROP_STEP_REJECTED, transMeta.getTransLogTable().getStepnameRejected()); if (transMeta.getTransLogTable().getDatabaseMeta() != null) { DataNodeRef ref = new DataNodeRef(transMeta.getTransLogTable().getDatabaseMeta().getObjectId().getId()); rootNode.setProperty(PROP_DATABASE_LOG, ref); } rootNode.setProperty(PROP_TABLE_NAME_LOG, transMeta.getTransLogTable().getTableName()); rootNode.setProperty( PROP_USE_BATCHID, Boolean.valueOf(transMeta.getTransLogTable().isBatchIdUsed())); rootNode.setProperty( PROP_USE_LOGFIELD, Boolean.valueOf(transMeta.getTransLogTable().isLogFieldUsed())); if (transMeta.getMaxDateConnection() != null) { DataNodeRef ref = new DataNodeRef(transMeta.getMaxDateConnection().getObjectId().getId()); rootNode.setProperty(PROP_ID_DATABASE_MAXDATE, ref); } rootNode.setProperty(PROP_TABLE_NAME_MAXDATE, transMeta.getMaxDateTable()); rootNode.setProperty(PROP_FIELD_NAME_MAXDATE, transMeta.getMaxDateField()); rootNode.setProperty(PROP_OFFSET_MAXDATE, new Double(transMeta.getMaxDateOffset())); rootNode.setProperty(PROP_DIFF_MAXDATE, new Double(transMeta.getMaxDateDifference())); rootNode.setProperty(PROP_CREATED_USER, transMeta.getCreatedUser()); rootNode.setProperty(PROP_CREATED_DATE, transMeta.getCreatedDate()); rootNode.setProperty(PROP_MODIFIED_USER, transMeta.getModifiedUser()); rootNode.setProperty(PROP_MODIFIED_DATE, transMeta.getModifiedDate()); rootNode.setProperty(PROP_SIZE_ROWSET, transMeta.getSizeRowset()); rootNode.setProperty(PROP_UNIQUE_CONNECTIONS, transMeta.isUsingUniqueConnections()); rootNode.setProperty(PROP_FEEDBACK_SHOWN, transMeta.isFeedbackShown()); rootNode.setProperty(PROP_FEEDBACK_SIZE, transMeta.getFeedbackSize()); rootNode.setProperty(PROP_USING_THREAD_PRIORITIES, transMeta.isUsingThreadPriorityManagment()); rootNode.setProperty(PROP_SHARED_FILE, transMeta.getSharedObjectsFile()); rootNode.setProperty( PROP_CAPTURE_STEP_PERFORMANCE, transMeta.isCapturingStepPerformanceSnapShots()); rootNode.setProperty( PROP_STEP_PERFORMANCE_CAPTURING_DELAY, transMeta.getStepPerformanceCapturingDelay()); rootNode.setProperty( PROP_STEP_PERFORMANCE_CAPTURING_SIZE_LIMIT, transMeta.getStepPerformanceCapturingSizeLimit()); rootNode.setProperty( PROP_STEP_PERFORMANCE_LOG_TABLE, transMeta.getPerformanceLogTable().getTableName()); rootNode.setProperty(PROP_LOG_SIZE_LIMIT, transMeta.getTransLogTable().getLogSizeLimit()); rootNode.setProperty(PROP_LOG_INTERVAL, transMeta.getTransLogTable().getLogInterval()); rootNode.setProperty(PROP_TRANSFORMATION_TYPE, transMeta.getTransformationType().getCode()); // Save the logging tables too.. // RepositoryAttributeInterface attributeInterface = new PurRepositoryAttribute(rootNode, transMeta.getDatabases()); for (LogTableInterface logTable : transMeta.getLogTables()) { logTable.saveToRepository(attributeInterface); } // Save the transformation attribute groups map // AttributesMapUtil.saveAttributesMap(rootNode, transMeta); }