OA Framework Extension / Substitution question

OA Framework Extension / Substitution question:
I am not sure how to do the following, any input will be helpful. Thanks in advance.
Oracle Application has a page on table “FND_NEW_MESSAGES” – Related Entity object is “FndNewMessagesEO” and View object is “FndMessagesResultSetVO”. Primary key on this table is “APPLICATION_ID, MESSAGE_NAME and LANGUAGE_CODE”. I want to extend this page and add my own table say “CUST_FND_NEW_MSG_EXT” with the same primary key and has an extended column “EXTRA_MESG1”.
How do I extend this page to include my new table / column and make select/update/insert work?
Questions:
1.     Should I create EO for my new table say CustExtEO
2.     Create an association between FndNewMessageEO and CustExtEO
3.     Then create CustExtVO and extend FNDMessagesResultSetVO and build view on FndNewMessageEO and CustExtEO and then perform substitution?
Or
1.     Should I create EO for my new table say CustExtEO
2.     Create CustExtVO
3.     Create an View Link between FndNewMessageVO and CustExtVO
4.     Then what??
More questions:
1.     Can I achieve this by not writing any code?
2.     Can the EO Association or View Link automatically insert / update my new table after I do the substitution?
3.     FndNewMessageVO has join to tables “FND_NEW_MESSAGES, FND_APPLICATION_VL, FND_LANGUAGES_VL, FND_LOOKUPS” – when you do an insert / update how does OA Framework know that it has to insert / update the corresponding tables?

Well, if you want to have the page based on your custom table, then you will have to create new VO, EO. You cann't use extension in that case.
1. Can I achieve this by not writing any code?No.
.2. Can the EO Association or View Link automatically insert / update my new table after I do the substitution?You need to have new EO, VO based on your new table.
3. FndNewMessageVO has join to tables “FND_NEW_MESSAGES, FND_APPLICATION_VL, FND_LANGUAGES_VL, FND_LOOKUPS” – when you do an insert / update how does OA Framework know that it has to insert / update the corresponding tables?
EO handles all the insert, update.
For more details go through the Dev guide.
--Shiv                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

Similar Messages

  • How Do I Use Generics with Framework Extension Classes?

    Hi Guys and Gals,
    I've been writing alot of duplicate code lately for ViewObjects that are all basically the same. So it occurred to me that perhaps I could put shared code in a Framework Extension Class. My problem lies in the fact that I do quite a bit of class casting as well. I thought perhaps Generics could come to the rescue. But uh ... I don't really know anything about them, which makes asking the right questions or even researching difficult.
    Here's an example of what I would like to accomplish.
    I have many different Master-Detail ViewObjects which are all pretty much the same. For example ...
    PurchaseOrder (1-*) PoRows
    SalesOrder (1-*) SoRows
    Invoice (1-*) InvoiceRows
    etc...
    Here is sample code for the PurchaseOrder / PoRows
      public void cancelDocument()
        RowIterator ri = this.getPoRowsVO();  // access the detail view object
        RowSetIterator rsi = ((RowSet)ri).createRowSetIterator(null);
        while(rsi.hasNext())
          PoRowsVORowImpl next = (PoRowsVORowImpl)rsi.next();
          next.cancelRow();  // call a detail view object method exposed to the client
        rsi.closeRowSetIterator();
      }However, these two lines are cause for ponderance
         1.  RowIterator ri = this.getPoRowsVO();
         2.  PoRowsVORowImpl next = (PoRowsVORowImpl)rsi.next();Which leads me to two questions:
    1) How do I access the Detail part of the relationship in a framwork extension class generically?
    2) If I have to cast, is there a way to read the class type through reflection and cast using a generic method with what I've found?
    I would think writing common methods in a Framework Extension class would really help make maintaining my code easier, and I could see how it would be a powerful tool. But how would one get around these ViewObject specific problems?
    Will

    Hi,
    you are correct, Generics has a different meaning in Java then what you ask for.
    Actually to access a detail row set from a parent row, you can use code like this:
        public void voRowCancel(){
            for (int i = 0; i < this.getAttributeCount(); i++)
                   if(this.getStructureDef().getAttributeDef(i).getAttributeKind() == AttributeDef.ATTR_ASSOCIATED_ROWITERATOR){
                     RowSet rs = (RowSet) this.getAttribute(i);
                    // ... to do ...
        }However, the code you invoke is on a custom implementation class, which makes it difficult to get to this from here.
    Frank

  • How to develop Framework Extension for join two tables

    Dear developers,
    My project contains more than 200 maintenance tables.
    Maintenance tables are very small and less than 100 lines.
    Maintenance tables mostly associated with a translation table.
    Translation tables are used for localized texts.
    Translation tables consists of Master Table Key + LanguageKey.
    I want to edit customizing tables only session language as single table.
    Translation table row may or may not be. Thats mean relationship is 1 to 0..1.
    ADF table control ignore this relationship.
    I tried view link between master view and detail view objects, but if translation table line is empty ADF table control throws translation iterator is null exception.
    I tried entity based left joined editable view I get view link inconsisty problem.
    In this case, the BC forcing me to framework extension.
    How is develop solution?

    topic is update

  • Shall we use SRDemo Framework Extension Classes in 11G R1?

    Hi,
    I just installed 11G R1 and reading developer guides. For development with 10.1.3.3 release I was using the Framework extension classes from SRDemo to base BC's on. Those methods includes many base functionality such as setManagerowsByKey, case-insensitive search, some bind variables initialized, and so on. Shall we continue to use them for 11G R1? To keep currency of viewobjects after rollback, I use the method proposed by Steeve Muench's blog entry which contains beforeRollback and afterRollBack methods on the base viewobject and exposing row state to client . shall I continue to use it?
    Best Regards,

    Salim,
    If those methods provide functionality that you like - I don't see why you shouldn't continue to use them.
    John

  • Pl/SQL procedure + framework extension

    Hello,
    We have requirement to write common pl/sql procedure calling method to execute the pl/sql procedure called from ADF BC entityImpl and Application module Impl classes. While reading document it is mentioned to add it in adf bc framework extension base classes.But if we place common pl/sql procedure calling method in entity Impl base classes,how I can use same method from application module classes?
    Any other approach? Any pattern??
    Regards
    Ravi

    Ravi,
    you have to be more specific. What is the intention of the PL/SQL function you want to call from the EntiyImpl class. If you plan to just do something on attribute level or are probably on the save side. For anything else you have to make sure that after changing anything using PL/SQL you have to query all VO again. Otherwise they don't get the changes.
    The method to call PL/SQL is like the one from the doc. You even can get an application module and call a method from there.
    To get the application module from an EO
    public class EOTest extends EntityImpl
    ApplicationModule getApplicationmodule()
          this.getDBTransaction().findApplicationModule("yourApp");
    }Timo

  • Jdeveloper OA Framework extension

    Hi, I checked the OA Framework version for my instance and came up with this:
    OA Framework Version Information
    OA Framework Version 11.5.10.6RUP.
    MDS Version 9.0.5.4.89 (build 560)
    UIX Version 2.2.24.2
    BC4J Version 9.0.3.9
    I hear I am meant to download a patch of some sort, to have OA Framework extensions in JDeveloper. I already have JDeveloper on my system (Version 10.1.3.4). I'm wondering where I can download the OA Framework extensions for my version of JDeveloper. Can anyone guide me on this. I tried through the "Check for Updates" function in JDeveloper but came up with nothing. Metalink is not being too helpful and I'm a bit confused. Can anyone help guide me in the right direction so that I can download the OA Framework extensions and tutorials. Thank you very much.

    Hi,
    If you got ur solution please mark somebody reply as helpful or correct. So that the other person will also happy.
    Thanks
    --Anil                                                                                                                                                                                                                                                                                           

  • OA Framework Extension Number Formats

    Hello,
    I'm developing a small customisation utilising the OA Framework extension and JDeveloper and am having a spot of trouble with the format of the number fields I have in the page. Put simply I want 10,000.00 in my number fields.
    The OA Framework dev guide says the application users preferences handle this however this is not the case at the moment the numbers are coming out as they are stored and it doesn't look good. All the VO attributes that are to be formatted as numbers are of number Datatype as are their items.
    Does anybody else out there have experience of this?? Do I need to work around this using attribute hints?? Am I experiencing a known Bug?? Metalink suggests that the users preference will handle this do I need to write code to hook into this functionality??
    Any help would be appreciated.
    Cheers
    Doug

    Not sure what you mean by "number format in your schema" my user preferences at application user level and at site level are set for 10,000.00 which means use commas for thousand separator and full stop for decimal indicator.
    Could you be more specific?

  • Question about extension/substitution

    I need to modify a standard page with a table to include some extra columns.
    So I have a custom page which is a copy of the standard page's XML.
    In order to do that, I need to add phrases in the select, from and where clauses in the Query.
    I want to know what my best solution is:
    1- Create copy of VO.
    2- Create a substitution (I am not sure how this works. If I create a substitution, does it call my custom VO everytime a controller calls the standard VO? this would be ideal)
    3- Create an extension (wouldnt this be similar to creating my own copy of the VO? coz nothing will reference my custom VO)
    Would appreciate any help..
    thanks!!

    You can extend the VO and then through personalization add columns to page.
    To extend the VO, you need to get all VO related files from server, extend the VO by substituting the parent (base) VO and then deploy the custom VO on server and import the project.jpx
    Please go through extension and personalization given in OADevGuide.
    Thanks,
    Mitiksha

  • VO Substitution question

    gurus,
    if you have two isupplier server(separate server and one embeded with the form server) and you did the jpximporter, copied the files on both servers but bounce only one of it. Is it possible that you would get "view definition not found"?
    Do i need to bounce both? What is the reasoning behind it?
    yoyoy

    Pratap,
    Below is the error stack. I've verified the whole day, visually comparing the test directory structure with prod.
    This work in test but got this error in prod.When i unloaded the substitution the page went back to working fine.
    We bounced the apache several times already. we do have two portal server, one as a separate one embedded in the
    form server. We only bounced the independent server. How many times should i run the jpximporter? I believe once
    because they would be using the same MDS?
    oracle.apps.fnd.framework.OAException: Could not load application module 'oracle.apps.pos.asn.server.PosAsnCreateAM'.
    at oracle.apps.fnd.framework.webui.OAJSPApplicationRegistry.registerApplicationModule(OAJSPApplicationRegistry.java:279)
    at oracle.apps.fnd.framework.webui.OAJSPApplicationRegistry.registerApplicationModule(OAJSPApplicationRegistry.java:78)
    at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1189)
    at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:511)
    at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:432)
    at oa_html._OA._jspService(_OA.java:84)
    at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
    at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:417)
    at oracle.jsp.JspServlet.doDispatch(JspServlet.java:267)
    at oracle.jsp.JspServlet.internalService(JspServlet.java:186)
    at oracle.jsp.JspServlet.service(JspServlet.java:156)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
    at org.apache.jserv.JServConnection.processRequest(JServConnection.java:456)
    at org.apache.jserv.JServConnection.run(JServConnection.java:294)
    at java.lang.Thread.run(Thread.java:595)
    ## Detail 0 ##
    JBO-30003: The application pool (xxx11.xk.xxxx.comprod1522oracle.apps.pos.asn.server.PosAsnCreateAM) failed to checkout an application module due to the following exception:
    oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.NoDefException, msg=JBO-25002: Definition xxoa.oracle.apps.pos.asn.server.xxoaPosShipmentsVO of type View Definition not found
    at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1619)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2366)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:427)
    at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:214)
    at oracle.apps.fnd.framework.webui.OAHttpSessionCookieImpl.useApplicationModule(OAHttpSessionCookieImpl.java:519)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:398)
    at oracle.apps.fnd.framework.webui.OAJSPApplicationRegistry.registerApplicationModule(OAJSPApplicationRegistry.java:208)
    at oracle.apps.fnd.framework.webui.OAJSPApplicationRegistry.registerApplicationModule(OAJSPApplicationRegistry.java:78)
    at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1189)
    at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:511)
    at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:432)
    at oa_html._OA._jspService(_OA.java:84)
    at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
    at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:417)
    at oracle.jsp.JspServlet.doDispatch(JspServlet.java:267)
    at oracle.jsp.JspServlet.internalService(JspServlet.java:186)
    at oracle.jsp.JspServlet.service(JspServlet.java:156)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
    at org.apache.jserv.JServConnection.processRequest(JServConnection.java:456)
    at org.apache.jserv.JServConnection.run(JServConnection.java:294)
    at java.lang.Thread.run(Thread.java:595)
    ## Detail 0 ##
    oracle.jbo.NoDefException: JBO-25002: Definition xxua.oracle.apps.pos.asn.server.xxuaPosShipmentsVO of type View Definition not found
    at oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:329)
    at oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:269)
    at oracle.jbo.server.MetaObjectManager.findMetaObject(MetaObjectManager.java:649)
    at oracle.jbo.server.ViewDefImpl.findDefObject(ViewDefImpl.java:378)
    at oracle.jbo.server.ApplicationModuleDefImpl.loadViewObject(ApplicationModuleDefImpl.java:494)
    at oracle.jbo.server.ApplicationModuleDefImpl.loadComponents(ApplicationModuleDefImpl.java:673)
    at oracle.jbo.server.ApplicationModuleImpl.createRootApplicationModule(ApplicationModuleImpl.java:369)
    at oracle.jbo.server.ApplicationModuleHomeImpl.create(ApplicationModuleHomeImpl.java:91)
    at oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(DefaultConnectionStrategy.java:135)
    at oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(DefaultConnectionStrategy.java:76)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.instantiateResource(ApplicationPoolImpl.java:1993)
    at oracle.jbo.pool.ResourcePool.createResource(ResourcePool.java:361)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1552)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2366)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:427)
    at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:214)
    at oracle.apps.fnd.framework.webui.OAHttpSessionCookieImpl.useApplicationModule(OAHttpSessionCookieImpl.java:519)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:398)
    at oracle.apps.fnd.framework.webui.OAJSPApplicationRegistry.registerApplicationModule(OAJSPApplicationRegistry.java:208)
    at oracle.apps.fnd.framework.webui.OAJSPApplicationRegistry.registerApplicationModule(OAJSPApplicationRegistry.java:78)
    at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1189)
    at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:511)
    at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:432)
    at oa_html._OA._jspService(_OA.java:84)
    at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
    at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:417)
    at oracle.jsp.JspServlet.doDispatch(JspServlet.java:267)
    at oracle.jsp.JspServlet.internalService(JspServlet.java:186)
    at oracle.jsp.JspServlet.service(JspServlet.java:156)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
    at org.apache.jserv.JServConnection.processRequest(JServConnection.java:456)
    at org.apache.jserv.JServConnection.run(JServConnection.java:294)
    at java.lang.Thread.run(Thread.java:595)

  • How to add DFF using OA Framework Extensions

    Dear Members,
    I am very new to OA Framework. I have a requirement where i need to add a DFF to a standard Oracle form in iExpense.
    How do we achieve this. Can we do this using forms personalization?
    Following are the details of the OAFramework version in our company:
    Product/Component Version
    OA Framework - 11.5.10 4RUP
    Oracle Applications Extension - 9.0.3.8.13 - build 1541
    Business Components - 9.0.3.13.87
    UIX (Cabo) - 2_2_24
    BiBeans Runtime - 3.1.0.70 nondebug BI Beans OAF 11.5.10 Production Release
    MDS - 9.0.5.4.89_555
    XML - Oracle XDK Java 9.0.4.0.0 Production
    AOL/J - Applications Object Library, Core Java Roll Up Patch J
    Servlet - 2.2
    Java - 1.4.2
    JDBC Driver - 9.2.0.6.0
    Database - Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production
    Operating System - AIX 5.3
    Browser - Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; GTB6; .NET CLR 2.0.50727; InfoPath.1)
    Your Comments are greatly appreciated.
    Thanks
    Sandeep

    Sandeep,
    First of all check the Table on which you are having your DFF. If its at the same level as of the Page (I mean the Page VO is on the same table) then there is a high likelihood that ORacle would have provided the DFF and you just need to set the rendered property to true. In Personalize Page you need to provide a Segment List which is a concatenated list of AttributeCategory and allowed Segments for the DFF.
    Dev guide is a good place to look for details.
    Regards
    Sumit

  • Flex framework - software needed question

    hi, and thank you for your replies in advance.
    i'm a bit new to flex framework and flash.
    I want to know what software and languages I would need for the following website or web application
    I have some knowledge with programing and markup languages like:
    c/c++, java
    html/css/javascript
    php/sql
    Professional design experience with
    Photoshop/illustrator
    What i want to achieve is:
    Build a rich internet application.
    Unified layout that will start fast. very small loading time (less than 3 seconds including the background and menus).
    I need a search and category filter (get input text and check boxes and send them to database and retrieve the query)
    When an icon or button is clicked, data is dynamically retrieved and automatically updated (animation on the whole page or text/image area when an icon or button is clicked) (no page refresh)
    Some caching or background downloads when the site is idle, but give priority whenever an icon is clicked.
    Some animated charts and site stats.
    Some animated images where you can click on a portion of the image to trigger some text/images on to the image like tips and help
    Site updates send subscription members (rss, email, facebook, twitter)
    If there is an easy way to update the site, rss, email, facebook account, and twitter account at the same time
    Optional (I want to create a discussion board (forum like) integrated in the site)
    Sorry about the rambling.
    Now for the questions:
    If I already have Flash cs5, do I need:
    1-      Flex4 sdk
    2-      Flash builder 4 (does it offer something not included in flash cs5, or is it just a better interface for programing)
    3-      What does flash catalyst do
    4-      If I’m not streaming video do I need the flash servers
    5-      Do I need flash services
    6-      When I finish the web application. How much work would it take to make a mobile (Android or iPhone maybe) and a desktop (adobe air) versions. Is it as easy as making a file export in different format, or just minor tweaks to make it work?
    7-      Last thing, what references or books do I need?

    As a new Flex user maintaining part of an existing project, I would say to be very cautious.
    I haven't used robotlegs, but attempting to learn flex and robotlegs and convert part of an existing project to use it is a recipe for disaster.
    In my experience companies are interested in quick results when in maintenance mode on existing projects and won't be interested in excuses when the new developer messes up an existing project by trying to introduce a framework they know nothing about.
    Get comfortable with basic Flex. If you want to try RobotLegs, create a test project to play with.
    Don't add robotlegs to a live project when you are not sure of either flex or the framework. Or if you do, start looking for your next job!

  • Extension development question

    Hello!
    How can I use for example standard „Select Connection” dialog in my own extension development? Is it allowed? Or should I create my own?
    Regards,
    Alexandre S.

    Alexandre,
    While we don't have the javadoc published, you can ask any questions here.
    What your looking for is this:
    * Invokes a dialog for selecting a connection.
    * @param title the dialog title
    * @param prompt the prompt string for the dialog
    * @param connName the initially selected connection name, or <code>null</code> to
    * use the default
    * @param oracleOnly whether to only display Oracle connections.
    * @param openConnection whether to open the connection if not yet opened
    oracle.dbtools.raptor.controls.ConnectionSelectorUI.getConnection( String title, String prompt, String connName, boolean oracleOnly ,boolean openConnection)
    The return is a string of the name of the connection.
    To get the actual connection from the name of the connection, you'll do this:
    oracle.dbtools.raptor.utils.Connections.getInstance().getConnection(name)
    -kris

  • JDeveloper10g VCS Extension API Question

    Hi.
    I wrote a VCS system for JDeveloper9.0.3 against Microsoft Visual Source Safe, which worked fine. We've now upgraded to 10g, and this system does no longer work, because the JDev's extension API has changed.
    I'm therefore rewriting the system to support the 10g API. But I'm a bit overwhelmed by the changes made to the API. Where do I start?
    1. I wish to implement a new panel in JDev's preferences screen under VersionControl systems which can configure my plugin.
    2. I wish to present files in the Navigator window with overlay icons on files checked in, checked out, not present and such.
    4. I wish to add my plugin to the context menu for the Navigator, so that users can be presented with the choice to perform file operations against VSS.
    3. I wish to present one dialog for single file operations and one for multiple file operations.
    Which classes do I need to extend? Which interfaces do I need to implement?
    Can someone give me directions? The help file for the extension API does not give sufficient answers.

    To answer your other questions:
    The VCSPropertyCustomizer object I've written contains properties I need to use during any VSS operations. Does the IDE store these properties in an easily retrievable place, or do I need to handle this myself.
    You can get a VCSPropertyMap from the Ide like this:
      ((VCSPropertyMap)Ide.getSettings().getData( YOUR_DATA_KEY );
    And another thing, the example above does not describe dialogs on operations like checkin, checkout and so on.
    Would this be implemented in the doitImpl() method in my implementation of VCSAbstractCommand?
    Yes... Below is a snippet from the code for the ClearCase client.
    FWIW, sorry it's so much work to do this. I'm working on an (optional, i.e won't break existing code) way of just writing a simple xml file to integrate version control clients into JDeveloper that should hopefully make everyone's life easier in the future :P
      protected int doitImpl() throws Exception
        final Collection nodes = getNodesToCheckIn();
        if ( nodes.size() <= 0 )
          return NOOP;
        if (! saveDirtyDocuments( nodes ))
          return Command.CANCEL;
        final Map timestampMap = VCSBufferUtils.storeTimestamps( nodes );
        final VCSDirectoryInvokableState invokableState =
            new VCSDirectoryInvokableState( VCSModelUtils.convertNodesToURLs(
                nodes ) );
        final VCSCommandState state = new VCSCommandState( invokableState,
            timestampMap );
        if ( context.getView() instanceof ClearCaseChangeListWindow &&
          !((ClearCaseChangeListWindow)context.getView()).isUsingCheckInDialog() )
          return checkInSilently( nodes, state,
            ClearCaseClient.getInstance().getChangeListCustomizer() );
        else
          return checkIn( nodes, state );
      protected void noOpImpl() throws ClearCaseValidationException
        throw new ClearCaseValidationException(
            ResourcePicker.get().getString( "ERROR_CHECKIN_FILTERED_TITLE" ), //NOTRANS
            ResourcePicker.get().getString( "ERROR_CHECKIN_FILTERED" ) ); //NOTRANS
      private int checkInSilently(
        final Collection nodes,
        final VCSCommandState state,
        final VCSOptionsCustomizer customizer )
        Ide.getWaitCursor().show();
        Runnable r = new Runnable()
          public void run()
            try
              doCommitOperationImpl( Ide.getMainWindow(), customizer.getOptions(),
                state );
            catch ( Exception e )
              getExceptionHandler().handleException( e, Ide.getMainWindow() );
            finally
              EventQueue.invokeLater( new Runnable()
                public void run()
                  Ide.getWaitCursor().hide();
                  postCheckIn( state );
        Thread t = new Thread( r, "ClearCase Check In Committer" ); // NOTRANS
        t.start();
        return OK;
      private int checkIn( final Collection nodes,
          final VCSCommandState state )
        throws Exception
        boolean multiCheckin = ( nodes.size() > 1 );
        final VCSOptionsCustomizer customizer =
            new VCSCommentsCustomizer( new ClearCaseCheckinCustomizer(),
            multiCheckin );
        if ( getContext().getView() instanceof ClearCaseChangeListWindow )
          customizer.setOptions(
            ClearCaseClient.getInstance().getChangeListCustomizer().getOptions()
        final JEWTDialog dialog = VCSComponents.createOperationDialog(
          VCSWindowUtils.getCurrentWindow(),
          ResourcePicker.get().getString( "CHECKIN_CAPTION" ), //NOTRANS
          ResourcePicker.get().getString( "CHECKIN_LONG_PROMPT" ), //NOTRANS
          VCSComponents.createFileListerComponent( nodes ),
          customizer.getComponent(),
          "f1_clearcasechkin_html", //NOTRANS
          customizer.getInitialFocusComponent()
        Map options = null;
        if ( ! multiCheckin )
          String checkoutComments = retrieveCheckoutComments( ((Locatable)nodes.
              iterator().next()).getURL() );
          // bug 3067323 - check in dialog does not prepopulate with check out comments
          if ( checkoutComments != null )
            customizer.setOptions( Collections.singletonMap( KEY_SETTING_COMMENTS,
                checkoutComments ) );
        else
          customizer.setOptions( Collections.singletonMap(
              KEY_SETTING_REUSE_COMMENTS, _optionReuseComments ) );
        dialog.addVetoableChangeListener( new VCSDialogCommitter()
          protected final boolean doCommitOperation() throws Exception
            return doCommitOperationImpl(
                dialog, customizer.getOptions(), state);
        boolean dialogSuccessful = ClearCaseDialogRunner.runDialog( dialog );
        postCheckIn( state );
        _optionReuseComments = (Boolean)customizer.getOptions().get(
            KEY_SETTING_REUSE_COMMENTS );
        return (! dialogSuccessful ? Command.CANCEL : Command.OK);
      private void postCheckIn( VCSCommandState state )
        Collection processedUrls = state.getInvokableState().getProcessedURLs();
        if ( processedUrls.size() > 0 )
          VCSBufferUtils.reloadBuffers( state.getTimestampMap() );
        URLFilter filter = VCSURLFilters.createSpecificURLFilter(
          (URL[])processedUrls.toArray( new URL[0] ) );
        ClearCaseClient.getInstance().getStatusCache().clear( filter );
      private boolean doCommitOperationImpl(
          Component dialog, Map options, VCSCommandState state )
          throws Exception
        DeterminateProgressMonitor monitor = new DeterminateProgressMonitor(
          dialog,
          ResourcePicker.get().getString( "CHECKIN_PROGRESS_TITLE" ), //NOTRANS
          ResourcePicker.get().getString( "CHECKIN_WATCHER_DESCRIPTION" ), //NOTRANS
          0,
          -1
        final ClearCaseShellRunner runner = new ClearCaseShellRunner();
        List cmd = new ArrayList();
        cmd.add( "ci" ); //NOTRANS
        Boolean b = (Boolean)options.get( KEY_SETTING_IDENTICAL_CHECKIN );
        if (b != null && b.booleanValue())
          cmd.add( "-ide" ); //NOTRANS
        b = (Boolean)options.get( KEY_SETTING_REUSE_COMMENTS );
        String s = null;
        if (b == null || ! b.booleanValue())
          s = (String)options.get( KEY_SETTING_COMMENTS );
        URL commentFile = writeCommentsFile( s, cmd );
        runner.setCmdList( cmd );
        VCSDirectoryInvokable invokable = new ClearCaseDirectoryInvokable(
            state.getInvokableState(), ClearCaseUtil.FILE_COMMAND_BATCH_SIZE )
          protected final boolean doInvocation2( URL parent, URL[] invokeUrls )
              throws Exception
            String[] filenames = VCSFileSystemUtils.getURLFileNames( invokeUrls );
            runner.setDirURL( parent );
            runner.setOptions( Arrays.asList( filenames ) );
            doInvocationImpl( runner );
            return true;
        invokable.setProgressMonitor( monitor );
        try
          if (! invokable.runInvokable())
            return false;
        finally
          if ( commentFile != null )
            URLFileSystem.delete( commentFile );
        return true;
      private void doInvocationImpl( ClearCaseShellRunner runner ) throws Exception
        runner.exec();
        String error = runner.getErrorText();
        if ( error != null &&
             error.indexOf( "The most recent version on branch" ) >= 0 && //NOTRANS
             error.indexOf( "is not the predecessor of this version" ) >= 0 ) //NOTRANS
          throw new ClearCaseOperationException(
            ResourcePicker.get().getString( "ERROR_CHECKIN_FAILED_TITLE" ), //NOTRANS
            ResourcePicker.getPicker( ClearCaseOperationCheckin.class ).getString(
                "ERROR_CHECKIN_FAILED_SUBSUMED" ) ); //NOTRANS
        if (runner.getExitCode() == null ||
            runner.getExitCode().intValue() != 0)
          throw new ClearCaseProcessException(
            ResourcePicker.get().getString( "ERROR_CHECKIN_FAILED_TITLE" ), //NOTRANS
            ResourcePicker.getPicker( ClearCaseOperationCheckin.class ).getString(
                "ERROR_CHECKIN_FAILED" ), runner.getErrorText() ); //NOTRANS
      private String retrieveCheckoutComments( URL url )
        // bug 3067323 - check in dialog does not prepopulate with check out comments
        String[] cmd = new String[] { "lsco", "-me", "-fmt", "%c", "-cvi", //NOTRANS
            URLFileSystem.getPlatformPathName( url ) };
        try
          ClearCaseShellRunner runner = new ClearCaseShellRunner();
          URL parent = URLFileSystem.getParent( url );
          if ( url == null )
            return null;
          runner.setCmdArray( cmd );
          runner.setDirURL( parent );
          runner.setQuiet( true );
          runner.exec();
          String output = runner.getOutputText();
          if ( output != null && output.equals( "" ) )
            return null;
          return output;
        catch ( Exception e )
          oracle.ide.util.Assert.printStackTrace( e );
          return null;

  • 24" LED Cinema Display Extension Cable Question

    Hi, I have a 24" LED Cinema Display. Unfortunately the display's cable is too short which means I have to have the cable in front of the desk in order to reach my Mac Pro. I don't like having it in front of the desk as it's an eyesore.
    I've had it like this since I purchased the display in March 2009. I was thinking of purchasing an extension cable for my Display so I can finally put the displays cable behind the desk.
    I have some questions, Are there any issues with having an extension cable attached to the 24" LED Cinema Display? Is there a loss in picture quality with an extension cable? What extension cables do you guys recommend?
    Any help is greatly appreciate

    Hi,
    Check this <http://discussions.apple.com/thread.jspa;jsessionid=27B9AEB46A905A978B5FCBED90 90F02F.node0?messageID=10942969&#10942969>, it might help you.
    Regards,
    Larry

  • 2 more workflow-substitution questions

    hi again,
    i have 2 more questions about substitution of workflow:
    HOW does a user know that he has adopted substitution. i mean when he do it he knows it. but there is no information that he the adopted status is 'ON' ? am i right ? when he ends the adoption there is NO message if there even was an adoptation.
    thats kind of user-unfriendly. the only way that he knows that he has adopted is when he gets mails from the workflows.
    2nd question: when i have to choose adoptation substitution i always get 2 entrys for the same person to select. thats confusing. it looks to me that 1 of it is the sap-USER, the other is the PERSON in HR backend. why is this and how to avoid that ?
    reg, Martin

    Martin,
    thats kind of 'stupid', isn't it ?
    i activate to substitute somebody (who is unplaned away, e.g. illness).
    so far so good: i select the person with click on the checkbox !
    when leaving this transaction and enter it again the checkboxes are AWAY. why ? but the substitution is of course activ.
    and when i 'end' the substitution there is NO MESSAGE. it's always the same........no comment, NOTHING. it does'nt matter if subst. is ON or OFF, the function for ending subst. has
    no output ! thats sap in it's best -> user unfriendly !
    am i wrong ?
    best regards, Martin

Maybe you are looking for