123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed Materials - Property of IBM
- IBM Cognos Products: ps
- (C) Copyright IBM Corp. 2005, 2018
- US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- -->
- <!--
- Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved.
- Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
- -->
- <xts:morphlet xmlns:xts="http://developer.cognos.com/schemas/xts/" messageBase="messages/portal.xml, messages/portalRL.xml">
- <!--
- ===============================================================================================
- updateDeploymentOptions
- A block to update deploymentOptions with the user settings. deploymentOptions are saved as <param name="name=m_p_deploymentOptions/" under
- /root/updateDeploymentOptionsResponse
- ===============================================================================================
- -->
- <xts:block id="updateDeploymentOptions" processor="XSLT" type="exec" condition=".[/root/env/param[@name='m_class']='exportDeployment' or /root/env/param[@name='m_class']='importDeployment']" mandatory="false">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cms="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cms/1/" xmlns:form="http://developer.cognos.com/schemas/xts/portal/iFrmCmd/1/" xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt">
- <xsl:template match="/root">
- <xsl:apply-templates select="command/form:save/form:env"/>
- </xsl:template>
- <xsl:template match="form:env">
- <xts:sequence>
- <!-- update deploymentOptions if saving from the properties page -->
- <xsl:if test="/root/command/form:save/form:env/form:param[@name='m_packagesOp'] = 'updateProperties'">
- <xts:append>
- <send:request provider="xts">
- <updateDeploymentOptions xmlns="http://developer.cognos.com/schemas/xts/portal/iDeployment/1/">
- <env>
- <!-- copy anything in env except m_p_ and changed_m_p_ -->
- <xsl:copy-of select="/root/command/form:save/form:env/*[not(starts-with(@name, 'm_p_') or starts-with(@name, 'changed_m_p_'))]"/>
- </env>
- </updateDeploymentOptions>
- </send:request>
- </xts:append>
- </xsl:if>
- </xts:sequence>
- </xsl:template>
- <xsl:template match="text()"/>
- </xsl:stylesheet>
- </xts:block>
- <!-- unpack the shared pages if they were passed in -->
- <xts:block id="unpackSharedPages" processor="XSLT" type="exec" condition="(/root/env/param[name='m_pp_shared_pages']) or (/root/command/*[local-name()='save']/*[local-name()='env']/*[local-name()='param' and @name='m_pp_shared_pages'])" mandatory="false">
- <xts:logicsheet path="portal/preferences/common/request/request.xslt"/>
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
- xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:rdr="http://developer.cognos.com/schemas/xts/rdr/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:form="http://developer.cognos.com/schemas/xts/portal/iFrmCmd/1/"
- xmlns:xts="http://developer.cognos.com/schemas/xts/">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/root">
- <xts:sequence>
- <xts:delete select="/root/env/param[@name='m_pp_shared_pages']"/>
- <xts:append>
- <xsl:choose>
- <xsl:when test="/root/command/form:save/form:env/form:param[@name='m_pp_shared_pages']">
- <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap', string(/root/command/form:save/form:env/form:param[@name='m_pp_shared_pages'])),true())" disable-output-escaping="yes"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap', string(/root/env/param[@name='m_pp_shared_pages'])),true())" disable-output-escaping="yes"/>
- </xsl:otherwise>
- </xsl:choose>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- updateVariables
- A block to update or create m_p_deploymentOptions.
- ===============================================================================================
- -->
- <xts:block id="updateVariables" processor="XSLT" type="exec" dependency="updateDeploymentOptions" condition=".[/root/env/param[@name='m_class']='exportDeployment' or /root/env/param[@name='m_class']='importDeployment']" mandatory="false">
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cms="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cms/1/" xmlns:form="http://developer.cognos.com/schemas/xts/portal/iFrmCmd/1/" xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt">
- <xsl:template match="/root">
- <xsl:apply-templates select="command/form:save/form:env"/>
- </xsl:template>
- <xsl:template match="form:env">
- <xts:sequence>
- <!-- update m_p_deploymentOptions -->
- <xsl:if test="/root/command/form:save/form:env/form:param[@name='m_packagesOp'] = 'updateProperties'">
- <xts:delete select="/root/command/*[local-name()='save']/*[local-name()='env']/*[@name='m_p_deploymentOptions']"/>
- <xts:append select="/root/command/*[local-name()='save']/*[local-name()='env']">
- <xsl:element name="param" namespace="http://developer.cognos.com/schemas/xts/portal/iFrmCmd/1/">
- <xsl:attribute name="name">m_p_deploymentOptions</xsl:attribute>
- <xsl:value-of select="/root/*[local-name()='updateDeploymentOptionsResponse']/*[@name='m_p_deploymentOptions']"/>
- </xsl:element>
- </xts:append>
- </xsl:if>
- </xts:sequence>
- </xsl:template>
- <xsl:template match="text()"/>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- preSave
- A block to take care of tasks that should be done before the save. For example decoding
- certain parameters like m_p_members or jobSteps.
- ===============================================================================================
- -->
- <xts:block id="preSave" processor="XSLT" type="exec" dependency="updateVariables">
- <xts:logicsheet path="portal/iFrmCmd/logicsheets/cm-save.xsl"/>
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:cms="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cms/1/"
- xmlns:form="http://developer.cognos.com/schemas/xts/portal/iFrmCmd/1/"
- xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <xsl:template match="/root">
- <xsl:apply-templates select="command/form:save/form:env"/>
- <xts:sequence>
- <xsl:if test="key('env-param','preserve_pdf_userPwd')='true' or key('env-param','preserve_pdf_ownerPwd')='true'">
- <xts:append select="/root">
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query>
- <cm:search>
- <xsl:choose>
- <xsl:when test="key('env-param','m_searchPath') != ''">
- <xsl:value-of select="key('env-param','m_searchPath')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="key('env-param','m_obj')"/>
- </xsl:otherwise>
- </xsl:choose>
- </cm:search>
- <cm:properties>
- <cm:property name="options"/>
- </cm:properties>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- </xsl:if>
- <!-- need to verify if the proxy credential object exists. The cheapest way, is to query for it's storeID -->
- <xsl:if test="key('env-param','m_connection_type')='sfdc' and key('env-param','m_class')='dataSourceConnection'">
- <xts:append select="/root">
- <proxyInfo>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query>
- <cm:search><xsl:value-of select="key('env-param', 'm_obj')"/>/credential[@name='proxy']</cm:search>
- <cm:properties>
- <cm:property name="storeID"/>
- </cm:properties>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </proxyInfo>
- </xts:append>
- </xsl:if>
- </xts:sequence>
- </xsl:template>
- <cms:prop-decode/>
- <xsl:template match="form:env">
- <xts:sequence>
- <xsl:if test="form:param[@name='icon_radio'] = 'standard'">
- <!-- set the url value to empty so it can be reset -->
- <xts:delete select="/root/command/*[local-name()='save']/*[local-name()='env']/*[@name='m_p_iconURI']"/>
- <xts:append select="/root/command/*[local-name()='save']/*[local-name()='env']">
- <xsl:element name="param" namespace="http://developer.cognos.com/schemas/xts/portal/iFrmCmd/1/">
- <xsl:attribute name="name">m_p_iconURI</xsl:attribute>
- </xsl:element>
- </xts:append>
- </xsl:if>
- <!-- decode all properties -->
- <xsl:apply-templates select="form:param[@name='emailToRunOptions' or @name='jobOptions' or @name='jobSteps' or starts-with(@name, 'm_p_') or @name='m_rp_parameters']" mode="decode"/>
- </xts:sequence>
- </xsl:template>
- <xsl:template match="text()"/>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- preserveOptionPassword
- A block to preserve the pdf options passwod.
- ===============================================================================================
- -->
- <xts:block id="preserveOptionPassword" processor="XSLT" type="exec" dependency="preSave">
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <xsl:template match="/root">
- <xsl:variable name="options" select="/root/*[local-name()='queryResponse']/*/*[local-name()='options']/*[local-name()='value']"/>
- <xts:sequence>
- <xsl:if test="key('env-param','preserve_pdf_userPwd')='true' or key('env-param','preserve_pdf_ownerPwd')='true'">
- <xts:append select="/root/env">
- <xsl:if test="key('env-param','preserve_pdf_userPwd')='true'">
- <param name="m_pdf_userPassword_runOption_Encrypted">
- <xsl:value-of select="$options/*[local-name()='item' and *[local-name()='name']='userPassword']/*[local-name()='value']"/>
- </param>
- </xsl:if>
- <xsl:if test="key('env-param','preserve_pdf_ownerPwd')='true'">
- <param name="m_pdf_ownerPassword_runOption_Encrypted">
- <xsl:value-of select="$options/*[local-name()='item' and *[local-name()='name']='ownerPassword']/*[local-name()='value']"/>
- </param>
- </xsl:if>
- </xts:append>
- </xsl:if>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ================================================================================
- create an encrypted credention for any option password
- ================================================================================
- -->
- <xts:block id="processOptionPassword" nodelist="env" path="/portal/genOptionCredentials.xslt" dependency="preSave" type="exec" mode="interpret" processor="XSLT" mandatory="false" condition=".[/root/env/param[contains(@name, 'Password_runOption')] != '']"/>
- <!--
- ===============================================================================================
- updateChildObjects
- Some objects have collections of child objects that must be managed as part of the save
- operation. This is done before saving the parent object, to avoid problems with permissions
- being changed in the same save operation.
- ===============================================================================================
- -->
- <xts:block id="updateChildObjects" dependency="preSave" processor="XSLT" type="exec"
- condition=".[(/root/steps | /root/signons) and not(/root/env/param[@name='run_with_options_job'])]" mandatory="false">
- <xts:logicsheet path="portal/iFrmCmd/logicsheets/cm-save.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:form="http://developer.cognos.com/schemas/xts/portal/iFrmCmd/1/"
- xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
- xmlns:x="x"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt">
- <xsl:key name="form-param" match="/root/command/form:save/form:env/form:param" use="@name"/>
- <xsl:template match="/">
- <xts:sequence>
- <xsl:for-each select="/root/steps">
- <!-- Handle any deletes that are required -->
- <xsl:if test="count(*/cm:jobStepDefinition[x:deleted]) > 0">
- <xts:append>
- <deletedSteps>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:delete xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:objects>
- <xsl:for-each select="*/cm:jobStepDefinition[x:deleted]">
- <cm:jobStepDefinition>
- <cm:searchPath><xsl:value-of select="cm:searchPath"/></cm:searchPath>
- </cm:jobStepDefinition>
- </xsl:for-each>
- </cm:objects>
- <cm:options recursive="true" force="true"/>
- </cm:delete>
- </xts:transform>
- </send:request>
- </xts:transform>
- </deletedSteps>
- </xts:append>
- </xsl:if>
- <!-- Handle any adds that are required -->
- <xsl:if test="count(*/cm:jobStepDefinition[x:added]) > 0">
- <xts:append>
- <addedSteps>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <add xmlns="http://developer.cognos.com/schemas/xts-cm/1/">
- <objects>
- <xsl:for-each select="*/cm:jobStepDefinition[x:added]">
- <jobStepDefinition>
- <searchPath>
- <xsl:value-of select="key('form-param', 'm_obj')"/>
- </searchPath>
- <displaySequence>
- <xsl:value-of select="cm:displaySequence"/>
- </displaySequence>
- <stepObject>
- <xsl:element name="{local-name(cm:stepObject/*[1])}" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <searchPath>
- <xsl:value-of select="cm:stepObject/*[1]/cm:searchPath"/>
- </searchPath>
- </xsl:element>
- </stepObject>
- <!-- commented until the CM object changes have been completed-->
- <xsl:if test="*[local-name()='options']/*">
- <xsl:copy-of select="*[local-name()='options']"/>
- </xsl:if>
- <parameters>
- <xsl:copy-of select="*[local-name()='parameters']/*"/>
- </parameters>
- </jobStepDefinition>
- </xsl:for-each>
- </objects>
- <options updateAction="fail"/>
- </add>
- </xts:transform>
- </send:request>
- </xts:transform>
- </addedSteps>
- </xts:append>
- </xsl:if>
- <!-- Handle any updates that are required -->
- <xsl:if test="count(*/cm:jobStepDefinition[x:updated]) > 0">
- <xts:append>
- <addedSteps>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <update xmlns="http://developer.cognos.com/schemas/xts-cm/1/">
- <objects>
- <xsl:for-each select="*/cm:jobStepDefinition[x:updated]">
- <jobStepDefinition>
- <searchPath><xsl:value-of select="cm:searchPath"/></searchPath>
- <displaySequence>
- <xsl:value-of select="cm:displaySequence"/>
- </displaySequence>
- <xsl:choose>
- <xsl:when test="*[local-name()='options']">
- <xsl:copy-of select="*[local-name()='options']"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:element name="options" namespace="">
- <xsl:attribute name="xsi:type">cm:optionArrayProp</xsl:attribute>
- <xsl:element name="value" namespace="">
- <xsl:attribute name="xsi:type">SOAP-ENC:Array</xsl:attribute>
- <xsl:attribute name="SOAP-ENC:arrayType">cm:option[0]</xsl:attribute>
- </xsl:element>
- </xsl:element>
- </xsl:otherwise>
- </xsl:choose>
- <parameters>
- <xsl:copy-of select="*[local-name()='parameters']/*"/>
- </parameters>
- <xsl:if test="x:linkedOrphaned">
- <stepObject>
- <xsl:element name="{local-name(cm:stepObject/*[1])}" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <searchPath>
- <xsl:value-of select="cm:stepObject/*[1]/cm:searchPath"/>
- </searchPath>
- </xsl:element>
- </stepObject>
- </xsl:if>
- </jobStepDefinition>
- </xsl:for-each>
- </objects>
- </update>
- </xts:transform>
- </send:request>
- </xts:transform>
- </addedSteps>
- </xts:append>
- </xsl:if>
- </xsl:for-each>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- updateProxyHostSettings
- Update the DataSourceConnection's proxy host credentials child if a Salesforce.com Datasource
- Connection is being updated.
- ===============================================================================================
- -->
- <xts:block id="updateProxyHostSettings" dependency="preSave" processor="XSLT" type="exec"
- condition=".[/root/env/param[@name='m_connection_type']='sfdc' and /root/env/param[@name='m_class']='dataSourceConnection']" mandatory="false">
- <xts:logicsheet path="portal/iFrmCmd/logicsheets/cm-save.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:form="http://developer.cognos.com/schemas/xts/portal/iFrmCmd/1/"
- xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
- xmlns:x="x"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt">
- <xsl:key name="form-param" match="/root/command/form:save/form:env/form:param" use="@name"/>
- <xsl:template match="/">
- <xts:sequence>
- <xsl:variable name="proxyCredentialExists" select="/root/proxyInfo/cm:queryResponse/cm:credential"/>
- <xsl:choose>
- <xsl:when test="/root/env/param[@name='m_connection_proxy_enabled']='true'">
- <xsl:choose>
- <!-- proxy credential already exists - just update it -->
- <xsl:when test="$proxyCredentialExists">
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <update xmlns="http://developer.cognos.com/schemas/xts-cm/1/">
- <objects>
- <credential>
- <searchPath><xsl:value-of select="key('form-param', 'm_obj')"/>/credential[@name='proxy']</searchPath>
- <credentials>
- <xsl:value-of select="substring-before(substring-after(xtsext:xmldecode( string(key('form-param', 'm_proxy_credentials'))), '<encryptedValue>'), '</encryptedValue>')"/>
- </credentials>
- </credential>
- </objects>
- </update>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xsl:when>
- <!-- proxy credential does not exist - add it -->
- <xsl:otherwise>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <add xmlns="http://developer.cognos.com/schemas/xts-cm/1/">
- <search>
- <xsl:value-of select="key('form-param', 'm_obj')"/>
- </search>
- <objects>
- <credential>
- <defaultName>proxy</defaultName>
- <defaultDescription>
- <xsl:value-of select="/root/command/form:create/form:env/form:param[@name='m_proxy_signon']"/>
- </defaultDescription>
- <credentials>
- <xsl:value-of select="substring-before(substring-after(xtsext:xmldecode( string(key('form-param', 'm_proxy_credentials'))), '<encryptedValue>'), '</encryptedValue>')"/>
- </credentials>
- <xsl:variable name="tenantID" select="/root/command/form:create/form:env/form:param[@name='m_p_tenantID']"/>
- <xsl:if test="$tenantID">
- <tenantID><xsl:value-of select="$tenantID"/></tenantID>
- </xsl:if>
- </credential>
- </objects>
- </add>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <!-- proxy credentials checkbox not checked - delete the credential if it exists-->
- <xsl:otherwise>
- <xsl:if test="$proxyCredentialExists">
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <delete xmlns="http://developer.cognos.com/schemas/xts-cm/1/">
- <objects>
- <cm:credential>
- <searchPath><xsl:value-of select="key('form-param', 'm_obj')"/>/credential[@name='proxy']</searchPath>
- </cm:credential>
- </objects>
- <cm:options recursive="true" force="true"/>
- </delete>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="updatePortletInstances" processor="XSLT" type="exec"
- condition=".[
- /root/env/param[@name='pagexml'] or
- /root/env/param[starts-with(@name, 'm_mp_portlet')] or
- /root/env/param[starts-with(@name, 'm_mp_saved_portlet')]
- ]" mandatory="false">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:form="http://developer.cognos.com/schemas/xts/portal/iFrmCmd/1/"
- xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
- xmlns:cps="http://developer.cognos.com/schemas/cps/asm/objects/1/">
- <xsl:template match="/root">
- <!-- Make a list of portlets to delete -->
- <xsl:variable name="portlets-to-delete">
- <xsl:choose>
- <!-- Using layout 1.1 version of page editor -->
- <xsl:when test="command/form:save/form:env/form:param[@name = 'pagexml']">
- <xsl:for-each select="command/form:save/form:env/form:param[@name = 'm_mp_portlet']">
- <xsl:if test="not(/root/command/form:save/form:env/form:param[@name = 'pagexml']/*/cps:portletInstance[cps:id = string(current())])">
- <cm:portletInstance>
- <cm:searchPath><xsl:value-of select="/root/command/form:save/form:env/form:param[@name='m_obj']"/>/portletInstance[@name='<xsl:value-of select="."/>']</cm:searchPath>
- </cm:portletInstance>
- </xsl:if>
- </xsl:for-each>
- </xsl:when>
- <!-- Using layout 1.0 version of page editor -->
- <xsl:when test="command/form:save/form:env/form:param[starts-with(@name, 'm_mp_saved_portlet') and . = 'remove']">
- <xsl:for-each select="command/form:save/form:env/form:param[starts-with(@name, 'm_mp_saved_portlet') and . = 'remove']">
- <cm:portletInstance>
- <cm:searchPath><xsl:value-of select="/root/command/form:save/form:env/form:param[@name='m_obj']"/>/portletInstance[@name='<xsl:value-of select="substring-after(@name, 'm_mp_saved_portlet_')"/>']</cm:searchPath>
- </cm:portletInstance>
- </xsl:for-each>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
- <!-- Make a list of portlets to add -->
- <xsl:variable name="portlets-to-add">
- <xsl:choose>
- <!-- Using layout 1.1 version of page editor -->
- <xsl:when test="command/form:save/form:env/form:param[@name = 'pagexml']">
- <xsl:for-each select="command/form:save/form:env/form:param[@name = 'pagexml']/*/cps:portletInstance">
- <xsl:if test="not(/root/command/form:save/form:env/form:param[@name='m_mp_portlet' and .=string(current()/cps:id)])">
- <cm:portletInstance>
- <cm:searchPath><xsl:value-of select="/root/command/form:save/form:env/form:param[@name='m_obj']"/></cm:searchPath>
- <cm:defaultName><xsl:value-of select="cps:id"/></cm:defaultName>
- <cm:portlet>
- <cm:baseClass>
- <cm:searchPath><xsl:value-of select="concat('storeID("', cps:portletId, '")')"/></cm:searchPath>
- </cm:baseClass>
- </cm:portlet>
- </cm:portletInstance>
- </xsl:if>
- </xsl:for-each>
- </xsl:when>
- <!-- Using layout 1.0 version of page editor -->
- <xsl:when test="command/form:save/form:env/form:param[starts-with(@name, 'm_mp_portlet_')]">
- <xsl:for-each select="command/form:save/form:env/form:param[starts-with(@name, 'm_mp_portlet_')]">
- <!-- Each portlet that has not been flagged as "saved" must be new -->
- <xsl:variable name="portletID" select="substring-after(@name, 'm_mp_portlet_')"/>
- <xsl:if test="not(/root/command/form:save/form:env/form:param[@name = concat('m_mp_saved_portlet_', $portletID)])">
- <cm:portletInstance>
- <cm:searchPath><xsl:value-of select="/root/command/form:save/form:env/form:param[@name='m_obj']"/></cm:searchPath>
- <cm:defaultName><xsl:value-of select="$portletID"/></cm:defaultName>
- <cm:portlet>
- <cm:baseClass>
- <cm:searchPath><xsl:value-of select="."/></cm:searchPath>
- </cm:baseClass>
- </cm:portlet>
- </cm:portletInstance>
- </xsl:if>
- </xsl:for-each>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
- <xts:sequence>
- <!-- CM command to delete -->
- <xsl:if test="count($portlets-to-delete/cm:portletInstance) > 0">
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:delete xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:objects>
- <xsl:copy-of select="$portlets-to-delete"/>
- </cm:objects>
- <cm:options recursive="true" force="true"/>
- </cm:delete>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xsl:if>
- <!-- CM command to add -->
- <xsl:if test="count($portlets-to-add/cm:portletInstance) > 0">
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:add>
- <cm:objects>
- <xsl:copy-of select="$portlets-to-add"/>
- </cm:objects>
- <cm:options updateAction="fail"/>
- </cm:add>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xsl:if>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- doFormCommand
- Updates an object in CM based on parameters passed in.
- Should create a CM command like so:
- <update xmlns="http://developer.cognos.com/schemas/xts-cm/1/">
- <objects>
- <$m_class>
- <defaultName>new/old name</defaultName>
- <defaultDescription>An updated description for report1</defaultDescription>
- ...
- </$m_class>
- </objects>
- </update>
- ===============================================================================================
- -->
- <xts:block id="doFormCommand" dependency="updateChildObjects updateProxyHostSettings unpackSharedPages updatePortletInstances preserveOptionPassword processOptionPassword" processor="XSLT" type="exec">
- <xts:logicsheet path="portal/iFrmCmd/logicsheets/cm-save.xsl"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xts:logicsheet path="logicsheets/propertiesSettings/durationProperty.xslt"/>
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:psdp="http://developer.cognos.com/schemas/xts/logicsheet/xslt/propertiesSettings/durationProperty/"
- xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:cms="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cms/1/"
- xmlns:xts="http://developer.cognos.com/schemas/xts/"
- xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:form="http://developer.cognos.com/schemas/xts/portal/iFrmCmd/1/"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:dls="http://developer.cognos.com/schemas/deliveryService/1"
- exclude-result-prefixes="xsl SOAP-ENC xsi cms xts send cm form bus pf xtsext">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <!-- global application variables -->
- <pf:variables/>
- <xsl:key name="form-param" match="/root/command/form:save/form:env/form:param" use="@name"/>
- <xsl:variable name="notAcquirable">
- <parms>
- <name>periodicalDocumentVersionRetentionCount</name>
- <name>periodicalDocumentVersionRetentionAge</name>
- <name>metadataInformationURI</name>
- <name>glossaryURI</name>
- <name>temporaryObjectLocation</name>
- <name>temporaryObjectLifetime</name>
- <name>collaborationDiscoveryURI</name>
- <name>cookieCAMPassportHttpOnly</name>
- <name>bpmRestURI</name>
- </parms>
- </xsl:variable>
- <psdp:durationConvertors/>
- <xsl:template match="/root">
- <xsl:apply-templates select="command/form:save/form:env"/>
- </xsl:template>
- <xsl:template match="form:env">
- <xts:sequence>
- <xsl:variable name="sharePages-fragement">
- <!-- if there is no sharedPagesListForDisplay that means none was -->
- <!-- passed in so we did not even look at the portalPages so we -->
- <!-- do not need this fragement -->
- <xsl:if test="/root/sharedPagesListForDisplay">
- <xsl:element name="cm:portalPages">
- <xsl:attribute name="xsi:type">cm:baseClassArrayProp</xsl:attribute>
- <xsl:element name="value" namespace="">
- <xsl:attribute name="xsi:type">SOAP-ENC:Array</xsl:attribute>
- <xsl:attribute name="SOAP-ENC:arrayType">tns:baseClass[]</xsl:attribute>
- <xsl:for-each select="/root/sharedPagesListForDisplay/pagelet">
- <cm:pageletRef>
- <cm:searchID>
- <!-- the searchPath for object references can either be a -->
- <!-- searchPath or an object a storeid. We use a storeid -->
- <xsl:value-of select="cm:storeID"/>
- </cm:searchID>
- </cm:pageletRef>
- </xsl:for-each>
- </xsl:element>
- </xsl:element>
- </xsl:if>
- </xsl:variable>
- <!-- construct the security policies fragment if it needs to be updated. -->
- <xsl:variable name="securityPolicies-fragment">
- <xsl:if test="form:param[starts-with(@name,'m_permissions_')]">
- <xts:transform src="transforms/CM/pre-process-policy.xslt" processor="XSLT">
- <policies>
- <xsl:if test="key('form-param', 'm_permissions_replace')='true'">
- <xsl:attribute name="updateAllDescendents">true</xsl:attribute>
- </xsl:if>
- <!-- This function takes the JSON policies and converts them to the XML format that we expect. -->
- <xsl:if test="key('form-param', 'm_permissions_overridePolicy')='true'">
- <xts:function name="CreatePolicies">
- <xts:param name="policies">
- <xts:queryValue select="/root/command/*[local-name()='save']/*[local-name()='env']/*[local-name()='param'][@name='m_permissions_JSON']"/>
- </xts:param>
- </xts:function>
- </xsl:if>
- </policies>
- </xts:transform>
- </xsl:if>
- </xsl:variable>
- <!-- construct the capability policies fragment if it needs to be updated. -->
- <xsl:variable name="capabilityPolicies-fragment">
- <xsl:if test="form:param[starts-with(@name,'m_userCapabilityPolicies_')]">
- <xts:transform src="transforms/CM/pre-process-policy.xslt" processor="XSLT">
- <userCapabilityPolicies>
- <xsl:if test="key('form-param', 'm_userCapabilityPolicies_replace')='true'">
- <xsl:attribute name="updateAllDescendents">true</xsl:attribute>
- </xsl:if>
- <!-- This function takes the JSON policies and converts them to the XML format that we expect. -->
- <xsl:if test="key('form-param', 'm_userCapabilityPolicies_overridePolicy')='true'">
- <xts:function name="CreatePolicies">
- <xts:param name="policies">
- <xts:queryValue select="/root/command/*[local-name()='save']/*[local-name()='env']/*[local-name()='param'][@name='m_userCapabilityPolicies_JSON']"/>
- </xts:param>
- </xts:function>
- </xsl:if>
- </userCapabilityPolicies>
- </xts:transform>
- </xsl:if>
- </xsl:variable>
- <!-- construct the dataSourceCapabilities fragment -->
- <xsl:variable name="dataSourceCapabilities-fragment">
- <xsl:choose>
- <xsl:when test="form:param[@name='m_class']='dataSource' and string(key('env-param', 'm_dscap'))!=''">
- <cm:dataSourceCapabilities>
- <xsl:for-each select="key('env-param', 'm_dscap')">
- <cm:capability>
- <xsl:value-of select="concat('http://developer.cognos.com/ceba/constants/dataSourceCapabilityEnum#', string(.))"/>
- </cm:capability>
- </xsl:for-each>
- </cm:dataSourceCapabilities>
- </xsl:when>
- <xsl:when test="form:param[@name='m_class']='dataSource' and string(key('env-param', 'm_dscap'))='' and key('env-param', 'changed_m_dscap')='1'">
- <cm:dataSourceCapabilities>
- </cm:dataSourceCapabilities>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
- <!-- construct the generic properties fragment if it needs to be updated and
- process properties that we want to reset their values (i.e. xsi:nil="true") -->
- <xsl:variable name="properties-fragment">
- <xsl:apply-templates select="form:param[starts-with(@name, 'm_p_') or starts-with(@name, 'm_cbp_') or starts-with(@name, 'm_pc_') or starts-with(@name, 'reset_')]"/>
- </xsl:variable>
- <xsl:variable name="properties-duration">
- <xsl:if test="form:param[@name='m_class'] and form:param[@name='m_class']!='importDeployment' and form:param[@name='m_class']!='exportDeployment'">
- <xsl:apply-templates select="form:param[starts-with(@name, 'dura_property_')]"/>
- </xsl:if>
- </xsl:variable>
- <!-- Construct the policy list for the account credential. -->
- <xsl:variable name="credential-policies">
- <xsl:if test="key('form-param','credential_list')!=''">
- <cm:credential>
- <cm:searchPath><xsl:value-of select="concat(key('form-param','m_obj'),'/credential')"/></cm:searchPath>
- <xts:transform src="transforms/portal/credential/build-policies.xslt" processor="XSLT">
- <cm:policies>
- <credential>
- <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap', string(form:param[@name='credential_list'])),true())" disable-output-escaping="yes"/>
- </credential>
- <cm:policy>
- <cm:securityObject>
- <cm:searchPath>
- <xsl:value-of select="form:param[@name='credential_self']"/>
- </cm:searchPath>
- </cm:securityObject>
- <cm:permission name="setPolicy" access="grant"/>
- <cm:permission name="write" access="grant"/>
- <cm:permission name="read" access="grant"/>
- <cm:permission name="execute" access="grant"/>
- </cm:policy>
- </cm:policies>
- </xts:transform>
- </cm:credential>
- </xsl:if>
- </xsl:variable>
- <!-- construct the runoptions if we're dealing with a job -->
- <xsl:variable name="jobOptions-fragment">
- <xsl:if test="(form:param[@name='page_is_read_only']='false') and (form:param[starts-with(@name, 'm_ro_')] and form:param[@name='m_class']='jobDefinition' and not(form:param[@name='run_with_options_job']))">
- <xsl:choose>
- <xsl:when test="/root/*[local-name()='jobOptions']/*[local-name()='options'] or form:param[@name='m_jo_continueOnError']='true'">
- <xts:transform src="transforms/portal/options/buildOptions.xslt" processor="XSLT">
- <root>
- <!-- copy the job options and rebuild the options and value elements since the count might be wrong -->
- <xsl:copy-of select="/root/*[local-name()='jobOptions']/*[local-name()='options']/*[local-name()='value']/*"/>
- <xts:transform src="transforms/portal/options/buildOptionItems.xslt" processor="XSLT">
- <root>
- <xsl:copy-of select="/root/env"/>
- <xts:transform name="XML" src="portal/options.xml"/>
- <optionType>jobOptions</optionType>
- </root>
- </xts:transform>
- </root>
- </xts:transform>
- </xsl:when>
- <xsl:otherwise>
- <xsl:element name="options" namespace="">
- <xsl:attribute name="xsi:type">cm:optionArrayProp</xsl:attribute>
- <xsl:element name="value" namespace="">
- <xsl:attribute name="xsi:type">SOAP-ENC:Array</xsl:attribute>
- <xsl:attribute name="SOAP-ENC:arrayType">cm:option[0]</xsl:attribute>
- </xsl:element>
- </xsl:element>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- </xsl:variable>
- <!-- construct the powerPlayOptions fragment -->
- <xsl:variable name="powerPlayOptions-fragment">
- <xsl:if test="form:param[@name='m_class']='powerPlayReport' and form:param[starts-with(@name, 'm_ppro_') or starts-with(@name,'changed_m_ppro_')]">
- <xts:transform src="transforms/portal/options/buildOptions.xslt" processor="XSLT">
- <root>
- <xts:transform src="transforms/portal/options/buildOptionItems.xslt" processor="XSLT">
- <root>
- <xts:transform src="transforms/portal/options/cleanEnv.xslt" processor="XSLT">
- <root>
- <xsl:copy-of select="/root/env"/>
- </root>
- </xts:transform>
- <xts:transform name="XML" src="portal/options.xml"/>
- <optionType>powerPlayOptions</optionType>
- </root>
- </xts:transform>
- </root>
- </xts:transform>
- </xsl:if>
- </xsl:variable>
- <!-- construct the powerPlay8Options fragment -->
- <xsl:variable name="powerPlay8Options-fragment">
- <xsl:if test="(form:param[@name='m_class']='powerPlay8Report' or form:param[@name='m_class']='powerPlay8ReportView') and form:param[starts-with(@name, 'm_pp8ro_') or starts-with(@name,'changed_m_pp8ro_')]">
- <xts:transform src="transforms/portal/options/buildOptions.xslt" processor="XSLT">
- <root>
- <xts:transform src="transforms/portal/options/buildOptionItems.xslt" processor="XSLT">
- <root>
- <xts:transform src="transforms/portal/options/cleanEnv.xslt" processor="XSLT">
- <root>
- <xsl:copy-of select="/root/env"/>
- </root>
- </xts:transform>
- <xts:transform name="XML" src="portal/options.xml"/>
- <optionType>powerPlay8Options</optionType>
- </root>
- </xts:transform>
- </root>
- </xts:transform>
- </xsl:if>
- </xsl:variable>
- <!-- construct the metricsOptions fragment -->
- <xsl:variable name="metricsOptions-fragment">
- <xsl:if test="contains('metricsFileImportTask metricsDataSourceETLTask metricsMaintenanceTask', form:param[@name='m_class']) and form:param[starts-with(@name, 'm_mo_') or starts-with(@name,'changed_m_mo_')]">
- <xts:transform src="transforms/portal/options/buildOptions.xslt" processor="XSLT">
- <root>
- <xts:transform src="transforms/portal/options/buildOptionItems.xslt" processor="XSLT">
- <root>
- <xts:transform src="transforms/portal/options/cleanEnv.xslt" processor="XSLT">
- <root>
- <xsl:copy-of select="/root/env"/>
- </root>
- </xts:transform>
- <xts:transform name="XML" src="portal/options.xml"/>
- <optionType>metricsOptions</optionType>
- </root>
- </xts:transform>
- </root>
- </xts:transform>
- </xsl:if>
- </xsl:variable>
- <xsl:variable name="contentTaskOptions-fragment">
- <xsl:if test="string(form:param[@name='readOnlyAccess'])!='true'">
- <xsl:if test="form:param[@name='m_class']='contentTask' and (form:param[starts-with(@name, 'cto_') or starts-with(@name,'changed_cto_')] or form:param[@name='contentTaskType']='reportUpgrade')">
- <xts:transform src="transforms/portal/options/buildOptions.xslt" processor="XSLT">
- <root>
- <xts:transform src="transforms/portal/options/buildOptionItems.xslt" processor="XSLT">
- <root>
- <xsl:copy-of select="/root/env"/>
- <xts:transform name="XML" src="portal/options.xml"/>
- <optionType>contentTaskProperties</optionType>
- <optionType>contentTaskOptions</optionType>
- </root>
- </xts:transform>
- </root>
- </xts:transform>
- </xsl:if>
- </xsl:if>
- </xsl:variable>
- <xsl:variable name="indexOptions-fragment">
- <xsl:if test="string(form:param[@name='readOnlyAccess'])!='true'">
- <xsl:if test="form:param[@name='m_class']='indexUpdateTask' and (form:param[starts-with(@name, 'm_io_includedObjects')])">
- <xts:transform src="transforms/portal/options/buildOptions.xslt" processor="XSLT">
- <root>
- <xts:transform src="transforms/portal/options/buildOptionItems.xslt" processor="XSLT">
- <root>
- <xsl:copy-of select="/root/env"/>
- <xts:transform name="XML" src="portal/options.xml"/>
- <optionType>indexOptions</optionType>
- </root>
- </xts:transform>
- </root>
- </xts:transform>
- </xsl:if>
- </xsl:if>
- </xsl:variable>
- <xsl:variable name="portalOptions-fragment">
- <xsl:if test="form:param[@name='m_class']='account' and form:param[starts-with(@name, 'm_po_') or starts-with(@name,'changed_m_po_')]">
- <xts:transform src="transforms/portal/options/buildOptions.xslt" processor="XSLT">
- <root>
- <xts:transform src="transforms/portal/options/buildOptionItems.xslt" processor="XSLT">
- <root>
- <xts:transform src="transforms/portal/options/cleanEnv.xslt" processor="XSLT">
- <root>
- <env>
- <xsl:for-each select="/root/command/form:save/form:env/form:param">
- <param name="{@name}">
- <xsl:value-of select="."/>
- </param>
- </xsl:for-each>
- </env>
- </root>
- </xts:transform>
- <xts:transform name="XML" src="portal/options.xml"/>
- <optionType>portalOptions</optionType>
- <optionType>genericOptions</optionType>
- <optionType>bidiOptions</optionType>
- </root>
- </xts:transform>
- </root>
- </xts:transform>
- </xsl:if>
- </xsl:variable>
- <!-- construct the options if we're dealing with a queryServiceTask -->
- <xsl:variable name="queryServiceTaskOptions-fragment">
- <xsl:if test="(form:param[@name='m_queryServiceOptions'] and form:param[@name='m_class']='queryServiceTask' and (form:param[@name='changed_m_queryServiceOptions']='1'))">
- <xsl:value-of select="form:param[@name='m_queryServiceOptions']" disable-output-escaping="yes"/>
- </xsl:if>
- </xsl:variable>
- <!-- construct the reportingExecution fragement. -->
- <!-- WO 122 - handle re-establishing metadataModelPackage when orphaned -->
- <xsl:variable name="reportingExecution">
- <xsl:if test="key('env-param','visited_run_options_property') = 'true'">
- <xsl:choose>
- <!-- when the user selected to override the default report options -->
- <xsl:when test="form:param[@name='override_default_reportOptions']='true' or form:param[@name='override_outputFormat_option']='true' ">
- <!-- build the options array -->
- <xts:transform src="transforms/portal/options/buildOptions.xslt" processor="XSLT">
- <root>
- <xts:transform src="transforms/portal/options/buildOptionItems.xslt" processor="XSLT">
- <root>
- <xts:transform src="transforms/portal/options/cleanEnv.xslt" processor="XSLT">
- <root>
- <xsl:copy-of select="/root/env"/>
- </root>
- </xts:transform>
- <xts:transform name="XML" src="portal/options.xml"/>
- <optionType>runOptions</optionType>
- <optionType>pdfOptions</optionType>
- <optionType>archiveOptions</optionType>
- <optionType>genericOptions</optionType>
- <genDefaults>false</genDefaults>
- <reportOptions>true</reportOptions>
- </root>
- </xts:transform>
- </root>
- </xts:transform>
- <!-- need to keep the old report execution options in sync with the options array -->
- <cm:executionFormat><xsl:value-of select="form:param[@name='m_ro_outputFormat']"/></cm:executionFormat>
- <xsl:choose>
- <xsl:when test="form:param[@name='m_ro_outputFormat']='PDF'">
- <cm:executionPageOrientation>
- <xsl:if test="form:param[@name='m_ro_outputPageOrientation'] != 'default'">
- <xsl:value-of select="form:param[@name='m_ro_outputPageOrientation']"/>
- </xsl:if>
- </cm:executionPageOrientation>
- <cm:executionPageDefinition>
- <xsl:if test="form:param[@name='m_ro_outputPageDefinition'] != 'default'">
- <cm:pageDefinition>
- <xsl:value-of select="form:param[@name='m_ro_outputPageDefinition']"/>
- </cm:pageDefinition>
- </xsl:if>
- </cm:executionPageDefinition>
- </xsl:when>
- <xsl:otherwise>
- <cm:executionPageOrientation/>
- <cm:executionPageDefinition/>
- </xsl:otherwise>
- </xsl:choose>
- <cm:executionLocale><xsl:value-of select="form:param[@name='m_ro_outputLocale']"/></cm:executionLocale>
- </xsl:when>
- <xsl:otherwise>
- <cm:executionFormat/>
- <cm:executionPageOrientation/>
- <cm:executionPageDefinition/>
- <cm:executionLocale/>
- <!--
- Special case to handle options that are outside the 'override the defauls' section
- -->
- <xts:transform src="transforms/portal/options/buildOptions.xslt" processor="XSLT">
- <root>
- <xts:transform src="transforms/portal/options/buildOptionItems.xslt" processor="XSLT">
- <root>
- <env>
- <param name="m_ro_prompt">
- <xsl:choose>
- <xsl:when test="form:param[@name='m_ro_prompt']">true</xsl:when>
- <xsl:otherwise>false</xsl:otherwise>
- </xsl:choose>
- </param>
- <param name="m_ro_selectionBasedFeatures">
- <xsl:value-of select="form:param[@name='m_ro_selectionBasedFeatures']"/>
- </param>
- <param name="m_ro_verticalElements">
- <xsl:value-of select="form:param[@name='m_ro_verticalElements']"/>
- </param>
- <param name="m_ro_advancedOutput">
- <xsl:value-of select="form:param[@name='m_ro_advancedOutput']"/>
- </param>
- <param name="m_ro_allowAnnotations">
- <xsl:value-of select="form:param[@name='m_ro_allowAnnotations']"/>
- </param>
- <param name="m_ro_promptCacheMode">
- <xsl:value-of select="form:param[@name='m_ro_promptCacheMode']"/>
- </param>
- </env>
- <xts:transform name="XML" src="portal/options.xml"/>
- <optionType>runOptions</optionType>
- <genDefaults>false</genDefaults>
- <reportOptions>true</reportOptions>
- </root>
- </xts:transform>
- </root>
- </xts:transform>
- </xsl:otherwise>
- </xsl:choose>
- <!-- We only set the runAsOwner when runAsOwner or runWithOwnerCapabilities property has changed -->
- <xsl:if test="form:param[@name='changed_m_re_runAsOwner']='1' or form:param[@name='changed_m_re_runWithOwnerCapabilities']='1'">
- <cm:runAsOwner><xsl:value-of select="form:param[@name='m_re_runAsOwner']='true' and not(form:param[@name='m_re_runWithOwnerCapabilities']='true')"/></cm:runAsOwner>
- </xsl:if>
- <!-- We only set the runWithOwnerCapabilities when runWithOwnerCapabilities property has changed -->
- <xsl:if test="form:param[@name='changed_m_re_runWithOwnerCapabilities']='1' and key('env-param','m_class') != 'reportView'">
- <cm:runWithOwnerCapabilities><xsl:value-of select="form:param[@name='m_re_runWithOwnerCapabilities']='true'"/></cm:runWithOwnerCapabilities>
- </xsl:if>
- <cm:executionPrompt>
- <xsl:choose>
- <xsl:when test="form:param[@name='m_ro_prompt']">true</xsl:when>
- <xsl:otherwise>false</xsl:otherwise>
- </xsl:choose>
- </cm:executionPrompt>
- </xsl:if>
- <xsl:if test="form:param[@name='m_class']='agentDefinition' or form:param[@name='m_class']='agentDefinitionView'">
- <xsl:if test="form:param[@name='changed_m_re_runAsOwner']='1'">
- <cm:runAsOwner><xsl:value-of select="form:param[@name='m_re_runAsOwner']='true' and not(form:param[@name='m_re_runWithOwnerCapabilities']='true')"/></cm:runAsOwner>
- </xsl:if>
- <xsl:if test="form:param[@name='changed_m_re_runWithOwnerCapabilities']='1'">
- <cm:runWithOwnerCapabilities><xsl:value-of select="form:param[@name='m_re_runWithOwnerCapabilities']='true'"/></cm:runWithOwnerCapabilities>
- </xsl:if>
- <xsl:if test="form:param[@name='changed_m_ro_prompt']='1' or form:param[@name='changed_m_mo_writeCompleteHistory']='1' ">
- <xts:transform src="transforms/portal/options/buildOptions.xslt" processor="XSLT">
- <root>
- <xts:transform src="transforms/portal/options/buildOptionItems.xslt" processor="XSLT">
- <root>
- <env>
- <param name="m_ro_prompt">
- <xsl:choose>
- <xsl:when test="form:param[@name='m_ro_prompt']">true</xsl:when>
- <xsl:otherwise>false</xsl:otherwise>
- </xsl:choose>
- </param>
- <param name="m_mo_writeCompleteHistory">
- <xsl:choose>
- <xsl:when test="form:param[@name='m_mo_writeCompleteHistory']">
- <xsl:value-of select="form:param[@name='m_mo_writeCompleteHistory']"/>
- </xsl:when>
- <xsl:otherwise>false</xsl:otherwise>
- </xsl:choose>
- </param>
- </env>
- <xts:transform name="XML" src="portal/options.xml"/>
- <optionType>runOptions</optionType>
- <optionType>jobOptions</optionType>
- <genDefaults>false</genDefaults>
- <reportOptions>true</reportOptions>
- </root>
- </xts:transform>
- </root>
- </xts:transform>
- <cm:executionPrompt>
- <xsl:choose>
- <xsl:when test="form:param[@name='m_ro_prompt']">true</xsl:when>
- <xsl:otherwise>false</xsl:otherwise>
- </xsl:choose>
- </cm:executionPrompt>
- </xsl:if>
- <!-- WO 122 added re-establish package link-->
- <xsl:if test="form:param[@name='m_agsr_metadataModelPackage']">
- <cm:metadataModelPackage>
- <cm:baseClass>
- <cm:searchPath><xsl:value-of select="form:param[@name='m_agsr_metadataModelPackage']"/></cm:searchPath>
- </cm:baseClass>
- </cm:metadataModelPackage>
- </xsl:if>
- <xsl:if test="form:param[@name='m_agsr_metadataModel']">
- <cm:metadataModel>
- <xsl:if test="string(form:param[@name='m_agsr_metadataModel']) != ''">
- <cm:baseClass>
- <cm:searchPath><xsl:value-of select="form:param[@name='m_agsr_metadataModel']"/></cm:searchPath>
- </cm:baseClass>
- </xsl:if>
- </cm:metadataModel>
- </xsl:if>
- </xsl:if>
- <xsl:if test="(contains(' metricsFileImportTask metricsDataSourceETLTask metricsMaintenanceTask metricsExportTask ', concat(' ', form:param[@name='m_class'], ' '))) and form:param[@name='changed_m_re_runAsOwner']='1'">
- <cm:runAsOwner>
- <xsl:choose>
- <xsl:when test="form:param[@name='m_re_runAsOwner']">true</xsl:when>
- <xsl:otherwise>false</xsl:otherwise>
- </xsl:choose>
- </cm:runAsOwner>
- </xsl:if>
- </xsl:variable>
- <xsl:variable name="repositoryRules">
- <!-- Make sure we have the m_reportRepositoryDataSource form param before setting the repository rules. Otherwise the request will fail if the user has not write access (but setPolicy). -->
- <xsl:variable name="set-repository-options" select="form:param[@name='m_reportRepositoryDataSource']"/>
- <xsl:if test="$set-repository-options and ((/root/env/param[@name='m_class'] = 'package') or (/root/env/param[@name='m_class'] = 'folder') or (/root/env/param[@name='m_class'] = 'content') or (/root/env/param[@name='m_class'] = 'namespace') or (/root/env/param[@name='m_class'] = 'namespaceFolder') or (/root/env/param[@name='m_class'] = 'account'))">
- <xsl:variable name="overrideRulesToEmpty" select="form:param[@name='overrideRepositoryRules'] = 'true' and form:param[@name='m_reportRepositoryDataSource'] = '' and form:param[@name='m_documentRepositoryDataSource'] = ''"/>
- <xsl:variable name="inhertieRules" select="not(form:param[@name='overrideRepositoryRules'])"/>
- <xsl:choose>
- <xsl:when test="$overrideRulesToEmpty">
- <repositoryRules xsi:type="cm:repositoryRuleArrayProp">
- <value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:repositoryRule[2]">
- <item xsi:type="cm:repositoryRule">
- <objectClass xsi:type="cm:classEnum">reportVersion</objectClass>
- <dataSourceName xsi:type="xsd:string"/>
- </item>
- <item xsi:type="cm:repositoryRule">
- <objectClass xsi:type="cm:classEnum">documentVersion</objectClass>
- <dataSourceName xsi:type="xsd:string"/>
- </item>
- </value>
- </repositoryRules>
- </xsl:when>
- <xsl:when test="$inhertieRules">
- <repositoryRules xsi:type="cm:repositoryRuleArrayProp"/>
- </xsl:when>
- <xsl:otherwise>
- <repositoryRules xsi:type="cm:repositoryRuleArrayProp">
- <value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:repositoryRule[2]">
- <item xsi:type="cm:repositoryRule">
- <objectClass xsi:type="cm:classEnum">reportVersion</objectClass>
- <dataSourceName xsi:type="xsd:string"><xsl:value-of select="form:param[@name='m_reportRepositoryDataSource']"/></dataSourceName>
- </item>
- <item xsi:type="cm:repositoryRule">
- <objectClass xsi:type="cm:classEnum">documentVersion</objectClass>
- <dataSourceName xsi:type="xsd:string"><xsl:value-of select="form:param[@name='m_documentRepositoryDataSource']"/></dataSourceName>
- </item>
- </value>
- </repositoryRules>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- </xsl:variable>
- <xsl:variable name="retention-fragment">
- <xsl:if test="form:param[starts-with(@name, 'rg_')] and (form:param[starts-with(@name,'changed_rg')] != '0' or not(form:param[starts-with(@name,'changed_rg')]))">
- <xsl:element name="retentions" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:for-each select="form:param[starts-with(@name, 'rg_retention')]">
- <xsl:variable name="className" select="substring-after(@name,'rg_retention_')"/>
- <xsl:variable name="occurrence" select="concat('maxNumber_', $className)"/>
- <xsl:variable name="duration" select="concat('duration_', $className)"/>
- <xsl:variable name="durationSelect" select="concat('durationSelect_', $className)"/>
- <!-- do not save the retention information for reportCache if the refreshReportCache checkbox is not checked-->
- <xsl:if test="not($className='reportCache' and key('env-param','m_ro_promptCacheMode')!='refresh')">
- <xsl:element name="retentionRule" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:attribute name="objectClass">
- <xsl:value-of select="$className"/>
- </xsl:attribute>
- <xsl:attribute name="prop">
- <xsl:value-of select="'creationTime'"/>
- </xsl:attribute>
- <xsl:attribute name="maxObjects">
- <xsl:choose>
- <xsl:when test="../*[local-name() = 'param'][@name=$occurrence]">
- <xsl:value-of select="../*[local-name() = 'param'][@name=$occurrence]"/>
- </xsl:when>
- <xsl:otherwise><xsl:value-of select="''"/></xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- <xsl:attribute name="maxDuration">
- <xsl:choose>
- <xsl:when test="../*[local-name() = 'param'][@name=$durationSelect]='seconds'">
- <xsl:value-of select="concat('PT',../*[local-name() = 'param'][@name=$duration],'S')"/>
- </xsl:when>
- <xsl:when test="../*[local-name() = 'param'][@name=$durationSelect]='minutes'">
- <xsl:value-of select="concat('PT',../*[local-name() = 'param'][@name=$duration],'M')"/>
- </xsl:when>
- <xsl:when test="../*[local-name() = 'param'][@name=$durationSelect]='hours'">
- <xsl:value-of select="concat('PT',../*[local-name() = 'param'][@name=$duration],'H')"/>
- </xsl:when>
- <xsl:when test="../*[local-name() = 'param'][@name=$durationSelect]='days'">
- <xsl:value-of select="concat('P',../*[local-name() = 'param'][@name=$duration],'D')"/>
- </xsl:when>
- <xsl:when test="../*[local-name() = 'param'][@name=$durationSelect]='months'">
- <xsl:value-of select="concat('P',../*[local-name() = 'param'][@name=$duration],'M')"/>
- </xsl:when>
- <xsl:otherwise><xsl:value-of select="''"/></xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- </xsl:element>
- </xsl:if>
- </xsl:for-each>
- </xsl:element>
- </xsl:if>
- </xsl:variable>
- <xsl:variable name="packageConfiguration-fragment">
- <xsl:if test="form:param[starts-with(@name, 'm_ppc_')]">
- <xsl:apply-templates select="form:param[starts-with(@name, 'm_ppc_')]"/>
- </xsl:if>
- </xsl:variable>
- <xsl:variable name="parameters-fragment">
- <xsl:if test="form:param[@name='cleared_prompts'] = 'true' or /root/parameters/*">
- <xsl:element name="parameters" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:if test="form:param[@name='cleared_prompts'] != 'true'">
- <xsl:copy-of select="/root/parameters/*"/>
- </xsl:if>
- </xsl:element>
- </xsl:if>
- </xsl:variable>
- <!-- construct the advancedSettings fragment. -->
- <xsl:variable name="adv-settings-fragment">
- <xsl:if test="form:param[starts-with(@name, 'm_pa_')] or form:param[@name='reset_advancedSettings'] or form:param[@name='resetroot_advancedSettings'] or (key('form-param','settings_delete') and key('form-param', 'm_class')!='configurationFolder' and key('form-param', 'm_class')!='dispatcher')">
- <cm:advancedSettings>
- <xsl:if test="key('form-param','settings_delete')">
- <xsl:attribute name="updateAllDescendents">true</xsl:attribute>
- </xsl:if>
- <xsl:if test="(key('form-param', 'm_obj')!='/configuration' and (not(form:param[@name='reset_advancedSettings']) or form:param[@name='reset_advancedSettings'] != '1')) or (key('form-param', 'm_obj')='/configuration' and (not(form:param[@name='resetroot_advancedSettings']) or form:param[@name='resetroot_advancedSettings'] != '1'))">
- <xsl:text/><settings><xsl:text/>
- <xsl:for-each select="form:param[starts-with(@name, 'm_pa_n') and child::text()]">
- <xsl:sort select="@name"/>
- <xsl:variable name="cur-name" select="@name"/>
- <xsl:text/><setting name="<xsl:text/>
- <xsl:value-of select="xtsext:xmlencode(string(.))"/>
- <xsl:text/>"><xsl:text/>
- <xsl:value-of select="xtsext:xmlencode(string(../form:param[@name=translate($cur-name, 'n', 'v')]))"/>
- <xsl:text/></setting><xsl:text/>
- </xsl:for-each>
- <xsl:text/></settings><xsl:text/>
- </xsl:if>
- </cm:advancedSettings>
- </xsl:if>
- </xsl:variable>
- <!-- construct the rolapCubeConfigurations fragment. -->
- <xsl:variable name="rolap-cube-configurations-fragment">
- <xsl:if test="form:param[@name='whole_entries']">
- <xsl:element name="qsROLAPCubeConfigurations" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <xts:transform src="transforms/portal/rolapCubeConfigurations/transformToCMFormatedEntries.xslt" processor="XSLT">
- <root>
- <paramsMetadata>
- <xts:transform src="transforms/portal/rolapCubeConfigurations/propertiesMetadata.xslt" processor="XSLT">
- <xts:param name="messageBase">/messages/portal.xml</xts:param>
- <root/>
- </xts:transform>
- </paramsMetadata>
- <xsl:value-of select="xtsext:web64decode(xtsext:cafaction( 'sign_unwrap', string( /root/env/param[@name='whole_entries'] )), true() )" disable-output-escaping="yes"/>
- </root>
- </xts:transform>
- </xsl:element>
- </xsl:if>
- </xsl:variable>
- <!-- construct the userInterfaceProfile data fragment. -->
- <xsl:variable name="userInterfaceProfile-data-fragment">
- <xsl:if test="form:param[@name='m_t_data']">
- <xts:transform xmlns:xts="http://developer.cognos.com/schemas/xts/" name="VALIDATE">
- <xts:param name="schemaLocation">http://www.ibm.com/xmlns/prod/ba/rs/rsprofile.1/ cogadmin/controls/pat/profiles/rs_profile.xsd</xts:param>
- <xsl:value-of select="/root/env/param[@name='m_t_data']" disable-output-escaping="yes"/>
- </xts:transform>
- <cm:data xsi:type="xsd:base64Binary"><xsl:value-of select="xtsext:base64encode(string(/root/env/param[@name='m_t_data']), false())"/></cm:data>
- </xsl:if>
- </xsl:variable>
- <!-- construct the jmxProxyHostDispatcher fragment. -->
- <xsl:variable name="jmxProxyHostDispatchers-fragment">
- <xsl:if test="form:param[@name='jmxProxyHostDispatchers']">
- <xsl:element name="jmxProxyHostDispatchers" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <xts:transform src="transforms/portal/jmxProxyHostDispatchers/transformToCMFormatForSave.xslt" processor="XSLT">
- <root>
- <xsl:value-of select="xtsext:web64decode(xtsext:cafaction( 'sign_unwrap', string( /root/env/param[@name='jmxProxyHostDispatchers'] )), true() )" disable-output-escaping="yes"/>
- </root>
- </xts:transform>
- </xsl:element>
- </xsl:if>
- </xsl:variable>
- <!-- construct the gatewayMappings fragment. -->
- <xsl:variable name="gatewayMappings-fragment">
- <xsl:if test="form:param[starts-with(@name, 'map_external_')] or form:param[@name='reset_rdsGatewayMappings'] or form:param[@name='deleteall_rdsGatewayMappings'] or form:param[@name='resetroot_rdsGatewayMappings'] or key('form-param','settings_delete')">
- <xsl:element name="rdsGatewayMappings" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:if test="key('form-param','settings_delete')">
- <xsl:attribute name="updateAllDescendents">true</xsl:attribute>
- </xsl:if>
- <xsl:if test="(key('form-param', 'm_obj')!='/configuration' and (not(form:param[@name='reset_rdsGatewayMappings']) or form:param[@name='reset_rdsGatewayMappings'] != '1')) or (key('form-param', 'm_obj')='/configuration' and (not(form:param[@name='resetroot_rdsGatewayMappings']) or form:param[@name='resetroot_rdsGatewayMappings'] != '1'))">
- <xsl:for-each select="form:param[starts-with(@name, 'map_external_') and child::text()]">
- <xsl:sort select="@name"/>
- <xsl:element name="gatewayMapping" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:variable name="external_gateway" select="@name"/>
- <xsl:attribute name="externalURI">
- <xsl:value-of select="xtsext:xmlencode(string(.))"/>
- </xsl:attribute>
- <!-- build the other one -->
- <xsl:variable name="num">
- <xsl:value-of select="substring-after($external_gateway,'map_external_')"/>
- </xsl:variable>
- <xsl:attribute name="internalURI">
- <xsl:value-of select="xtsext:xmlencode(string(../form:param[@name=concat('map_internal_', $num)]))"/>
- </xsl:attribute>
- </xsl:element>
- </xsl:for-each>
- </xsl:if>
- </xsl:element>
- </xsl:if>
- </xsl:variable>
- <!-- construct the datamovement service parameters fragment. -->
- <xsl:variable name="dmsParms-fragment">
- <xsl:if test="form:param[starts-with(@name, 'parm_name_')] or form:param[@name='deleteall_dmsParameters']">
- <cm:parameters xsi:type="cm:parameterValueArrayProp">
- <cm:value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:parameterValue[form:param[starts-with(@name, 'parm_name_')]]">
- <xsl:for-each select="form:param[starts-with(@name, 'parm_name_')]">
- <xsl:sort select="@name"/>
- <xsl:variable name="paramName" select="substring-after(@name,'parm_name_')"/>
- <xsl:variable name="paramValue" select="../form:param[@name= concat('parm_value_', $paramName)]"/>
- <cm:item xsi:type="cm:parameterValue">
- <cm:name xsi:type="xs:string"><xsl:value-of select="."/></cm:name>
- <cm:value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:simpleParmValueItem[1]">
- <cm:item xsi:type="cm:simpleParmValueItem">
- <cm:inclusive xsi:type="xs:boolean">true</cm:inclusive>
- <cm:display xsi:type="xs:string"><xsl:value-of select="$paramValue"/></cm:display>
- <cm:use xsi:type="xs:string"><xsl:value-of select="$paramValue"/></cm:use>
- </cm:item>
- </cm:value>
- </cm:item>
- </xsl:for-each>
- </cm:value>
- </cm:parameters>
- </xsl:if>
- </xsl:variable>
- <xsl:variable name="booleanOutputOverrideOptions-fragment">
- <xsl:variable name="optionOverride" select=" 'overrideOptions'"/>
- <xsl:variable name="optionServiceDefault" select=" 'serviceDefaultOptions'"/>
- <xsl:variable name="formParam" select="form:param"/>
- <xsl:if test="key('form-param', 'm_class')='configuration' and (form:param[starts-with(@name, 'm_opt_bool_')] or form:param[starts-with(@name,'resetroot_optionArrayProp_')])">
- <cm:serviceDefaultOptions xsi:type="cm:optionArrayProp">
- <cm:value xsi:type="SOAP-ENC:Array">
- <xsl:for-each select="$formParam[starts-with(@name,concat($optionServiceDefault,'_'))]">
- <xsl:variable name="boolEnumValue" select="substring-after(@name,concat($optionServiceDefault,'_'))"/>
- <xsl:if test="count($formParam[starts-with(@name,concat('resetroot_optionArrayProp_',$boolEnumValue))]) = 0">
- <cm:item xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="cm:genericOptionBoolean">
- <cm:name xsi:type="xsd:string"><xsl:value-of select="concat('http://developer.cognos.com/ceba/constants/systemOptionEnum#',$boolEnumValue)"/></cm:name>
- <cm:value xsi:type="xsd:boolean"><xsl:value-of select="."/></cm:value>
- </cm:item>
- </xsl:if>
- </xsl:for-each>
- </cm:value>
- </cm:serviceDefaultOptions>
- <cm:overrideOptions xsi:type="cm:optionArrayProp">
- <cm:value xsi:type="SOAP-ENC:Array">
- <xsl:for-each select="$formParam[starts-with(@name,concat($optionOverride,'_'))]">
- <xsl:variable name="boolEnumValue" select="substring-after(@name,concat($optionOverride,'_'))"/>
- <xsl:if test="count($formParam[starts-with(@name,concat('resetroot_','optionArrayProp_',$boolEnumValue))]) = 0">
- <cm:item xsi:type="cm:genericOptionBoolean">
- <cm:name xsi:type="xsd:string"><xsl:value-of select="concat('http://developer.cognos.com/ceba/constants/systemOptionEnum#',$boolEnumValue)"/></cm:name>
- <cm:value xsi:type="xsd:boolean"><xsl:value-of select="."/></cm:value>
- </cm:item>
- </xsl:if>
- </xsl:for-each>
- </cm:value>
- </cm:overrideOptions>
- </xsl:if>
- </xsl:variable>
- <!-- construct the drill parameterAssignments fragment -->
- <xsl:variable name="drillParam-fragment">
- <xsl:if test="form:param[starts-with(string(@name),'drillParam_')]">
- <cm:parameterAssignments type="cm:parameterAssignmentDataItemArrayProp">
- <xsl:for-each select="form:param[starts-with(string(@name),'drillParam_')]">
- <xsl:if test="string(.)!=''">
- <cm:parameterAssignmentDataItem>
- <cm:parameterName><xsl:value-of select="xtsext:web64decode( string( substring-after( string(@name),'drillParam_' ) ), true() )"/></cm:parameterName>
- <cm:dataItemName><xsl:value-of select="string(.)"/></cm:dataItemName>
- </cm:parameterAssignmentDataItem>
- </xsl:if>
- </xsl:for-each>
- </cm:parameterAssignments>
- </xsl:if>
- <xsl:if test="form:param[@name='m_class']='drillPath' and form:param[starts-with(@name,'m_ro_')]">
- <xts:transform src="transforms/portal/options/buildOptions.xslt" processor="XSLT">
- <root>
- <xts:transform src="transforms/portal/options/buildOptionItems.xslt" processor="XSLT">
- <root>
- <xts:transform src="transforms/portal/options/cleanEnv.xslt" processor="XSLT">
- <root>
- <xsl:copy-of select="/root/env"/>
- </root>
- </xts:transform>
- <xts:transform name="XML" src="portal/options.xml"/>
- <optionType>drillPathOptions</optionType>
- </root>
- </xts:transform>
- </root>
- </xts:transform>
- </xsl:if>
- </xsl:variable>
- <xsl:variable name="pageletLayout-fragment">
- <xsl:if test="form:param[@name = 'pagexml'] or form:param[starts-with(@name, 'm_mp_columns')]">
- <cm:layout>
- <xts:transform name="XMLEncode">
- <xts:transform src="portal/mypages/transform/gen_pagelet_layout.xslt" processor="XSLT">
- <xsl:copy-of select="."/>
- </xts:transform>
- </xts:transform>
- </cm:layout>
- </xsl:if>
- </xsl:variable>
- <!-- save reportDataServiceAGentDefinition report property -->
- <xsl:variable name="rdsadReport-fragment">
- <xsl:if test="form:param[starts-with(@name, 'm_sub')]">
- <cm:report>
- <xts:transform name="XMLEncode">
- <xts:transform src="/subscribe/transforms/assembleSelectionSpec.xslt" processor="XSLT">
- <root>
- <env>
- <xsl:copy-of select="/root/env/param[starts-with(@name, 'm_sub')]"/>
- </env>
- <xts:transform name="XMLDecode">
- <xsl:value-of select="/root/env/param[@name='m_subData_report']"/>
- </xts:transform>
- </root>
- </xts:transform>
- </xts:transform>
- </cm:report>
- </xsl:if>
- </xsl:variable>
- <xsl:variable name="routingHints-fragment">
- <xsl:if test="key('env-param','routingHintsChanged')='true' and contains(' package role group ', concat(' ', key('env-param','m_class'),' '))">
- <cm:routingHints>
- <xsl:if test="key('env-param','overrideRoutingHints')">
- <xsl:for-each select="form:param[@name='m_routingHints']">
- <cm:item><xsl:value-of select="."/></cm:item>
- </xsl:for-each>
- </xsl:if>
- </cm:routingHints>
- </xsl:if>
- </xsl:variable>
- <xsl:variable name="routingTable-fragment">
- <xsl:if test="form:param[@name='m_class']='configuration' and key('env-param', 'visited_routing_rules')='true'">
- <xts:transform src="transforms/portal/config/buildRoutingTable.xslt" processor="XSLT">
- <env>
- <xsl:copy-of select="form:param"/>
- </env>
- </xts:transform>
- </xsl:if>
- </xsl:variable>
- <xsl:variable name="agent-fragment">
- <xsl:if test="(form:param[@name='m_class']='agentDefinition' or form:param[@name='m_class']='agentDefinitionView') and form:param[@name='changed_m_agent_allowNotification']='1'">
- <cm:allowNotification>
- <xsl:choose>
- <xsl:when test="form:param[@name='m_agent_allowNotification']">true</xsl:when>
- <xsl:otherwise>false</xsl:otherwise>
- </xsl:choose>
- </cm:allowNotification>
- </xsl:if>
- </xsl:variable>
- <!-- besides saving agent,rpt,qry,analysis,view allowNotification, when deselected there is a possiblity of a 2nd command to remove all form the notification list -->
- <xsl:if test="form:param[@name='m_removeAll']='true'">
- <xts:append>
- <send:request provider="deliveryService">
- <dls:clearNotifications>
- <objectPath xsi:type="bus:searchPathSingleObject">
- <xsl:value-of select="form:param[@name = 'm_obj']"/>
- </objectPath>
- </dls:clearNotifications>
- </send:request>
- </xts:append>
- </xsl:if>
- <!-- save schedule info - This should be done before saving the object properties, in case the object gets renamed -->
- <xsl:if test="form:param[starts-with(@name,'m_sp_')]">
- <xts:append>
- <send:request provider="cm" faultBlock="saveFault">
- <bus:add>
- <search xsi:type="xsd:string">
- <xsl:value-of select="key('form-param', 'm_obj')"/>
- </search>
- <objects xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:baseClass[1]">
- <item xsi:type="bus:schedule">
- <xsl:call-template name="build_jsm_schedule">
- <xsl:with-param name="env" select="."/>
- </xsl:call-template>
- <xsl:choose>
- <xsl:when test="key('form-param','m_class')='contentTask'">
- <xsl:call-template name="build_contentTask_runTime_options"/>
- </xsl:when>
- <xsl:when test="key('form-param','m_class')='importDeployment'">
- <xsl:call-template name="build_deployment_runTime_options"/>
- </xsl:when>
- <xsl:when test="key('form-param','m_class')='indexUpdateTask'">
- <xsl:call-template name="build_indexUpdateTask_runTime_options"/>
- </xsl:when>
- <xsl:when test="not(contains(' jobDefinition exportDeployment planningMacroTask planningTask ', concat(' ', key('form-param','m_class'), ' ')))">
- <!-- you can't override options for agentDefinition, so don't set any options on the schedule -->
- <xsl:if test="not(contains(' agentDefinition agentDefinitionView ', concat(' ', form:param[@name='m_class'], ' ')))">
- <xts:transform src="transforms/portal/options/buildOptions.xslt" processor="XSLT">
- <root>
- <xts:transform src="transforms/portal/options/buildOptionItems.xslt" processor="XSLT">
- <root>
- <xts:transform src="transforms/portal/options/cleanEnv.xslt" processor="XSLT">
- <root>
- <xsl:copy-of select="/root/env"/>
- </root>
- </xts:transform>
- <xts:transform name="XML" src="portal/options.xml"/>
- <xsl:choose>
- <xsl:when test="contains(' powerPlay8Report powerPlay8ReportView ', concat(' ', key('form-param','m_class'), ' '))">
- <optionType>powerPlay8Options</optionType>
- </xsl:when>
- <xsl:otherwise>
- <optionType>runOptions</optionType>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:if test="key('env-param', 'override_default_reportOptions')='true' or key('env-param','override_outputFormat_option')='true'">
- <optionType>genericOptions</optionType>
- </xsl:if>
- <optionType>pdfOptions</optionType>
- <optionType>archiveOptions</optionType>
- <genDefaults>
- <xsl:choose>
- <xsl:when test="(key('env-param','override_default_reportOptions')='true' or key('env-param','override_outputFormat_option')='true') or not(key('env-param','changed_override_default_reportOptions'))">true</xsl:when>
- <xsl:otherwise>false</xsl:otherwise>
- </xsl:choose>
- </genDefaults>
- <batchOptions>true</batchOptions>
- <xsl:if test="key('env-param','deliveryOptions') != ''">
- <deliveryOptions>
- <xsl:value-of select="xtsext:web64decode( xtsext:cafaction('sign_unwrap', string( key('env-param','deliveryOptions') )), true() )" disable-output-escaping="yes"/>
- </deliveryOptions>
- </xsl:if>
- <xsl:if test="key('env-param','mobileOptions') != ''">
- <mobileOptions>
- <xsl:value-of select="xtsext:web64decode( xtsext:cafaction('sign_unwrap', string( key('env-param','mobileOptions') )), true() )" disable-output-escaping="yes"/>
- </mobileOptions>
- </xsl:if>
- <contentLocale><xsl:value-of select="$contentLocale"/></contentLocale>
- </root>
- </xts:transform>
- </root>
- </xts:transform>
- </xsl:if>
- <xsl:choose>
- <xsl:when test="/root/parameters/*">
- <xts:transform src="transforms/portal/parameters/pre-JSM-process.xslt" processor="XSLT">
- <xsl:copy-of select="$parameters-fragment"/>
- </xts:transform>
- </xsl:when>
- <xsl:otherwise>
- <xsl:element name="parameters" namespace="http://developer.cognos.com/schemas/xts-cm/1/"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- </xsl:choose>
- </item>
- </objects>
- <options xsi:type="bus:addOptions">
- <updateAction xsi:type="bus:updateActionEnum">update</updateAction>
- </options>
- </bus:add>
- </send:request>
- </xts:append>
- </xsl:if>
- <!-- update delivery options for the reportDataServiceAgentDefintion class -->
- <xsl:if test="string(key('form-param', 'm_class')) = 'reportDataServiceAgentDefinition'">
- <xts:append>
- <send:request provider="cm" faultBlock="saveFault">
- <cm:update xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <objects xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:baseClass[1]">
- <item xsi:type="cm:schedule">
- <searchPath xsi:type="cm:stringProp">
- <value xsi:type="xsd:string"><xsl:value-of select="key('form-param', 'm_obj')"/>/schedule</value>
- </searchPath>
- <xsl:if test="key('form-param', 'm_periodicalProducer')">
- <periodicalProducer xsi:type="cm:baseClassArrayProp">
- <value xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:baseClass[1]">
- <item xsi:type="cm:report">
- <searchPath xsi:type="cm:stringProp">
- <value xsi:type="xsd:string">
- <xsl:value-of select="key('form-param', 'm_periodicalProducer')"/>
- </value>
- </searchPath>
- </item>
- </value>
- </periodicalProducer>
- </xsl:if>
- <active xsi:type="bus:booleanProp">
- <value xsi:type="xsd:boolean">
- <xsl:choose>
- <xsl:when test="key('form-param', 'm_subData_active_schedule')">false</xsl:when>
- <xsl:otherwise>true</xsl:otherwise>
- </xsl:choose>
- </value>
- </active>
- </item>
- </objects>
- </cm:update>
- </send:request>
- </xts:append>
- <xsl:variable name="user_locale">
- <xsl:choose>
- <xsl:when test="/root/session/param[@name='contentLocale']">
- <xsl:value-of select="/root/session/param[@name='contentLocale']"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/root/system/param[@name='contentLocale']"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- delivery options test -->
- <xsl:if test="not(key('form-param','m_subData_emailPath')) and form:param[starts-with(@name, 'm_subData_emailCB')]">
- <!-- have to create the memo + agentTaskDefinition -->
- <xts:append select="/root">
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm" faultBlock="saveFault">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:add xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:objects>
- <cm:memo>
- <cm:searchPath>
- <xsl:value-of select="key('form-param','m_obj')"/>
- </cm:searchPath>
- <cm:defaultName>
- <xsl:value-of select="key('form-param','taskName')"/>
- </cm:defaultName>
- <!-- just copy the options that we've got -->
- <xts:transform name="XMLDecode">
- <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap',string(form:param[@name='deliveryOptions'])), true())"/>
- </xts:transform>
- </cm:memo>
- </cm:objects>
- </cm:add>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- <xts:append select="/root">
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm" faultBlock="saveFault">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:add xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:objects>
- <cm:agentTaskDefinition>
- <cm:searchPath>
- <xsl:value-of select="key('form-param','m_obj')"/>
- </cm:searchPath>
- <!-- we can save the taskName too -->
- <cm:taskObject>
- <cm:memo>
- <cm:searchPath>
- <!-- put the path into the report that we selected as the action -->
- <xts:transform name="XMLEncode">
- <xts:queryValue select="/root/*[local-name()='addResponse']/*[local-name()='memo']/*[local-name()='searchPath']"/>
- </xts:transform>
- </cm:searchPath>
- </cm:memo>
- </cm:taskObject>
- <!-- define the filter data item name -->
- <cm:filterDataItemName>
- <xsl:if test="form:param[starts-with(@name,'m_subData_emailCB_')]">
- <xsl:variable name="max" select="count(form:param[starts-with(@name,'m_subData_emailCB_')])"/>
- <xsl:text>[</xsl:text>
- <xsl:for-each select="form:param[starts-with(@name,'m_subData_emailCB_')]">
- <xsl:sort select="@name"/>
- <xsl:value-of select="substring-after(@name,'m_subData_emailCB_')"/>
- <xsl:if test="position() < $max">
- <xsl:text>OR</xsl:text></xsl:if>
- </xsl:for-each>
- <xsl:text>]</xsl:text>
- </xsl:if>
- </cm:filterDataItemName>
- </cm:agentTaskDefinition>
- </cm:objects>
- </cm:add>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- </xsl:if>
- <xsl:if test="key('form-param','m_subData_emailPath') and form:param[starts-with(@name, 'm_subData_emailCB')]">
- <!-- have to update the memo -->
- <xts:append>
- <send:request provider="cm" faultBlock="saveFault">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:update xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:objects>
- <cm:memo>
- <cm:searchPath>
- <xsl:value-of select="key('form-param','m_subData_emailPath')"/>
- </cm:searchPath>
- <cm:defaultName>
- <xsl:value-of select="key('form-param','taskName')"/>
- </cm:defaultName>
- <!-- just copy the options that we've got -->
- <xts:transform name="XMLDecode">
- <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap',string(form:param[@name='deliveryOptions'])), true())"/>
- </xts:transform>
- </cm:memo>
- </cm:objects>
- </cm:update>
- </xts:transform>
- </send:request>
- </xts:append>
- <xts:append select="/root">
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm" faultBlock="saveFault">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:update xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:objects>
- <cm:agentTaskDefinition>
- <cm:searchPath>
- <xsl:value-of select="key('form-param','m_subData_emailTaskPath')"/>
- </cm:searchPath>
- <!-- define the filter data item name -->
- <cm:filterDataItemName>
- <xsl:if test="form:param[starts-with(@name,'m_subData_emailCB_')]">
- <xsl:variable name="max" select="count(form:param[starts-with(@name,'m_subData_emailCB_')])"/>
- <xsl:text>[</xsl:text>
- <xsl:for-each select="form:param[starts-with(@name,'m_subData_emailCB_')]">
- <xsl:sort select="@name"/>
- <xsl:value-of select="substring-after(@name,'m_subData_emailCB_')"/>
- <xsl:if test="position() < $max">
- <xsl:text>OR</xsl:text></xsl:if>
- </xsl:for-each>
- <xsl:text>]</xsl:text>
- </xsl:if>
- </cm:filterDataItemName>
- </cm:agentTaskDefinition>
- </cm:objects>
- </cm:update>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- </xsl:if>
- <xsl:if test="key('form-param','m_subData_emailPath') and not(form:param[starts-with(@name, 'm_subData_emailCB')])">
- <!-- have to delete the memo + agentTaskDefinition -->
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:delete xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:objects>
- <!-- delete both the memo and the agentTaskDefinition -->
- <cm:memo>
- <cm:searchPath><xsl:value-of select="key('form-param','m_subData_emailPath')"/></cm:searchPath>
- </cm:memo>
- <cm:agentTaskDefinition>
- <cm:searchPath><xsl:value-of select="key('form-param','m_subData_emailTaskPath')"/></cm:searchPath>
- </cm:agentTaskDefinition>
- </cm:objects>
- <cm:options recursive="true" force="true"/>
- </cm:delete>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xsl:if>
- <!-- delivery options test -->
- <xsl:if test="not(key('form-param','m_subData_newsitemPath')) and form:param[starts-with(@name, 'm_subData_newsitemCB')]">
- <!-- have to create the newsitem + agentTaskDefinition -->
- <xts:append select="/root">
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm" faultBlock="saveFault">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:add xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:objects>
- <cm:shortcutRSSTask>
- <cm:searchPath>
- <xsl:value-of select="key('form-param','m_obj')"/>
- </cm:searchPath>
- <cm:defaultName>
- <xsl:value-of select="key('form-param','m_subData_newsitem_taskName')"/>
- </cm:defaultName>
- <cm:defaultScreenTip>
- <xsl:value-of select="key('form-param','m_subData_newsitem_screentip')"/>
- </cm:defaultScreenTip>
- <cm:defaultDescription>
- <xsl:value-of select="key('form-param','m_subData_newsitem_text')"/>
- </cm:defaultDescription>
- <!--the title is destined for the name of the url -->
- <cm:title>
- <cm:value>
- <xsl:attribute name="locale"><xsl:value-of select="$user_locale"/></xsl:attribute>
- <xsl:value-of select="key('form-param','m_subData_newsitem_headline')"/>
- </cm:value>
- </cm:title>
- <cm:channel>
- <cm:baseClass>
- <cm:searchPath>
- <xsl:value-of select="key('form-param','m_subData_newsitem_path')"/>
- </cm:searchPath>
- </cm:baseClass>
- </cm:channel>
- </cm:shortcutRSSTask>
- </cm:objects>
- </cm:add>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- <xts:append select="/root">
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm" faultBlock="saveFault">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:add xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:objects>
- <cm:agentTaskDefinition>
- <cm:searchPath>
- <xsl:value-of select="key('form-param','m_obj')"/>
- </cm:searchPath>
- <!-- we can save the taskName too -->
- <cm:taskObject>
- <cm:shortcutRSSTask>
- <cm:searchPath>
- <!-- put the path into the report that we selected as the action -->
- <xts:transform name="XMLEncode">
- <xts:queryValue select="/root/*[local-name()='addResponse']/*[local-name()='shortcutRSSTask']/*[local-name()='searchPath']"/>
- </xts:transform>
- </cm:searchPath>
- </cm:shortcutRSSTask>
- </cm:taskObject>
- <!-- define the filter data item name -->
- <cm:filterDataItemName>
- <xsl:if test="form:param[starts-with(@name,'m_subData_newsitemCB_')]">
- <xsl:variable name="max" select="count(form:param[starts-with(@name,'m_subData_newsitemCB_')])"/>
- <xsl:text>[</xsl:text>
- <xsl:for-each select="form:param[starts-with(@name,'m_subData_newsitemCB_')]">
- <xsl:sort select="@name"/>
- <xsl:value-of select="substring-after(@name,'m_subData_newsitemCB_')"/>
- <xsl:if test="position() < $max">
- <xsl:text>OR</xsl:text></xsl:if>
- </xsl:for-each>
- <xsl:text>]</xsl:text>
- </xsl:if>
- </cm:filterDataItemName>
- </cm:agentTaskDefinition>
- </cm:objects>
- </cm:add>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- </xsl:if>
- <xsl:if test="key('form-param','m_subData_newsitemPath') and form:param[starts-with(@name, 'm_subData_newsitemCB')]">
- <!-- have to update the newsitem -->
- <xts:append>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm" faultBlock="saveFault">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:update xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:objects>
- <cm:shortcutRSSTask>
- <cm:searchPath>
- <xsl:value-of select="key('form-param','m_subData_newsitemPath')"/>
- </cm:searchPath>
- <cm:defaultName>
- <xsl:value-of select="key('form-param','m_subData_newsitem_taskName')"/>
- </cm:defaultName>
- <cm:defaultScreenTip>
- <xsl:value-of select="key('form-param','m_subData_newsitem_screentip')"/>
- </cm:defaultScreenTip>
- <cm:defaultDescription>
- <xsl:value-of select="key('form-param','m_subData_newsitem_text')"/>
- </cm:defaultDescription>
- <!--the title is destined for the name of the url -->
- <cm:title>
- <cm:value>
- <xsl:attribute name="locale"><xsl:value-of select="$user_locale"/></xsl:attribute>
- <xsl:value-of select="key('form-param','m_subData_newsitem_headline')"/>
- </cm:value>
- </cm:title>
- <cm:channel>
- <cm:baseClass>
- <cm:searchPath>
- <xsl:value-of select="key('form-param','m_subData_newsitem_path')"/>
- </cm:searchPath>
- </cm:baseClass>
- </cm:channel>
- </cm:shortcutRSSTask>
- </cm:objects>
- </cm:update>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- <xts:append select="/root">
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm" faultBlock="saveFault">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:update xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:objects>
- <cm:agentTaskDefinition>
- <cm:searchPath>
- <xsl:value-of select="key('form-param','m_subData_newsitemTaskPath')"/>
- </cm:searchPath>
- <!-- define the filter data item name -->
- <cm:filterDataItemName>
- <xsl:if test="form:param[starts-with(@name,'m_subData_newsitemCB_')]">
- <xsl:variable name="max" select="count(form:param[starts-with(@name,'m_subData_newsitemCB_')])"/>
- <xsl:text>[</xsl:text>
- <xsl:for-each select="form:param[starts-with(@name,'m_subData_newsitemCB_')]">
- <xsl:sort select="@name"/>
- <xsl:value-of select="substring-after(@name,'m_subData_newsitemCB_')"/>
- <xsl:if test="position() < $max">
- <xsl:text>OR</xsl:text></xsl:if>
- </xsl:for-each>
- <xsl:text>]</xsl:text>
- </xsl:if>
- </cm:filterDataItemName>
- </cm:agentTaskDefinition>
- </cm:objects>
- </cm:update>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- </xsl:if>
- <xsl:if test="key('form-param','m_subData_newsitemPath') and not(form:param[starts-with(@name, 'm_subData_newsitemCB')])">
- <!-- have to delete the memo + agentTaskDefinition -->
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:delete xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:objects>
- <!-- delete both the memo and the agentTaskDefinition -->
- <cm:shortcutRSSTask>
- <cm:searchPath><xsl:value-of select="key('form-param','m_subData_newsitemPath')"/></cm:searchPath>
- </cm:shortcutRSSTask>
- <cm:agentTaskDefinition>
- <cm:searchPath><xsl:value-of select="key('form-param','m_subData_newsitemTaskPath')"/></cm:searchPath>
- </cm:agentTaskDefinition>
- </cm:objects>
- <cm:options recursive="true" force="true"/>
- </cm:delete>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xsl:if>
- </xsl:if>
- <!-- task test -->
- <xsl:if test="not(key('form-param','m_subData_taskPath')) and form:param[starts-with(@name, 'm_subData_taskCB')]">
- <!-- have to create the task + agentTaskDefinition -->
- <xts:append select="/root">
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm" faultBlock="saveFault">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:add xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:objects>
- <cm:humanTask>
- <cm:searchPath>
- <xsl:value-of select="key('form-param','m_obj')"/>
- </cm:searchPath>
- <cm:defaultName>
- <xsl:value-of select="key('form-param','humanTaskName')"/>
- </cm:defaultName>
- <cm:parameters>
- <cm:parameterValue>
- <cm:name>hts</cm:name>
- <cm:simpleParmValueItem>
- <cm:inclusive>false</cm:inclusive>
- <cm:display>hts</cm:display>
- <cm:use>
- <xts:transform name="XMLEncode">
- <xts:transform src="subscribe/transforms/getChildren.xslt" processor="XSLT">
- <xts:transform name="XMLDecode">
- <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap',string(form:param[@name='taskOptions'])), true())"/>
- </xts:transform>
- </xts:transform>
- </xts:transform>
- </cm:use>
- </cm:simpleParmValueItem>
- </cm:parameterValue>
- </cm:parameters>
- </cm:humanTask>
- </cm:objects>
- </cm:add>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- <xts:append select="/root">
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm" faultBlock="saveFault">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:add xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:objects>
- <cm:agentTaskDefinition>
- <cm:searchPath>
- <xsl:value-of select="key('form-param','m_obj')"/>
- </cm:searchPath>
- <!-- we can save the taskName too -->
- <cm:taskObject>
- <cm:humanTask>
- <cm:searchPath>
- <!-- put the path into the report that we selected as the action -->
- <xts:transform name="XMLEncode">
- <xts:queryValue select="/root/*[local-name()='addResponse']/*[local-name()='humanTask']/*[local-name()='searchPath']"/>
- </xts:transform>
- </cm:searchPath>
- </cm:humanTask>
- </cm:taskObject>
- <!-- define the filter data item name -->
- <cm:filterDataItemName>
- <xsl:if test="form:param[starts-with(@name,'m_subData_taskCB_')]">
- <xsl:variable name="max" select="count(form:param[starts-with(@name,'m_subData_taskCB_')])"/>
- <xsl:text>[</xsl:text>
- <xsl:for-each select="form:param[starts-with(@name,'m_subData_taskCB_')]">
- <xsl:sort select="@name"/>
- <xsl:value-of select="substring-after(@name,'m_subData_taskCB_')"/>
- <xsl:if test="position() < $max">
- <xsl:text>OR</xsl:text></xsl:if>
- </xsl:for-each>
- <xsl:text>]</xsl:text>
- </xsl:if>
- </cm:filterDataItemName>
- </cm:agentTaskDefinition>
- </cm:objects>
- </cm:add>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- </xsl:if>
- <xsl:if test="key('form-param','m_subData_taskPath') and form:param[starts-with(@name, 'm_subData_taskCB')]">
- <!-- have to update the task -->
- <xts:append>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm" faultBlock="saveFault">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:update xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:objects>
- <cm:humanTask>
- <cm:searchPath>
- <xsl:value-of select="key('form-param','m_subData_taskPath')"/>
- </cm:searchPath>
- <cm:defaultName>
- <xsl:value-of select="key('form-param','humanTaskName')"/>
- </cm:defaultName>
- <cm:parameters>
- <cm:parameterValue>
- <cm:name>hts</cm:name>
- <cm:simpleParmValueItem>
- <cm:inclusive>false</cm:inclusive>
- <cm:display>hts</cm:display>
- <cm:use>
- <xts:transform name="XMLEncode">
- <xts:transform src="subscribe/transforms/getChildren.xslt" processor="XSLT">
- <xts:transform name="XMLDecode">
- <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap',string(form:param[@name='taskOptions'])), true())"/>
- </xts:transform>
- </xts:transform>
- </xts:transform>
- </cm:use>
- </cm:simpleParmValueItem>
- </cm:parameterValue>
- </cm:parameters>
- </cm:humanTask>
- </cm:objects>
- </cm:update>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- <xts:append select="/root">
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm" faultBlock="saveFault">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:update xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:objects>
- <cm:agentTaskDefinition>
- <cm:searchPath>
- <xsl:value-of select="key('form-param','m_subData_taskTaskPath')"/>
- </cm:searchPath>
- <!-- define the filter data item name -->
- <cm:filterDataItemName>
- <xsl:if test="form:param[starts-with(@name,'m_subData_taskCB_')]">
- <xsl:variable name="max" select="count(form:param[starts-with(@name,'m_subData_taskCB_')])"/>
- <xsl:text>[</xsl:text>
- <xsl:for-each select="form:param[starts-with(@name,'m_subData_taskCB_')]">
- <xsl:sort select="@name"/>
- <xsl:value-of select="substring-after(@name,'m_subData_taskCB_')"/>
- <xsl:if test="position() < $max">
- <xsl:text>OR</xsl:text></xsl:if>
- </xsl:for-each>
- <xsl:text>]</xsl:text>
- </xsl:if>
- </cm:filterDataItemName>
- </cm:agentTaskDefinition>
- </cm:objects>
- </cm:update>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- </xsl:if>
- <xsl:if test="key('form-param','m_subData_taskPath') and not(form:param[starts-with(@name, 'm_subData_taskCB')])">
- <!-- have to delete the memo + agentTaskDefinition -->
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:delete xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:objects>
- <!-- delete both the memo and the agentTaskDefinition -->
- <cm:humanTask>
- <cm:searchPath><xsl:value-of select="key('form-param','m_subData_taskPath')"/></cm:searchPath>
- </cm:humanTask>
- <cm:agentTaskDefinition>
- <cm:searchPath><xsl:value-of select="key('form-param','m_subData_taskTaskPath')"/></cm:searchPath>
- </cm:agentTaskDefinition>
- </cm:objects>
- <cm:options recursive="true" force="true"/>
- </cm:delete>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xsl:if>
- <!-- Don't update the report if we are just saving the schedule -->
- <xsl:choose>
- <xsl:when test="not(/root/env/param[@name = 'visited_schedule_properties']='true') and /root/env/param[@name='m_class']='drillPath'">
- <xts:append>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="warp" outputHeader="true" responseEnvelope="true">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT" cache="true">
- <cm:updateDrillPath xmlns="http://developer.cognos.com/schemas/bibus/3/">
- <cm:searchPath>
- <xsl:value-of select="key('form-param', 'm_obj')"/>
- </cm:searchPath>
- <xsl:copy-of select="$properties-fragment"/>
- <xsl:copy-of select="$properties-duration"/>
- <xsl:copy-of select="$securityPolicies-fragment"/>
- <xsl:copy-of select="$capabilityPolicies-fragment"/>
- <xsl:copy-of select="$jobOptions-fragment"/>
- <xsl:copy-of select="$retention-fragment"/>
- <xsl:copy-of select="$adv-settings-fragment"/>
- <xsl:copy-of select="$rolap-cube-configurations-fragment"/>
- <xsl:copy-of select="$userInterfaceProfile-data-fragment"/>
- <xsl:copy-of select="$jmxProxyHostDispatchers-fragment"/>
- <xsl:copy-of select="$booleanOutputOverrideOptions-fragment"/>
- <xsl:copy-of select="$gatewayMappings-fragment"/>
- <xsl:copy-of select="$powerPlayOptions-fragment"/>
- <xsl:copy-of select="$powerPlay8Options-fragment"/>
- <xsl:copy-of select="$metricsOptions-fragment"/>
- <xsl:copy-of select="$portalOptions-fragment"/>
- <xsl:copy-of select="$queryServiceTaskOptions-fragment"/>
- <xsl:copy-of select="$pageletLayout-fragment"/>
- <xsl:copy-of select="$rdsadReport-fragment"/>
- <xsl:copy-of select="$contentTaskOptions-fragment"/>
- <xsl:copy-of select="$drillParam-fragment"/>
- <xsl:copy-of select="$routingHints-fragment"/>
- <xsl:copy-of select="$routingTable-fragment"/>
- <xsl:copy-of select="$agent-fragment"/>
- <!-- in the case of an agent, don't save parameters because we will be saving them on the agent's child report -->
- <xsl:copy-of select="$reportingExecution"/>
- <xsl:copy-of select="$parameters-fragment"/>
- <xsl:copy-of select="$credential-policies"/>
- <!-- user has pressed clear so an empty parameter element is required-->
- <xsl:if test="$parameters-fragment ='' and key('env-param','cleared_prompts') = 'true'">
- <xsl:element name="cm:report" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:searchPath><xsl:value-of select="concat(form:param[@name = 'm_obj'], '/report')"/></cm:searchPath>
- <xsl:copy-of select="$parameters-fragment"/>
- </xsl:element>
- </xsl:if>
- </cm:updateDrillPath>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- </xsl:when>
- <xsl:when test="not(/root/env/param[@name = 'visited_schedule_properties']='true')">
- <!-- save all properties -->
- <xsl:if test="$routingTable-fragment or $routingHints-fragment or $portalOptions-fragment or $indexOptions-fragment or $contentTaskOptions-fragment or $powerPlayOptions-fragment or $metricsOptions-fragment or $retention-fragment or $reportingExecution or $jobOptions-fragment or $queryServiceTaskOptions-fragment or $securityPolicies-fragment or $capabilityPolicies-fragment or $properties-fragment or $properties-duration or $adv-settings-fragment or $rolap-cube-configurations-fragment or $jmxProxyHostDispatchers-fragment or $booleanOutputOverrideOptions-fragment or $gatewayMappings-fragment or $dmsParms-fragment or form:objs or $sharePages-fragement or $drillParam-fragment or $rdsadReport-fragment or $powerPlay8Options-fragment or $dataSourceCapabilities-fragment or userInterfaceProfile-data-fragment">
- <xts:append>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm" faultBlock="saveFault">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT" cache="true">
- <cm:update xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:objects>
- <xsl:if test="key('form-param', 'm_obj')">
- <xsl:element name="cm:{key('form-param', 'm_class')}" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:searchPath>
- <xsl:value-of select="key('form-param', 'm_obj')"/>
- </cm:searchPath>
- <xsl:copy-of select="$properties-fragment"/>
- <xsl:copy-of select="$properties-duration"/>
- <xsl:copy-of select="$securityPolicies-fragment"/>
- <xsl:copy-of select="$capabilityPolicies-fragment"/>
- <xsl:copy-of select="$dataSourceCapabilities-fragment"/>
- <xsl:copy-of select="$jobOptions-fragment"/>
- <xsl:copy-of select="$queryServiceTaskOptions-fragment"/>
- <xsl:copy-of select="$retention-fragment"/>
- <xsl:copy-of select="$repositoryRules"/>
- <xsl:copy-of select="$adv-settings-fragment"/>
- <xsl:copy-of select="$rolap-cube-configurations-fragment"/>
- <xsl:copy-of select="$userInterfaceProfile-data-fragment"/>
- <xsl:copy-of select="$jmxProxyHostDispatchers-fragment"/>
- <xsl:copy-of select="$booleanOutputOverrideOptions-fragment"/>
- <xsl:copy-of select="$gatewayMappings-fragment"/>
- <xsl:copy-of select="$dmsParms-fragment"/>
- <xsl:copy-of select="$powerPlayOptions-fragment"/>
- <xsl:copy-of select="$powerPlay8Options-fragment"/>
- <xsl:copy-of select="$metricsOptions-fragment"/>
- <xsl:copy-of select="$portalOptions-fragment"/>
- <xsl:copy-of select="$pageletLayout-fragment"/>
- <xsl:copy-of select="$rdsadReport-fragment"/>
- <xsl:copy-of select="$contentTaskOptions-fragment"/>
- <xsl:copy-of select="$indexOptions-fragment"/>
- <xsl:copy-of select="$drillParam-fragment"/>
- <xsl:copy-of select="$routingHints-fragment"/>
- <xsl:copy-of select="$routingTable-fragment"/>
- <xsl:copy-of select="$agent-fragment"/>
- <!-- only include the shared pages fragement if the object is the account object -->
- <xsl:if test="key('form-param', 'm_class') = 'account'">
- <xsl:copy-of select="$sharePages-fragement"/>
- </xsl:if>
- <!-- in the case of an agent, don't save parameters because we will be saving them on the agent's child report -->
- <xsl:if test="key('form-param', 'm_class') != 'agentDefinition' and key('form-param', 'm_class') != 'agentDefinitionView'">
- <xsl:copy-of select="$reportingExecution"/>
- <xsl:copy-of select="$parameters-fragment"/>
- </xsl:if>
- <xsl:if test="key('form-param', 'm_class')='packageConfiguration' and $packageConfiguration-fragment">
- <xsl:copy-of select="$packageConfiguration-fragment"/>
- </xsl:if>
- </xsl:element>
- </xsl:if>
- <xsl:for-each select="form:objs">
- <xsl:element name="cm:{form:param[@name = 'm_class']}" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:searchPath><xsl:value-of select="form:param[@name = 'm_obj']"/></cm:searchPath>
- <xsl:for-each select="form:param[starts-with(@name, 'm_p_')]">
- <xsl:element name="{substring-after(@name, 'm_p_')}" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:value-of select="."/>
- </xsl:element>
- </xsl:for-each>
- </xsl:element>
- </xsl:for-each>
- <xsl:copy-of select="$credential-policies"/>
- <xsl:if test="key('form-param', 'm_class')='agentDefinition'">
- <xsl:if test="$reportingExecution !='' or $parameters-fragment !=''">
- <xsl:element name="cm:report" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:searchPath><xsl:value-of select="concat(form:param[@name = 'm_obj'], '/report')"/></cm:searchPath>
- <xsl:copy-of select="$reportingExecution"/>
- <xsl:copy-of select="$parameters-fragment"/>
- </xsl:element>
- </xsl:if>
- <!-- user has pressed clear so an empty parameter element is required-->
- <xsl:if test="$parameters-fragment ='' and key('env-param','cleared_prompts') = 'true'">
- <xsl:element name="cm:report" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:searchPath><xsl:value-of select="concat(form:param[@name = 'm_obj'], '/report')"/></cm:searchPath>
- <xsl:copy-of select="$parameters-fragment"/>
- </xsl:element>
- </xsl:if>
- </xsl:if>
- <xsl:if test="key('form-param', 'm_class')='agentDefinitionView'">
- <xsl:if test="$reportingExecution !='' or $parameters-fragment !=''">
- <xsl:element name="cm:reportView" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:searchPath><xsl:value-of select="concat(form:param[@name = 'm_obj'], '/reportView')"/></cm:searchPath>
- <xsl:copy-of select="$reportingExecution"/>
- <xsl:copy-of select="$parameters-fragment"/>
- </xsl:element>
- </xsl:if>
- <!-- user has pressed clear so an empty parameter element is required-->
- <xsl:if test="$parameters-fragment ='' and key('env-param','cleared_prompts') = 'true'">
- <xsl:element name="cm:reportView" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:searchPath><xsl:value-of select="concat(form:param[@name = 'm_obj'], '/reportView')"/></cm:searchPath>
- <xsl:copy-of select="$parameters-fragment"/>
- </xsl:element>
- </xsl:if>
- </xsl:if>
- <xsl:if test="(key('form-param', 'm_class')='package' or key('form-param', 'm_class')='metricsPackage') and string($packageConfiguration-fragment)!=''">
- <xsl:element name="cm:packageConfiguration" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:searchPath><xsl:value-of select="concat(form:param[@name = 'm_obj'], '/packageConfiguration')"/></cm:searchPath>
- <xsl:copy-of select="$packageConfiguration-fragment"/>
- </xsl:element>
- </xsl:if>
- </cm:objects>
- <xsl:if test="key('form-param','changed_m_p_tenantID') and key('form-param','changed_m_p_tenantID')!='0'">
- <cm:options>
- <updateTenantIDRecursive>true</updateTenantIDRecursive>
- </cm:options>
- </xsl:if>
- </cm:update>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- </xsl:if>
- </xsl:when>
- </xsl:choose>
- </xts:sequence>
- </xsl:template>
- <!-- Handles generic properties -->
- <xsl:template match="form:param[starts-with(@name,'m_p_')]">
- <xsl:variable name="nm" select="@name"/>
- <xsl:if test="not(key('form-param', concat('changed_', $nm))) or key('form-param', concat('changed_', $nm)) != '0'">
- <xsl:if test="not(preceding-sibling::form:param[@name=$nm]) and starts-with($nm, 'm_p_')">
- <xsl:variable name="paramName">
- <xsl:choose>
- <xsl:when test="starts-with(@name, 'm_p_archiveLocation_')">
- <xsl:value-of select="substring-after(@name, 'm_p_archiveLocation_')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="substring-after(@name, 'm_p_')"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- create an element for each property passed in -->
- <xsl:element name="{$paramName}" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:choose>
- <xsl:when test="key('form-param', 'm_class')='metricsExportTask' and @name='m_p_specification'">
- <xsl:attribute name="type">dataIntegrationServiceSpecificationProp</xsl:attribute>
- <xsl:value-of select="."/>
- </xsl:when>
- <xsl:when test="$nm = 'm_p_name' and @locale != ''">
- <xsl:element name="tokenvalue" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:attribute name="locale"><xsl:value-of select="@locale"/></xsl:attribute>
- <xsl:value-of select="."/>
- </xsl:element>
- <xsl:for-each select="following-sibling::form:param[@name = $nm]">
- <xsl:element name="tokenvalue" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:attribute name="locale"><xsl:value-of select="@locale"/></xsl:attribute>
- <xsl:value-of select="."/>
- </xsl:element>
- </xsl:for-each>
- </xsl:when>
- <xsl:when test="($nm = 'm_p_description' or $nm = 'm_p_screenTip' or $nm = 'm_p_triggerDescription') and @locale != ''">
- <xsl:element name="value" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:attribute name="locale"><xsl:value-of select="@locale"/></xsl:attribute>
- <xsl:value-of select="."/>
- </xsl:element>
- <xsl:for-each select="following-sibling::form:param[@name = $nm]">
- <xsl:element name="value" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:attribute name="locale"><xsl:value-of select="@locale"/></xsl:attribute>
- <xsl:value-of select="."/>
- </xsl:element>
- </xsl:for-each>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="."/>
- <xsl:for-each select="following-sibling::form:param[@name = $nm]">
- <xsl:value-of select="' '"/>
- <xsl:value-of select="."/>
- </xsl:for-each>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:element>
- </xsl:if>
- </xsl:if>
- </xsl:template>
- <!-- Handles generic properties -->
- <xsl:template match="form:param[starts-with(@name,'m_ppc_')]">
- <xsl:variable name="nm" select="@name"/>
- <xsl:if test="not(preceding-sibling::form:param[@name=$nm]) and starts-with($nm, 'm_ppc_')">
- <!-- create an element for each property passed in -->
- <xsl:element name="{substring-after(@name, 'm_ppc_')}" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:value-of select="."/>
- </xsl:element>
- </xsl:if>
- </xsl:template>
- <!-- Handles configuration properties -->
- <xsl:template match="form:param[starts-with(@name,'m_pc_')]">
- <xsl:variable name="nm" select="@name"/>
- <xsl:variable name="prefix" select="substring($nm, 1, 7)"/>
- <xsl:variable name="editFieldValue" select="substring(key('form-param', concat('editField_', $nm)), 1, 1)"/>
- <xsl:choose>
- <!-- The value has been changed, we need to save it anyway. -->
- <xsl:when test="not(key('form-param', concat('changed_', $nm))) or key('form-param', concat('changed_', $nm)) != '0' or key('form-param', concat('resetroot_', substring-after($nm, $prefix)))">
- <xsl:if test="not(preceding-sibling::form:param[@name=$nm])">
- <!-- create an element for each property passed in -->
- <xsl:variable name="paramName" select="substring-after(@name, $prefix)"/>
- <xsl:element name="{substring-after(@name, $prefix)}" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:if test="key('form-param','settings_delete')">
- <xsl:attribute name="updateAllDescendents">
- <xsl:value-of select="not($notAcquirable/parms[name=$paramName])"/>
- </xsl:attribute>
- </xsl:if>
- <xsl:choose>
- <xsl:when test="key('form-param', concat('editField_', $nm)) and ($editFieldValue != '0' and $editFieldValue != '1' and $editFieldValue != '2'and $editFieldValue != '3'and $editFieldValue != '4' and $editFieldValue != '5' and $editFieldValue != '6' and $editFieldValue != '7' and $editFieldValue != '8' and $editFieldValue != '9')">
- </xsl:when>
- <xsl:when test="key('form-param', concat('editField_', $nm)) and ($editFieldValue = '0' or $editFieldValue = '1' or $editFieldValue = '2' or $editFieldValue = '3' or $editFieldValue = '4' or $editFieldValue = '5' or $editFieldValue = '6' or $editFieldValue = '7' or $editFieldValue = '8' or $editFieldValue = '9')">
- <xsl:value-of select="key('form-param', concat('editField_', $nm))"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="."/>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:for-each select="following-sibling::form:param[@name = $nm]">
- <xsl:value-of select="' '"/>
- <xsl:value-of select="."/>
- </xsl:for-each>
- </xsl:element>
- </xsl:if>
- </xsl:when>
- <!-- The value hasn't been changed -->
- <xsl:otherwise>
- <xsl:choose>
- <!-- Delete the values for all child entries.-->
- <xsl:when test="key('form-param','settings_delete')">
- <xsl:variable name="paramName" select="substring-after(@name, $prefix)"/>
- <xsl:if test="not(preceding-sibling::form:param[@name=$nm])">
- <xsl:element name="{substring-after(@name, $prefix)}" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <!-- We need to pass updateAllDescendents as false when the parameter is not acquirable -->
- <xsl:attribute name="updateAllDescendents">
- <xsl:value-of select="not($notAcquirable/parms[name=$paramName])"/>
- </xsl:attribute>
- <!-- Save the value only when "reset" is not selected and the value was not acquired. -->
- <xsl:if test="not (key('form-param', concat('reset_', substring-after($nm, $prefix)))) and substring($prefix, 6,1) = 'n' ">
- <xsl:value-of select="."/>
- <xsl:for-each select="following-sibling::form:param[@name = $nm]">
- <xsl:value-of select="' '"/>
- <xsl:value-of select="."/>
- </xsl:for-each>
- </xsl:if>
- </xsl:element>
- </xsl:if>
- </xsl:when>
- <xsl:otherwise>
- <!-- Handles reset properties for non-root level (i.e. reset back their values to xsi:nil="true") -->
- <xsl:if test="key('form-param', concat('reset_', substring-after($nm, $prefix)))">
- <xsl:element name="{substring-after(@name, $prefix)}" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <!-- no value means xsi:nil="true" -->
- </xsl:element>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
- <!-- The name of the param is dura_property_a_theProp or dura_property_n_theProp
- the dura_property_a/n_ prefix is 16 char long
- -->
- <xsl:template match="form:param[starts-with(@name,'dura_property_')]">
- <xsl:variable name="prefix" select="substring(@name, 1, 16)"/>
- <xsl:variable name="propName" select="substring-after(@name, $prefix)"/>
- <xsl:variable name="durationUnit" select="key('form-param', concat('durationSelect_', $propName))"/>
- <xsl:variable name="modifiedDuration">
- <xsl:choose>
- <xsl:when test="key('form-param',concat('changed_',@name)) and key('form-param',concat('changed_',@name))='1'">1</xsl:when>
- <xsl:when test="key('form-param',concat('changed_durationSelect_',$propName)) and key('form-param',concat('changed_durationSelect_',$propName))='1'">1</xsl:when>
- <xsl:when test="key('form-param', concat('resetroot_',$propName))">1</xsl:when>
- <xsl:otherwise>0</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:choose>
- <!-- duration is modified-->
- <xsl:when test="$modifiedDuration='1'">
- <xsl:element name="{$propName}" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:if test="key('form-param','settings_delete')">
- <xsl:attribute name="updateAllDescendents">
- <xsl:value-of select="not($notAcquirable/parms[name=$propName])"/>
- </xsl:attribute>
- </xsl:if>
- <xsl:call-template name="buildDurationValue">
- <xsl:with-param name="durationUnitNbr" select="."/>
- <xsl:with-param name="durationUnit" select="$durationUnit"/>
- </xsl:call-template>
- </xsl:element>
- </xsl:when>
- <!-- duration is not modified but delete children is selected -->
- <xsl:when test="$modifiedDuration='0' and key('form-param','settings_delete')">
- <xsl:element name="{$propName}" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:variable name="acquired">
- <xsl:choose>
- <xsl:when test="contains($prefix,'_a_')">
- <xsl:value-of select="1"/>
- </xsl:when>
- <xsl:otherwise>0</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:attribute name="updateAllDescendents">
- <xsl:value-of select="not($notAcquirable/parms[name=$propName])"/>
- </xsl:attribute>
- <!-- existing value are not inherited -->
- <xsl:if test="$acquired='0' and not(key('form-param',concat('reset_',$propName)))">
- <xsl:call-template name="buildDurationValue">
- <xsl:with-param name="durationUnitNbr" select="."/>
- <xsl:with-param name="durationUnit" select="$durationUnit"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:element>
- </xsl:when>
- <!-- duration is reset to parent -->
- <xsl:when test="$modifiedDuration='0' and key('form-param',concat('reset_',$propName))">
- <xsl:element name="{$propName}" namespace="http://developer.cognos.com/schemas/xts-cm/1/">
- </xsl:element>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
- <!-- pull in any templates to handle "special" properties on CM objects -->
- <cms:prop-save/>
- <xsl:template match="text()"/>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="saveFault" type="fault" processor="XSLT">
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
- <xsl:output method="xml"/>
- <xsl:template match="/root/fault">
- <xsl:choose>
- <xsl:when test="./*[local-name() = 'exception']/*[local-name() = 'exceptionDetail']/*[local-name() = 'exception']/*[local-name()='errorCode'] = 'cmUpdateFailed1' and string(./*[local-name() = 'exception']/*[local-name() = 'exceptionDetail']/*[local-name() = 'exception']/*[local-name()='message']/*[local-name()='messageString' and contains(.,'CM-REQ-4344')])!=''">
- <copyFault>
- <xsl:copy-of select="."/>
- </copyFault>
- </xsl:when>
- <xsl:otherwise>
- <xsl:copy-of select="."/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
- <xsl:template match="text()"/>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- commandResults - operation results
- ===============================================================================================
- -->
- <xts:block id="commandResults" processor="XSLT" type="exec" mode="output" mimeType="text/xml" dependency="doFormCommand">
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:dls="http://developer.cognos.com/schemas/deliveryService/1" version="1.0">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/root">
- <response xmlns="http://developer.cognos.com/schemas/xts/portal/iFrmCmd/1/">
- <!--xsl:copy-of select="."/-->
- <xsl:choose>
- <xsl:when test="./copyFault">
- <error>
- <errorCode>
- <xsl:value-of select="./copyFault/fault/*[local-name()='exception']/*[local-name()='exceptionDetail']/*[local-name()='exception']/*[local-name()='errorCode']"/>
- </errorCode>
- <errorMessage>
- <xsl:value-of select="substring-after(./copyFault/fault/*[local-name()='exception']/*[local-name()='exceptionDetail']/*[local-name()='exception']/*[local-name()='message']/*[local-name()='messageString'],' ')"/><xsl:text/>  <xsl:text/><!--Note:if we don't add the space ( ) below, the carriage return will be lost -->
- <xsl:if test="./copyFault/fault/*[local-name() = 'exception']/*[local-name() = 'exceptionDetail']/*[local-name() = 'exception']/*[local-name()='message'][2]">
- <xsl:value-of select="substring-after(./copyFault/fault/*[local-name() = 'exception']/*[local-name() = 'exceptionDetail']/*[local-name() = 'exception']/*[local-name()='message'][2]/*[local-name()='messageString'], ' ')"/>
- </xsl:if>
- </errorMessage>
- </error>
- </xsl:when>
- <xsl:when test="cm:updateResponse">
- <xsl:copy-of select="cm:updateResponse"/>
- </xsl:when>
- <xsl:when test="dls:deleteAllNotificationsResponse"><xsl:copy-of select="dls:deleteAllNotificationsResponse"/></xsl:when>
- <xsl:otherwise>
- <error/>
- </xsl:otherwise>
- </xsl:choose>
- </response>
- </xsl:template>
- <xsl:template match="text()"/>
- </xsl:stylesheet>
- </xts:block>
- </xts:morphlet>
|