<div dir="ltr">Hi,<div><br></div><div>just noting: this is, where the processes is deep-copied <a href="https://github.com/geopython/pywps/blob/develop/pywps/app/Service.py#L290">https://github.com/geopython/pywps/blob/develop/pywps/app/Service.py#L290</a></div><div><br></div><div>This is example of how process inputs are "cloned", when created instances while parsing</div><div><a href="https://github.com/geopython/pywps/blob/develop/pywps/app/Service.py#L478">https://github.com/geopython/pywps/blob/develop/pywps/app/Service.py#L478</a><br></div><div><br></div><div>And here is the deepcopy of the input example <a href="https://github.com/geopython/pywps/blob/develop/pywps/inout/inputs.py#L115">https://github.com/geopython/pywps/blob/develop/pywps/inout/inputs.py#L115</a></div><div><br></div><div>What we need to achieve:</div><div><br></div><div>1 - input/output declaration</div><div>2 - describe process, capabilities</div><div>3 - execute:<br>3a - request parsing, </div><div>3b - creating inputs/outputs for job to-be-executed, </div><div>3c - output xml-encoding,</div><div>3d - execute xml ecoding with lineage=true,</div><div>3e - process queuing </div><div><br></div><div>today's implementation uses result of the declaration for 2 and deepcopy for 3, with methods being used for 3a-3e<br><br>no strong opinion about this - it might be confusing, but everything is on place now</div><div><br></div><div>there is surely some more engineering way, how to achieve this. <br><br>I have no idea, how it would be made easier for the user - now, only one class is used. Would you have some code example please?</div><div><br></div><div>J</div></div><br><div class="gmail_quote"><div dir="ltr">so 22. 7. 2017 v 18:36 odesílatel Jorge Mendes de Jesus <<a href="mailto:jorge.dejesus@geocat.net">jorge.dejesus@geocat.net</a>> napsal:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">Hi to all<div dir="auto"><br></div><div dir="auto">I never took a deep look at the code but what you say makes total sense to me.</div><div dir="auto"><br></div><div dir="auto"><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 22 Jul 2017 17:26, "Luís Moreira de Sousa" <<a href="mailto:luis.de.sousa@protonmail.ch" target="_blank">luis.de.sousa@protonmail.ch</a>> wrote:<br type="attribution"><blockquote class="m_-3979028612622272820quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>We have a bit of a mess with the Input class concept. It is firstly instantiated in the Process implementation (by the user). Then it is deep copied to support the actual inputs at run time.<br></div><div><br></div><div>It seems we are bundling two concepts together:<br></div><div>. InputDeclaration - that describes the input name, type, abstract, etc.<br></div><div>. PhysicalInput - that holds the actual data (or path to data) after an Execute request is parsed<br></div><div><br></div><div>By associating the InputDeclaration class to the Process class and PhysicalInput to the Request class we can avoid the deep copy. And make the code more clear.<br></div><div><br></div><div>Please discuss. Cheers.<br></div><div><br></div><div class="m_-3979028612622272820m_-495390254246661682protonmail_signature_block"><div class="m_-3979028612622272820m_-495390254246661682protonmail_signature_block-user"><div>P.S.: this is also true for outputs, but there it is not as critical.<font color="#888888"><br></font></div><font color="#888888"><div><br></div><div>-- <br></div><div>Luís Moreira de Sousa<br></div><div>Im Grund 6<br></div><div>CH-8600 Dübendorf<br></div><div>Switzerland<br></div><div><br></div><div>Phone: <a href="tel:+41%2079%20812%2062%2065" value="+41798126265" target="_blank">+41 (0)79 812 62 65</a><br></div><div>Email: <a href="mailto:luis.de.sousa@protonmail.ch" target="_blank">luis.de.sousa@protonmail.ch</a><br></div><div>URL: <a href="https://sites.google.com/site/luismoreiradesousa" target="_blank">https://sites.google.com/site/luismoreiradesousa</a><br></div></font></div><div class="m_-3979028612622272820m_-495390254246661682protonmail_signature_block-proton m_-3979028612622272820m_-495390254246661682protonmail_signature_block-empty"><br></div></div><div><br></div><br>_______________________________________________<br>
pywps-dev mailing list<br>
<a href="mailto:pywps-dev@lists.osgeo.org" target="_blank">pywps-dev@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/pywps-dev" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/pywps-dev</a><br></blockquote></div><br></div>
_______________________________________________<br>
pywps-dev mailing list<br>
<a href="mailto:pywps-dev@lists.osgeo.org" target="_blank">pywps-dev@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/pywps-dev" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/pywps-dev</a></blockquote></div>