Dynamic setter invocation

What�s the easiest way to dynamically test for and then (conditionally) invoke a setter for a given property name on an object of unknown type?
I could cruft up something myself with reflection, but I'm trying to genericise some functionality as much as possible, so the least brittle approach is what I'm after. Ideally I'd like something from the core API, or failing that the Spring framework.
Any suggestions?

Or I didn't correctly understand your question ...Ok, I don't understand you. I've adopted aconst_null's suggestion to use the BeanWrapper to achieve this, but it's definitely not IoC, and my property values aren't being injected, nor can they be - essentially my method looks like this:
void foo(Object obj, String name, Object value) {
   BeanWrapper wrapper = new BeanWrapperImpl(obj);
   if( ... ) {
      wrapper.setPropertyValue(name,value);
}I don't see how that can be seen as having the property values "injected" in any real sense, as it's really just the same as the following (though type agnostic):
foo(IBar bar, Object value) {
   bar.setValue(value);
}And no, IBar is not a real type :-)
D.

Similar Messages

  • Dynamically setting column width doesn't work all the time

    I wanted to dynamically set the width of a column in a JTable to be half of the width of a another column. This should happen whenever the frame is resized. But somehow I need to tell this twice to Java. If I don't then sometimes the column width isn't set new.
    Is this a Java bug or what?
    public void componentResized(ComponentEvent ce)
         try
              ref.table.getColumn(ref.rsmd.getColumnLabel(5)).setMaxWidth(ref.table.getColumn(ref.rsmd.getColumnLabel(1)).getWidth() / 2);
              ref.table.getColumn(ref.rsmd.getColumnLabel(5)).setMinWidth(ref.table.getColumn(ref.rsmd.getColumnLabel(1)).getWidth() / 2);
              // Again, or it won't work:
              ref.table.getColumn(ref.rsmd.getColumnLabel(5)).setMaxWidth(ref.table.getColumn(ref.rsmd.getColumnLabel(1)).getWidth() / 2);
              ref.table.getColumn(ref.rsmd.getColumnLabel(5)).setMinWidth(ref.table.getColumn(ref.rsmd.getColumnLabel(1)).getWidth() / 2);
         catch(SQLException e)
    }

    Is it possible that your call to
    ref.table.getColumn(ref.rsmd.getColumnLabel(5)).setMinWidth(ref.table.getColumn(ref.rsmd.getColumnLabel(1)).getWidth() / 2);
    is altering the response created by
    ref.table.getColumn(ref.rsmd.getColumnLabel(5)).setMaxWidth(ref.table.getColumn(ref.rsmd.getColumnLabel(1)).getWidth() / 2);
    ? Have you tried calling them once but in the other order? Or just calling the "setMaxWidth" call twice and leaving out the second "setMinWidth"?
    Good luck... :)

  • Dynamically set Tab current pages

    Here’s a quick summary of the situation I’ve got.
    Let’s say I have an application with 4 report pages. Three display some data about rows in my database. All 3 contain the column ‘Control #’ which is linked to the 4th report which displays more detailed information about that Control # object.
    When I click on the Control # link and go to the 4th report, I would like the Tabs current for the 4th report to match the Tabs current of the page I came from. In other words, if I clicked on the Control # link on page 1, I would like the 4th pages current tabs to match page 1’s current tabs. The same goes for pages 2 and 3.
    I’ve tried &(some global variable). and :(some global variable) and v(‘some global variable’) in the Tabs current pages fields but that doesn’t work.
    Is it possible to do what I’m trying to do?

    Reports 1, 2 & 3 all exist in individual two tab pages. Pages 1 & 2 would have the same parent tab and their own sub tab. Page 3 would have its own parent tab. When in those pages the appropriate tabs are 'current'. When I click on Control # on any page and go to page 4, I would like the source pages tabs to stay 'current' when displaying page 4.
    By the way, my actual application has in the neighborhood of a dozen pages which are like reports 1,2,& 3 as I described above. Rather than build a dozen identical (with the exception of current tabs) page 4's, I would rather build one page 4 and dynamically set page 4's current tab to the source page's current tab.
    It's a visual reminder to the user as to which page they were on when they clicked the Control # field.
    I also have 8 - 10 SVG charts which I have linked to reports. About 6 of them display the same report using different parameters. Again, I would like THAT report to have the same current tab as the source chart (chart clicked on to invoke the report).

  • Dynamically Set date not changing in schedule Job

    Hi,
    I have created a report with "Order Date" as one of the parameters on the selection screen. I have created a variant, say 'X' , to set this date parameter dynamiccaly as "Current date - 31 days".
    I have scheduled this program to run in background with the 'X' variant daily at certain time.
    Now, for the day on which I created this job , the Order Date is set to correct date . For ex if I am scheduling the job tdy it will be set to 06/10/08. However, for next day , that is tom this date is not getting changed. i.e Tommorrow again Order date is 06/10/08 but it should have been 07/10/08.
    So basically this dynamically set date is not chaning in the scheduled job.
    Any idea why this is happening and what is the corrective measure for this.
    Thanks!

    There is an INITIALIZATION event in the program.......
    Do the processing your date in that event only....
    for ex....
    select-options: date for order-date.
    INITIALIZATION.
    date-low = sy-datum or wat ever.
    Thanks
    Saurabh

  • Dynamically Set Subreport Background Color to the Same Value as Main Report Background Color

    I have a report that contains a subreport.  The main report has groupings in it.  I am dynamically setting the background color of the group rows based on an expression.  That part is working fine.  The problem that I am having is that
    I don't know how to get the subreport to "inherit" the background color of the grouping that holds it.
    Basically, I have different row shadings on my report differentiating the groupings except for the rows where the subreport shows.
    How do I go about setting the subreport background color to equal it's contaiing grouping's background color?  Thanks in advance for any and all assistance provided.

    The parameter method given by gpshukla will send the info to the subreport, but you don't need the color parameter in the main report, only the subreport. The trick is in setting the value of that parameter.
    Right-click the cell with the embedded subreport, you can select subreport properties.
    Select Parameters and add a parameter.
    The name column is the name of the parameter in the subreport (color) and value is the value to set it to.
    Set name to "color" (no quotes).
    Set Value to the same expression used to set the background color for the row.
    In the subreport, click the design surface to select the report (not header or footer).
    In the properties pane, select background color and choose expression from the dropdown.
    Type =Parameters!color.Value into the expression builder.
    This will work assuming that background color in the main report row will not change without also refreshing the subreport.
    "You will find a fortune, though it will not be the one you seek." -
    Blind Seer, O Brother Where Art Thou
    Please Mark posts as answers or helpful so that others may find the fortune they seek.

  • Dynamically set maximum row count in Interactive Report

    Hi,
    Has anyone worked out a way of dynamically setting (e.g. via select list) the maximum row count value for an Interactive Report, taking into account issues with order by when the report is filtered. I'm aware of solutions like this: http://www.talkapex.com/2010/10/apex-reports-no-limit-downloads.html but as far as I can tell this doesn't work when the report is filtered and the IR is rewritten in the background. Data sets then become unreliable because they are reordered.
    Thanks,
    Mike

    Hi Mike,
    You can do that with javascript
    gReport.search('SEARCH',100)the 100 you can replace for any number you like.I have a report with filter,sorting and groups and it is gives no problem there.
    any number means any number but not higher than the number you set at Maximum Rows Per Page.
    You probably can mix the solution from Martin and the above code.
    Regards,
    Kees Vlek
    <tt>Company: http://www.orcado.nl
    Blog: http://www.orcado.nl/blog/blogger/listings/69-kvlek
    Twitter: http://www.twitter.com/skier66</tt>
    If the question is answered please change it to answered and mark the appropriate post as correct/helpfull.
    Edited by: kvlek on 24-apr-2013 12:29
    Edited by: kvlek on 24-apr-2013 12:35

  • How to dynamically set the name of the generated PDF file sent by email

    Hello,
    I am using Reports 10g and I managed to send PDF reports by email, specifying the recipient, subject, format etc, using the reports servlet URL.
    But there is one thing that I cannot find a way to do: I want to dynamically set the name of the attached file. It defaults to the name of the RDF file (eg monthly_sales.pdf). I would like it to be something more meaningful (eg monthly_sales_072010.pdf, where 072010 is the month and year passed by parameters).
    Is it possible to do it?
    Thanks
    Luis

    Use System.load(...) instead of System.loadLibrary(...).

  • XSL-FO Report Query / Named Layout - Dynamically set the output filename

    Does anyone know if it is possible to dynamically set the name of the PDF file which is created via FOP?
    Thanks
    Paul

    John
    Thanks for the quick reply, apologies, I should have been more explicit.
    I am calling apache FOP via a report query and a named column layout using xsl-fo to format the PDF report.
    The call is done via a javascript function which determines which report to print and then submits the approproate REQUEST. The request is picked up by conditional branches and calls the PRINT_REPORT
    The PRINT_REPORT names the PDF file as same as the report query name.
    BTW the long term goal is to store the resultant output as a blob back in the database but I can put that off to phase II of the project as I'm not sure that this is possible. Would be nice though!
    Thanks
    Paul

  • How do you dynamically set the flat file name

    Within my process flow I call a mapping. Within this mapping I have a flat file operator (which creates and writes to a .csv file). All working great.
    From this process flow I want to be able to pass a parameter to the mapping (which I can do), and use the value of this parameter as the file name of the .csv file. But I can’t seem to be able to dynamically set the ‘Default physical file name’ to this parameter value within the mapping.
    Does anyone have any ideas?
    Thanks
    Ansel

    Hi Ansel
    Check out the blog entry here;
    http://blogs.oracle.com/warehousebuilder/newsItems/viewFullItem$154
    You can use an expression.
    Cheers
    David

  • Content-Disposition - Dynamically set in Mail Adapter

    Hi All,
    I need to dynamically set the Content-Disposition in the receiver mail adapter so as to facilitate dynamic names for my attachment in the mail.
    In case i use messagetransform bean, I will have to hard code the name as part of the parameter value in the adapter.
    Is there any way i can utilize the ASMA and dynamic configuration here?
    The specified item was not found. - i referred the blog but instead of setting the
    attachmentXML.setName(mailFileName);
    attachmentXML.setContentType("text/xml");
    attachmentXML.setContent(by);
    I need to set the content disposition. Is there any way?
    Appreciate all help on this issue.
    Regards,
    Shabz

    Hi Vijay,
    Do have the solution for this? I also have the same requirement.
    Please forward me the solution.
    Thanks,
    Nat

  • Dynamically Setting a Variable from a Connection String that has been set by a Config File

    Hi Guys
    I'm setting up a Master / Slave (Parent / Child) dtsx environment but I'm unable to work out how to dynamically set a variable in the Master dtsx from a connection string that has had its value set by a config file. I'm sure it's possible.
    Below is the what I'm hoping to achieve. I've set up everything apart from the highlighted section.
    Any ideas?

    First, what version of SQL Server are you using?
    You could switch the problem around.  You could set the value of a variable from the config file, then it is easy to use that variable as the connection string source for your connection manager.  At the same time you can use a parent variable
    configuration to map that variable to variables in your child package.
    Russel Loski, MCT, MCSE Data Platform/Business Intelligence. Twitter: @sqlmovers; blog: www.sqlmovers.com

  • Dynamic setting of itemRenderer in datagrid

    Can we dynamically set the itemrenderer in a datagrid
    depending upon some value in data?

    HI,
    how about to display different controls in a rows for that column? Can it be done?
    Thanks,,
    -jenue

  • Setting 1 dimension in ROLAP mode cause issues, the system try to filter on dynamic set names!

    Hi,
    I suffer a strange behavior.
    I have an SSAS 2014 solution which works fine.
    I do some test to convert 1 dimension in ROLAP mode.
    (all the other dimensions and partitions are MOLAP only)
    after this I cant process any cube!!!
    even a process clear or structure runs forever!!!
    the server call the dimension and try to filter the attributes using the name of dynamic sets setup in my cube! a real non-sense!
    I have a dynamic set in my cube called "SelectedStores"
    and during the process clear or structure, SSAS try to filter my dimension using this dynamic set.
    so for sure this values doesn't exists in my dimension.
    Also a lot of errors like the following are generated:
    OLE DB error: OLE DB or ODBC error: Conversion failed when converting the nvarchar value 'SelectedStores' to data type int.; 22018.
    its a big non-sense!!!
    any idea on the cause for this?
    thanks.

    Hi Willgart,
    According to your description, you get conversion error after you change the storage into ROLAP. Right?
    After you change into ROLAP, it seems there is something (structure/definition) changed in the underlying table. Please use the BIDSHelper to check the issue:
    Dimension Data Type Discrepancy Check
    Dimension Health Check
    In this scenario, does you dynamic set is used in calculated member and involve both MOLAP and ROLAP dimension? It may cause some mismatch issue. Please refer to links below:
    Error Messages during process of ROLAP dimension when using DYNAMIC SET
    in CALCULATE MEMBERs
    SSAS cube failing for storage mode Rolap
    If you have any question, please feel free to ask.
    Best Regards,
    Simon Hou
    TechNet Community Support

  • How to dynamically set column name in Answers

    Hi.
    How to dynamically set column name in Answers, for example I want to put presentation variable in column header. Is this possible?
    Regards,
    Goran Ocko
    http://108obiee.blogspot.com/

    May be a rude way .. but it works.
    Add narrative view and use Java script to change the column headings based on the variables.
    <script language="javascript" type="text/javascript">
    var a = document.getElementById('idResultsTableParent');
    var rows= a.getElementsByTagName('tr');
    rows[1].cells[1].innerText ="@{Presentation Variable}";
    </script>
    Editing the same post to remove irrelevant information.
    - Girish

  • Dynamically Setting PartnerLink Endpoint Address (HTTP) - Null Pointer

    I am trying to dynamically set a partner link address in my synchronous bpel process. I am getting a NullPointerException when assigning variable of type EndpointReference to the partner link.
    I followed the example on the BPEL forum here (which describes dynamically setting the address):
    Re: How can I change my ip adresses from a expression?
    In this case, we only need to reset the address.
    My partner link wsdl file contains this service defn:
    <service name="Service1">
    <port name="HTTPPost" binding="tns:HTTPPost">
    <http:address location="http://test"/>
    </port>
    My assign syntax is as follows:
    <copy>
    <from variable="endPointRef" query="/wsa:EndpointReference/wsa:Address"/>
    <to partnerLink="PartnerLink_1"/>
    </copy>
    I printed out my endPointRef variable here after assigning the values:
    06/02/22 19:13:03 endPointRef: <EndpointReference xmlns="http://schemas.xmlsoap
    .org/ws/2003/03/addressing"><Address>http://otn.oracle.com/Test.integration.servlet.WMServlet</Address><ReferenceProperties/><PortType/>
    <ServiceName>ns2:Service1</ServiceName></EndpointReference>
    Here is the error:
    06/02/22 19:13:03 java.lang.NullPointerException
    06/02/22 19:13:03 at com.collaxa.cube.engine.types.bpel.CXPartnerLink.copy
    (CXPartnerLink.java:247)
    I tried to explicitly set the PortType as well, but I got the same error.
    thanks,nhi

    Try with a 'Dynamic publish to service' action with:
    <ctx:route isProxy="false">
    <ctx:service>{ $yourBusinessService }</ctx:service>
    </ctx:route>
    where $yourBusinessService is the variable hosting the uri of your business service.
    Regards
    ferp

Maybe you are looking for

  • 2nd gen ipod won't show in itunes after 7.3.1.3 update - win xp

    hi. home built xp pro Sp 2 machine - NO USB 2.0 ports. 1 gig ram iPod Nano 4 gig, been working fine since september. iTunes decides to update to 7.3.1.3 last night overnight. It updates but I forgot to reset in the morning. plugged in the ipod to cha

  • How to call sql loader ctrl file with in the pl/sql procedure

    Hi Friends, I am doing a project related with the transferring data using queues. In the queue , I will get a tab delimited data in the form of CLOB variable/message. I do want to store that dat in the oracle table. When updating data into the table

  • How do I delete Pages templates that I have created?

    How do I delete Pages templates that I have created?

  • Unable to delete  primary database archivelogs using RMAN

    Hi, rman unable to delete the archivelogs of primary database even it is in sync ( with standby database). giving an error :- archive log filename=+FLASH/simsval/archivelog/2012_05_24/thread_2_seq_1693.11359.784134169 thread=2 sequence=1693 RMAN-0813

  • Confuse about Alias table

    Hi, In the samplesale RPD, I saw a lot of alias tables and I check the mapping in physical layer, there is no mapping between source table of alias table and F, just have mapping between alias table and F, so what I want to know is what's the purpose