@Override protected void customAnalyze( GetXMLDataMeta meta, IMetaverseNode node ) throws MetaverseAnalyzerException { super.customAnalyze( meta, node ); // Add the XPath Loop to the step node node.setProperty( "loopXPath", meta.getLoopXPath() ); }
@Override public void onStart( final LifeEventHandler lifeEventHandler ) throws LifecycleException { // instantiate a new analyzer final ExternalResourceStepAnalyzer analyzer = new JsonOutputAnalyzer(); // construct the external resource consumer for the files that it reads from final IStepExternalResourceConsumer consumer = new JsonOutputExternalResourceConsumer(); analyzer.setExternalResourceConsumer( consumer ); // register the analyzer with PentahoSystem PentahoSystem.registerObject( analyzer ); // register the consumer with PentahoSystem PentahoSystem.registerObject( consumer ); }
@Override protected IMetaverseNode createOutputFieldNode( IAnalysisContext context, ValueMetaInterface fieldMeta, String targetStepName, String nodeType ) { IMetaverseNode fieldNode = super.createOutputFieldNode( context, fieldMeta, targetStepName, nodeType ); GetXMLDataField[] fields = baseStepMeta.getInputFields(); for ( GetXMLDataField field : fields ) { if ( fieldMeta.getName().equals( field.getName() ) ) { fieldNode.setProperty( "xpath", Const.NVL( field.getXPath(), "" ) ); fieldNode.setProperty( "element", Const.NVL( field.getElementTypeCode(), "" ) ); fieldNode.setProperty( "resultType", Const.NVL( field.getResultTypeCode(), "" ) ); fieldNode.setProperty( "repeat", field.isRepeated() ); break; } } return fieldNode; }
@Override protected void customAnalyze( XMLOutputMeta meta, IMetaverseNode node ) throws MetaverseAnalyzerException { super.customAnalyze( meta, node ); node.setProperty( "parentnode", meta.getMainElement() ); node.setProperty( "rownode", meta.getRepeatElement() ); }
@Override protected void customAnalyze( final JsonOutputMeta meta, final IMetaverseNode rootNode ) throws MetaverseAnalyzerException { super.customAnalyze( meta, rootNode ); rootNode.setProperty( "isFileAppended", meta.isFileAppended() ); rootNode.setProperty( "passDataToServletOutput", meta.passDataToServletOutput() ); rootNode.setProperty( "addToResult", meta.AddToResult() ); rootNode.setProperty( "jsonBloc", meta.getJsonBloc() ); rootNode.setProperty( "operationType", meta.getOperationType() ); if ( !StringUtils.isBlank( meta.getOutputValue() ) ) { rootNode.setProperty( "outputValue", meta.getOutputValue() ); } }
@Override protected void customAnalyze( final JsonInputMeta meta, final IMetaverseNode rootNode ) throws MetaverseAnalyzerException { super.customAnalyze( meta, rootNode ); if ( meta.isAcceptingFilenames() ) { rootNode.setProperty( "sourceField", meta.getAcceptingField() ); rootNode.setProperty( "sourceFieldIsFile", meta.getIsAFile() ); rootNode.setProperty( "sourceFieldIsUrl", meta.isReadUrl() ); rootNode.setProperty( "removeSourceField", meta.isRemoveSourceField() ); } else { rootNode.setProperty( "fileDirName", meta.getFilenameField() ); } }