Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003887Clover Engine(No Category)public2010-03-08 13:522010-03-16 11:22
Reportermvarecha 
Assigned Tomslama 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Versionrel-3-0-0 
Target Versionrel-3-0-0Fixed in Versionrel-3-0-0 
Summary0003887: refactor HTTPConectoru
Descriptionprimarni je, aby HTTP connector byl pouzitelny pro Simple HTTP API serveru:
test page:
http://server-demo-ec2.cloveretl.com/clover/httpapi.jsp [^]
manual:
http://server-demo-ec2.cloveretl.com/clover/docs/simple-http-api.html [^]

k tomu doplnim poznamku od zakaznika, pro ktereho jsme prave toto rozsireni potrebovali.
Jde o ticket v OTRS: Ticket#: 2010022410000128 - Graph Event Listener Reference
V ramci toto ticketu se resi nekolik veci, konkretne te bude zajimat zprava c. 32.

================================================================
Neco malo o psani novych component do enginu:

http://wiki.cloveretl.org/doku.php?id=component_building [^]

neco o jejich registrovani a zprovoznovani v gui, to ale asi nema smysl cist cele, s upravou gui ti muze pomoci Janas

http://www.cloveretl.com/documentation/UserGuide/topic/com.cloveretl.gui.docs/docs_custom_component/index.html [^]

Asi bych uvazoval o knihovne commons-httpclient.jar a tride HttpClient, kterou uz mame v komerecnich komponentach, mela by obsahovat podporu simple http auth. Dale je potreba nejak uhladit omezeni, co se tyce vstupu a vystupu. V podstate zprovoznit GET operaci pres reference v URL inspiraci muze byt komponenta StructureWriter.

Dale jsem v mantisu nasel tyto feature requesty

http://bug.cloveretl.org/view.php?id=3808 [^]
http://bug.cloveretl.org/view.php?id=3805 [^]

Pokud te samozrejme napadnou dalsi vylepseni, tak jen do toho

Kokon

TagsNo tags attached.
OTRS_Ticket_ID
Time estimate (manhours)
Time duration (manhours)
Completion status10
Attached Files

- Relationships

-  Notes
(0007007)
mvarecha (developer)
2010-03-08 13:57

URL atribut by mohl vypadat treba takto:

http://server-demo-ec2.cloveretl.com/clover/request_processor/graph_run?sandbox=${fieldSandbox}&graphID=${fieldGraph} [^]
kde
"fieldGraph"
"fieldSandbox"
jsou nazvy fieldu z metadat ze vstupniho portu.

Na druhou stranu by to chtelo taky automaticky generovat query string z dat na vstupnim portu stylem:
?field1Name=field1Value&field2Name=field2Value

Tyto 2 zpusoby by se mohly bud prepinat, nebo v idealnim pripade zkombinovat, to me ovsem nenapada jak. Jestli te neco napadne, dej vedet.
(0007008)
mvarecha (developer)
2010-03-08 14:00

Dalsi dulezita featura, kterou HTTPConnector neumi je BASIC HTTP Authentication. Server HTTP API se bez ni neobejde a ted se to resi pomoci HTTP Header. O tomto se take pise ve zminenem OTRS ticketu.
(0007021)
mvarecha (developer)
2010-03-09 12:02

Navrh reseni zpracovani HTTP GET parametru

==== atribut URL
obsahuje URL
a] bez placeholderu
http://server-demo-ec2.cloveretl.com/clover/request_processor/graph_run [^]
b] s placeholdery (nemusi se vyskytovat jen v query stringu, ale i v jinych castech URL)
http://server-demo-ec2.cloveretl.com/clover/request_processor/${operation}?sandbox=${sandboxCode}&graphId=${graphId} [^]

==== atribut (boolean) "add input fields as parameters"
a] enabled - k requestu se dynamicky pridaji parametry ze vstupniho portu; Apache Http Client na tohle ma podobne API pro GET i POST;
u POSTU bude nutne rozlisit:
  * pridat do query stringu
  * pridat do body
  * pridat multipart http://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/methods/multipart/MultipartRequestEntity.html [^]
kazdopadne se pridavaji jen ty polozky, ktere nejsou uvedeny v atributu "ignored fields"
b] disabled - k requestu se nic dalsiho nepridava

==== atribut "ignored fields"
seznam vstupnich fieldu oddelenych ; ktere nebudou pouzity pro dynamicke pridani parametru - ovsem jako placeholdery se pouzit daji

==== atribut "multipart entities fields list"
seznam vstupnich fieldu oddelenych ; ktere se vlozi do POST multipart requestu kazdy jako samostatny part
 
==== atributy inFileUrl a outFileUrl
by mely mit stejny vyznam jako dosud
(0007022)
mvarecha (developer)
2010-03-09 13:08

nazvy atributu je mozne zmenit podle potreby, je to jen navrh
- musi byt nejak mozne docilit stejneho chovani jako ma soucasny atribut "inputField". Nevidim v Apache Http Client api primo tuhle moznost, ale nejak to jit musi
(0007028)
mvarecha (developer)
2010-03-09 16:20

jeste me napadlo, ze format placeholderu ${} se pouziva pro parametry v grafu; takze pro placeholdery v URL atributu by bylo dobre zvolit odlisny format tak, aby nevznikaly zadne konflikty
(0007098)
mslama (developer)
2010-03-16 11:22

Vsechny featury tady popsane jsou implementovane. Komponenta navic dovoluje cist url z hrany. Novy format placeholderu v url je *{}

- Issue History
Date Modified Username Field Change
2010-03-08 13:52 mvarecha New Issue
2010-03-08 13:52 mvarecha Status new => assigned
2010-03-08 13:52 mvarecha Assigned To => mslama
2010-03-08 13:57 mvarecha Note Added: 0007007
2010-03-08 14:00 mvarecha Note Added: 0007008
2010-03-08 18:14 csochor Category => (No Category)
2010-03-09 12:02 mvarecha Note Added: 0007021
2010-03-09 13:08 mvarecha Note Added: 0007022
2010-03-09 16:20 mvarecha Note Added: 0007028
2010-03-16 11:22 mslama Note Added: 0007098
2010-03-16 11:22 mslama Status assigned => resolved
2010-03-16 11:22 mslama Fixed in Version => rel-2-10-0
2010-03-16 11:22 mslama Resolution open => fixed


Copyright © 2000 - 2010 MantisBT Group
Powered by Mantis Bugtracker