02.05.2014 Views

CoreandServices.book - Ocean - Schlumberger

CoreandServices.book - Ocean - Schlumberger

CoreandServices.book - Ocean - Schlumberger

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Custom Worksteps<br />

{<br />

DescribedArgument arg1 =<br />

new DescribedArgument(<br />

o.first.Name, o.first.Description, ArgumentRole.In);<br />

..<br />

}<br />

}<br />

}<br />

...<br />

// allocate an array and load the objects<br />

// return the array<br />

You can also create a custom derived type and override the protected properties if you<br />

cannot easily create the object via the constructors.<br />

class MyDescribedArgs : DescribedArgument<br />

{<br />

...<br />

}<br />

Advanced - Writing Your Own Argument Package<br />

The only reason to describe your argument package to the system is so <strong>Ocean</strong> can use<br />

your argument package for the convenience functionality. If you do not want to use any of<br />

the <strong>Ocean</strong> conveniences, then you are free to write your own argument package.<br />

Without any <strong>Ocean</strong> clients of your argument package, the only clients will be your own<br />

code: your workstep algorithm and your custom UI. Your argument package will transfer<br />

data back and forth between your UI and your workstep.<br />

You design your argument package with whatever interfaces and interactions you feel are<br />

needed to communicate with your other classes. Once the conveniences are not being<br />

used, <strong>Ocean</strong> places no restrictions on your argument package design.<br />

To recap, this technique means that:<br />

• Your line UI will be a placeholder.<br />

• You must provide a custom dialog UI for the end user to set inputs to your workstep.<br />

• You can not use the Workflow editor interoperability features (AssignToGlobal,<br />

With3DGrid, IgnoreInWorkflow) or the value $variables.<br />

6-300 <strong>Ocean</strong> Application Development Framework 2008.1<br />

<strong>Schlumberger</strong> Private

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!