Entry fieldsEntry = Entry.findEntry( lookFields.getKey() ); if ( fieldsEntry == null ) { continue; for ( StepInjectionMetaEntry lookField : lookFields.getDetails() ) { Entry fieldEntry = Entry.findEntry( lookField.getKey() ); if ( fieldEntry == Entry.EXPRESSION_FIELD ) { String replaceValue = null; List<StepInjectionMetaEntry> entries = lookField.getDetails(); for ( StepInjectionMetaEntry entry : entries ) { Entry metaEntry = Entry.findEntry( entry.getKey() ); if ( metaEntry != null ) { String value = (String) entry.getValue(); switch ( metaEntry ) { case NEW_FIELDNAME:
@Override public List<StepInjectionMetaEntry> getStepInjectionMetadataEntries() throws KettleException { List<StepInjectionMetaEntry> all = new ArrayList<StepInjectionMetaEntry>(); StepInjectionMetaEntry fieldsEntry = new StepInjectionMetaEntry( "FIELDS", ValueMetaInterface.TYPE_NONE, "All the fields on the spreadsheets" ); all.add( fieldsEntry ); StepInjectionMetaEntry fieldEntry = new StepInjectionMetaEntry( "FIELD", ValueMetaInterface.TYPE_NONE, "All the fields on the spreadsheets" ); fieldsEntry.getDetails().add( fieldEntry ); for ( Entry entry : Entry.values() ) { if ( entry.getValueType() != ValueMetaInterface.TYPE_NONE ) { StepInjectionMetaEntry metaEntry = new StepInjectionMetaEntry( entry.name(), entry.getValueType(), entry.getDescription() ); fieldEntry.getDetails().add( metaEntry ); } } return all; }
StepInjectionMetaEntry refEntry = refEntries.get( i ); StepInjectionMetaEntry cmpEntry = cmpEntries.get( i ); if ( cmpEntry.getValueType() == ValueMetaInteger.TYPE_NONE ) { compareEntryValues( refEntry.getDetails(), cmpEntry.getDetails() ); } else { Object ref = refEntry.getValue(); Object cmp = cmpEntry.getValue(); if ( ref != null && cmp == null ) { throw new KettleException( "Reference key '" + refEntry.getKey() + "': value is not null while the compare value is null" ); throw new KettleException( "Reference key '" + refEntry.getKey() + "': value is null while the compare value is not null" ); throw new KettleException( "Reference key '" + refEntry.getKey() + "': reference value '" + ref + "' is not equal to '" + cmp + "'" );
@Override public void handleEvent( Event arg0 ) { System.out.println( entry.getKey() + " - " + entry.getDescription() ); } } );
private StepInjectionMetaEntry findMetaEntry( List<StepInjectionMetaEntry> metadataEntries, String attributeKey ) { for ( StepInjectionMetaEntry entry : metadataEntries ) { if ( entry.getKey().equals( attributeKey ) ) { return entry; } entry = findMetaEntry( entry.getDetails(), attributeKey ); if ( entry != null ) { return entry; } } return null; }
entry.setValueType( lm.findAttribute( entry.getKey() ).getType() ); switch ( entry.getValueType() ) { case ValueMetaInterface.TYPE_STRING: entry.setValue( "new_".concat( entry.getKey() ) ); break; case ValueMetaInterface.TYPE_BOOLEAN: entry.setValue( Boolean.TRUE ); break; default: if ( !entry.getDetails().isEmpty() ) { List<StepInjectionMetaEntry> childEntries = entry.getDetails().get( 0 ).getDetails(); for ( StepInjectionMetaEntry childEntry : childEntries ) { childEntry.setValue( "new_".concat( childEntry.getKey() ) );
List<StepInjectionMetaEntry> entries = injection.getStepInjectionMetadataEntries(); for ( final StepInjectionMetaEntry entry : entries ) { if ( entry.getValueType() != ValueMetaInterface.TYPE_NONE ) { TreeItem entryItem = new TreeItem( stepItem, SWT.NONE ); entryItem.setText( entry.getKey() ); entryItem.setText( 1, entry.getDescription() ); TargetStepAttribute target = new TargetStepAttribute( stepMeta.getName(), entry.getKey(), false ); treeItemTargetMap.put( entryItem, target ); listsItem.setText( entry.getKey() ); listsItem.setText( 1, entry.getDescription() ); StepInjectionMetaEntry listEntry = entry.getDetails().get( 0 ); listsItem.addListener( SWT.Selection, new Listener() { for ( StepInjectionMetaEntry me : listEntry.getDetails() ) { TreeItem treeItem = new TreeItem( listsItem, SWT.NONE ); treeItem.setText( me.getKey() ); treeItem.setText( 1, me.getDescription() ); TargetStepAttribute target = new TargetStepAttribute( stepMeta.getName(), me.getKey(), true ); treeItemTargetMap.put( treeItem, target );
private StepInjectionMetaEntry findDetailRootEntry( List<StepInjectionMetaEntry> metadataEntries, StepInjectionMetaEntry entry ) { for ( StepInjectionMetaEntry rowsEntry : metadataEntries ) { for ( StepInjectionMetaEntry rowEntry : rowsEntry.getDetails() ) { for ( StepInjectionMetaEntry detailEntry : rowEntry.getDetails() ) { if ( detailEntry.equals( entry ) ) { return rowsEntry; } } } } return null; }
StepInjectionMetaEntry metaEntries = findMetaEntry( inject, entry.getKey() ); if ( metaEntries == null ) { metaEntries = rootEntry.clone(); metaEntries.setDetails( new ArrayList<StepInjectionMetaEntry>() ); inject.add( metaEntries ); StepInjectionMetaEntry metaEntry = rootEntry.getDetails().get( 0 ); StepInjectionMetaEntry metaCopy = metaEntry.clone(); metaEntries.getDetails().add( metaCopy ); metaCopy.setDetails( new ArrayList<StepInjectionMetaEntry>() ); for ( StepInjectionMetaEntry me : metaEntry.getDetails() ) { StepInjectionMetaEntry meCopy = me.clone(); metaCopy.getDetails().add( meCopy ); RowMetaAndData row = rows.get( i ); try { List<StepInjectionMetaEntry> rowEntries = metaEntries.getDetails().get( i ).getDetails(); SourceStepField detailSource = findDetailSource( targetMap, targetStep, rowEntry.getKey() ); if ( detailSource != null ) { setEntryValueIfFieldExists( rowEntry, row, detailSource ); } else { if ( log.isDetailed() ) { logDetailed( "No detail source found for key: " + rowEntry.getKey() + " and target step: " + targetStep );
public static StepInjectionMetaEntry findEntry( List<StepInjectionMetaEntry> entries, String key ) { for ( StepInjectionMetaEntry entry : entries ) { if ( entry.getKey().equals( key ) ) { return entry; } } return null; }
private static void assertInjected( List<StepInjectionMetaEntry> fields, List<StepInjectionMetaEntry> toBeInjected ) { Map<String, StepInjectionMetaEntry> map = new HashMap<String, StepInjectionMetaEntry>( fields.size() ); for ( StepInjectionMetaEntry field : fields ) { map.put( field.getKey(), field ); } for ( StepInjectionMetaEntry entry : toBeInjected ) { StepInjectionMetaEntry field = map.get( entry.getKey() ); assertNotNull( entry.getKey(), field ); Object value = field.getValue(); if ( value == null ) { assertNull( entry.getKey(), entry.getValue() ); } else { assertEquals( entry.getKey(), entry.getValue(), value ); } } }
public static StepInjectionMetaEntry getEntry( StepMetaInjectionEntryInterface entryInterface, Object value ) { StepInjectionMetaEntry entry = new StepInjectionMetaEntry( entryInterface.name(), entryInterface.getValueType(), case ValueMetaInteger.TYPE_STRING: if ( value instanceof Boolean ) { entry.setValue( ( (Boolean) value ) ? "Y" : "N" ); } else { entry.setValue( value.toString() ); entry.setValue( Long.valueOf( value.toString() ) ); break; case ValueMetaInterface.TYPE_BOOLEAN: entry.setValue( "Y".equalsIgnoreCase( value.toString() ) || "TRUE".equalsIgnoreCase( value.toString() ) ); break; break; default: entry.setValue( value ); break;
switch ( entry.getValueType() ) { case ValueMetaInterface.TYPE_STRING: value = row.getString( source.getField(), null ); break; entry.setValue( value );
protected StepInjectionMetaEntry createStepMetaInjectionEntry( StepMetaInjectionEnumEntry entry ) { StepInjectionMetaEntry stepInjectionMetaEntry = new StepInjectionMetaEntry( entry.name(), entry.getValueType(), entry.getDescription() ); return stepInjectionMetaEntry; }
private static List<StepInjectionMetaEntry> createInjectionValues( TextFileInputMetaInjection.Entry[] entries ) { Map<TextFileInputMetaInjection.Entry, Generator<?>> generators = createGeneratorsMapping(); List<StepInjectionMetaEntry> result = new ArrayList<StepInjectionMetaEntry>( entries.length ); for ( TextFileInputMetaInjection.Entry entry : entries ) { StepInjectionMetaEntry injectionEntry = StepInjectionUtil.getEntry( entry ); if ( entry.getValueType() != ValueMetaInterface.TYPE_NONE ) { injectionEntry.setValue( generators.get( entry ).generateValue() ); } result.add( injectionEntry ); } return result; }
entry.setValueType( lm.findAttribute( entry.getKey() ).getType() ); switch ( entry.getValueType() ) { case ValueMetaInterface.TYPE_STRING: entry.setValue( "new_".concat( entry.getKey() ) ); break; case ValueMetaInterface.TYPE_BOOLEAN: entry.setValue( Boolean.TRUE ); break; default: if ( !entry.getDetails().isEmpty() ) { List<StepInjectionMetaEntry> childEntries = entry.getDetails().get( 0 ).getDetails(); for ( StepInjectionMetaEntry childEntry : childEntries ) { switch ( childEntry.getValueType() ) { case ValueMetaInterface.TYPE_STRING: childEntry.setValue( "new_".concat( childEntry.getKey() ) ); break; case ValueMetaInterface.TYPE_BOOLEAN: childEntry.setValue( Boolean.TRUE ); break; default:
/** * Find parent entry. * * @param entries the entries * @param key the key * @return the step injection meta entry */ protected StepInjectionMetaEntry findParentEntry( List<StepInjectionMetaEntry> entries, String key ) { for ( StepInjectionMetaEntry look : entries ) { if ( look.getKey().equals( key ) ) { return look; } StepInjectionMetaEntry check = findParentEntry( look.getDetails(), key ); if ( check != null ) { return check; } } return null; }
protected void addNestedStepMetaInjectionEntries( List<StepInjectionMetaEntry> list, StepMetaInjectionEnumEntry[] allEntries, StepMetaInjectionEnumEntry itemsEntry, StepMetaInjectionEnumEntry itemEntry ) { StepInjectionMetaEntry fieldsEntry = createStepMetaInjectionEntry( itemsEntry ); list.add( fieldsEntry ); StepInjectionMetaEntry fieldEntry = createStepMetaInjectionEntry( itemEntry ); fieldsEntry.getDetails().add( fieldEntry ); for ( StepMetaInjectionEnumEntry entry : allEntries ) { if ( entry.getParent() == itemEntry ) { fieldEntry.getDetails().add( createStepMetaInjectionEntry( entry ) ); } } }
@Test public void extractingAll() throws Exception { TextFileInputMetaInjection injection = new TextFileInputMetaInjection( new TextFileInputMeta() ); List<StepInjectionMetaEntry> metadata = injection.getStepInjectionMetadataEntries(); List<StepInjectionMetaEntry> extracted = injection.extractStepMetadataEntries(); assertEquals( metadata.size(), extracted.size() ); for ( StepInjectionMetaEntry metaEntry : metadata ) { assertNotNull( metaEntry.getKey(), StepInjectionUtil.findEntry( extracted, metaEntry.getKey() ) ); } }
/** * Creates the entry. * * @param attr the attr * @param PKG the pkg * @return the step injection meta entry */ protected StepInjectionMetaEntry createEntry( KettleAttributeInterface attr, Class<?> PKG ) { return new StepInjectionMetaEntry( attr.getKey(), attr.getType(), BaseMessages.getString( PKG, attr .getDescription() ) ); }