java - Naming a Talend Custom Component - Not working except for tTutorialRow -


i have been following talend tutorial on "how create custom component". if follow example verbatim, files named follows , placed inside of folder ttutorialrow, tutorial works:

ttutorialrow_java.xml ttutorialrow_messages.properties ttutorialrow_begin.javajet ttutorialrow_main.javajet ttutorialrow_end.javajet 

this using following code:

ttutorialrow_java.xml:

<component>   <header     plateform="all"     serial=""     version="2.0"     status="alpha"      compatibility="all"     author="talend"     release_date="20070525a"     startable="false"   >     <signature/>   </header>    <families>      <family>helium</family>    </families>     <documentation>     <url/>   </documentation>    <connectors>     <connector ctype="flow" max_input="1"/>     <connector ctype="iterate" max_output="1" max_input="1"/>     <connector ctype="subjob_ok" max_input="1" />     <connector ctype="subjob_error" max_input="1" />     <connector ctype="component_ok" />     <connector ctype="component_error" />     <connector ctype="run_if" />   </connectors>    <parameters>     <parameter name="addresses" field="table" required="true" num_row="3" nb_lines="5" show="true">       <items based_on_schema="false">         <item name="username" />         <item name="domain" />       </items>     </parameter>   </parameters>    <codegeneration/>    <returns>     <return name="nb_line" type="id_integer" availability="after"/>   </returns>  </component> 

ttutorialrow_messages.properties:

long_name=tutorial component help=org.talend.help.tutorialrow  nb_line.name=number of lines addresses.item.username=username addresses.item.domain=domain addresses.name=addresses 

ttutorialrow_begin.javajet:

<%@ jet      imports="         org.talend.core.model.process.inode          org.talend.core.model.process.elementparameterparser          org.talend.core.model.metadata.imetadatatable          org.talend.core.model.metadata.imetadatacolumn          org.talend.core.model.process.iconnection         org.talend.core.model.process.iconnectioncategory         org.talend.designer.codegen.config.codegeneratorargument         org.talend.core.model.metadata.types.javatypesmanager         org.talend.core.model.metadata.types.javatype         java.util.list          java.util.map            "  %> <%      codegeneratorargument codegenargument = (codegeneratorargument) argument;     inode node = (inode)codegenargument.getargument();     string cid = node.getuniquename();       list<map<string, string>> lines = (list<map<string,string>>)elementparameterparser.getobjectvalue(node, "__addresses__"); %>  java.util.list<string> addresses_<%=cid %> = new java.util.arraylist<string>(); <%   (int i=0; i<lines.size(); i++) {     map<string, string> line = lines.get(i); %>     addresses_<%=cid %>.add(<%= line.get("username") %> + "@" + <%= line.get("domain") %>); <%   } %> int nb_line_<%=cid %> = 0; 

ttutorialrow_main.javajet:

<%@ jet      imports="         org.talend.core.model.process.inode          org.talend.core.model.process.elementparameterparser          org.talend.core.model.metadata.imetadatatable          org.talend.core.model.metadata.imetadatacolumn          org.talend.core.model.process.iconnection         org.talend.core.model.process.iconnectioncategory         org.talend.designer.codegen.config.codegeneratorargument         org.talend.core.model.metadata.types.javatypesmanager         org.talend.core.model.metadata.types.javatype         java.util.list          java.util.map            "  %> <%      codegeneratorargument codegenargument = (codegeneratorargument) argument;     inode node = (inode)codegenargument.getargument();     string cid = node.getuniquename();   %>     string[] adresses_<%=cid %> = addresses_<%=cid %>.toarray(new string[] {});      system.out.print(nb_line_<%=cid %>++ + ": ");     (int i_<%=cid %> = 0; i_<%=cid %> < adresses_<%=cid %>.length; i_<%=cid %>++ )     {       system.out.print(adresses_<%=cid %>[i_<%=cid %>]);       if (i_<%=cid %> < adresses_<%=cid %>.length-1) system.out.print(",");     }        system.out.println(); 

ttutorialrow_end.javajet:

<%@ jet      imports="         org.talend.core.model.process.inode          org.talend.core.model.process.elementparameterparser          org.talend.core.model.metadata.imetadatatable          org.talend.core.model.metadata.imetadatacolumn          org.talend.core.model.process.iconnection         org.talend.core.model.process.iconnectioncategory         org.talend.designer.codegen.config.codegeneratorargument         org.talend.core.model.metadata.types.javatypesmanager         org.talend.core.model.metadata.types.javatype         java.util.list          java.util.map            "  %> <%      codegeneratorargument codegenargument = (codegeneratorargument) argument;     inode node = (inode)codegenargument.getargument();     string cid = node.getuniquename();   %>        globalmap.put("<%=cid %>_nb_line",nb_line_<%=cid %>); 

if change files name from:

ttutorialrow_java.xml ttutorialrow_messages.properties ttutorialrow_begin.javajet ttutorialrow_main.javajet ttutorialrow_end.javajet 

to:

myproject_java.xml myproject_messages.properties myproject_begin.javajet myproject_main.javajet myproject_end.javajet 

and update folder name myproject, adding component no longer works. how can add component new name?

thanks!

the answer there naming specifics/requirements incorporating custom component in talend.

the following worked:

i had include folder inside of main folder named tprojectname, containing:

tprojectname_begin.javajet tprojectname_end.javajet tprojectname_icon32.png tprojectname_java.xml tprojectname_main.javajet tprojectname_message.properties 

these files did not have changed @ inside format in question section of stackoverflow question.


Comments

Popular posts from this blog

java - How to specify maven bin in eclipse maven plugin? -

single sign on - Logging into Plone site with credentials passed through HTTP -

php - Why does AJAX not process login form? -