Override the Interpreter class for URL redirect

We are running the C# version of the 5.0.2 portal.
I need to modify the Interpreter such that I can create a mechanism to redirect requests from given URLs to real Plumtree URLs.  I need some guidance on the best way to deal with the the Interpreter.
Example:
I would create a collection of URLs and map them to community pages based on community page ID (or name based on a query for name to id), store this in a hashtable, in a varpack, etc.
http://server/portal/awl.1  =  http://devportal/portal/server.pt?in_hi_userid=689&space=CommunityPage&parentid=0&cached=false&control=SetCommunity&PageID=0&CommunityID=202&parentname=Login#
So the user could enter URL http://devportal/portal/awl.1 and be redirected to the second url.
The only documentation I see on the Interpreter is (from the javadocs...)
http://portal.plumtree.com/portal/server.pt/gateway/PTARGS_0_286963_12064_2758_0_43/http%3B/prodgadget03.plumtree.com/Gadgets/Department_Customer_Care/Support_Center/html-asp/apiportlets/libraries/plumtree/portalui/5.0.2/javadoc/portalui/com/plumtree/uiinfrastructure/activityspace/Interpreter.html#HandleRequest(com.plumtree.openfoundation.web.IXPRequest,%20com.plumtree.openfoundation.web.IXPResponse,%20com.plumtree.uiinfrastructure.web.ISessionManager,%20com.plumtree.uiinfrastructure.web.IApplication)
When I examine the UI source I find HttpInterpreterBridge.cs and HttpInterpreter.cs, but they just instantiate a new Interpreter.  Would somebody provide some guidance on overriding the behavior of the Interpreter, especially those who can see the source code for the Interpreter class?  Perhaps somebody could send me the source to the Interpreter class?

Dear All,
We have a case that looks like this case, we need to make the redirection URLs returned to the user dependent on a query string in the URL, this is a very critical point with a very important customer, we need a reply from the plumtree stuff.
Thank you,
Dalia

Similar Messages

  • How to use the different class for each screen as well as function.

    Hi Experts,
    How to use the different class for each screen as well as function.
    With BestRegards,
    M.Thippa Reddy.

    Hi ThippaReddy,
    see this sample code
    Public Class ClsMenInBlack
    #Region "Declarations"
        'Class objects
        'UI and Di objects
        Dim objForm As SAPbouiCOM.Form
        'Variables
        Dim strQuery As String
    #End Region
    #Region "Methods"
        Private Function GeRate() As Double
                Return Double
        End Function
    #End Region
    Public Sub SBO_Appln_MenuEvent(ByRef pVal As SAPbouiCOM.MenuEvent, ByRef BubbleEvent As Boolean)
            If pVal.BeforeAction = True Then
                If pVal.MenuUID = "ENV_Menu_MIB" Then
                End If
            Else ' Before Action False
                End If
        End Sub
    #End Region
    End Class
    End Class
    Rgds
    Micheal
    Vasu Anna Regional Feeling a???? Just Kidding
    Edited by: micheal willis on Jul 27, 2009 5:49 PM
    Edited by: micheal willis on Jul 27, 2009 5:50 PM

  • Which are the standard classes for events in ALV and explain each class pls

    which are the standard classes for events in ALV and explain each class pls
    POINTS WILL BE AWARDED,
    REGARDS,
    jagrut bharatkumar Shukla

    hi,
    some links.
    www.sapgenie.com
    www.abap4u.com
    http://help.sap.com/saphelp_nw2004s/helpdata/en/5e/88d440e14f8431e10000000a1550b0/frameset.htm
    download the PDF from following link.
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVALV/BCSRVALV.pdf
    The ALV object Grid methods allow the same functionality as ALV grid report function modules but are displayed within
    a screen (dialog program). SAP has provided a suit of programs which demonstrate how to For examples see standard SAP
    programs as detailed below:
    BCALV_EDIT_01 This report illustrates the simplest case of using an editable/noneditable ALV Grid Control.
    BCALV_EDIT_02 This report illustrates how to set chosen cells of an ALV Grid Control editable.
    BCALV_EDIT_03 In this example the user may change values of fields SEATSOCC (occupied seats) and/or PLANETYPE.
    The report checks the input value(s) semantically and provides protocol messages in case of error
    BCALV_EDIT_04 This report illustrates how to add and remove lines to a table using the ALV Grid Control and how to
    implement the saving of the new data.
    BCALV_EDIT_05 This example shows how to use checkboxes within an ALV Grid Control. You learn:
         (1) how to define a column for editable checkboxes for an attribute of your list
         (2) how to evaluate the checked checkboxes
         (3) how to switch between editable and non-editable checkboxes
    BCALV_EDIT_06 This example shows how to define a dropdown listbox for all cells of one column in an editable ALV
    Grid Control.
    BCALV_EDIT_07 This example shows how to define dropdown listboxes for particular cells of your output table.
    BCALV_EDIT_08 This report implements an ALV Grid Control with an application specific F4 help. The following aspects
    are dealt with:
         (1) how to replace the standard f4 help
         (2) how to pass the selected value to the ALV Grid Control
         (3) how to build an f4 help, whose value range depend on a value of another cell.
    Rgds
    Anversha

  • Changing the development class for 0CALMONTH

    Hi we upgraded from BW3.5 to 7.0 and we are getting the same error from the thread :  Unable to change development class because field is greyed out
    Does anyone know how this problem was resolved.
    Regards,
    Brian
    I am changing the development class for 0CALMONTH and for some reason I am not able to change the $TMP to ZBW because it is greyed out. I also noticed the Orginal system field is SAP and not our BWD name and the Orginal language is DE and not EN.
    How would I change the development class for this IO? I am perplexed how this got to this status. When I collected the 0CALMONTH afterwards and listed the IOs belong to 0CALMONTH, I was able to change the development class. Why is this being greyed out?

    Changing while signed on in DE did not work.   - I also tried changing the person reponsible and get the following 
    Local private objects cannot be repaired
    Message no. TR229
    Diagnosis
    Every user of the SAP System can access and change local private
    objects using the ABAP/4 Development Workbench.
    System Response
    Setting the repair flag is rejected.

  • Differentiating the asset class for group assets

    Hi,
    I want to create group assets in AS21. For creating group assets I want to create a seperate asset class. I could not find any option of differentiating the asset class for group assets in transaction OAOA (i.e., Define Asset Class)
    How we can identify that an asset class can be used only for group assets and not for individual assets.

    <<Plagiarised from http://help.sap.com/saphelp_45b/helpdata/en/4f/71dfff448011d189f00000e81ddfac/content.htm>>
    HI
    A group asset is represented in the system by a separate master record. The structure of this master record corresponds to the structure of the normal asset master record. You can determine the structure of this master record using screen layout control, just as you do for normal master records. Just the same as a normal asset, a group asset can have any number of sub-numbers. In this way it is possible, for example, to collect all the acquisitions for one year in a single sub-number master record at the level of the group asset.
    There is a separate master data transaction for creating group assets (Asset ® Create ® Group asset). This transaction corresponds to the transaction for creating normal assets. However, there are certain special considerations to keep in mind for master data maintenance of group assets:
    Group assets can only be deleted when all the assets belonging to them have been marked for deletion.
    Group assets can only manage depreciation areas that have been specially marked. You mark them using an indicator in the company code specific specifications for the depreciation area (FI-AA Customizing: Specify depreciation areas for group assets).
    Group assets have to be assigned to an asset class, just as normal assets do. You use an indicator in the asset class to specify that the class can be used only for group assets.
    Assignment of an Asset to a Group Asset
    You can assign an asset to a group asset by specific depreciation areas. For this purpose, there is a special field in the asset master record (in the detail display of each depreciation area). You enter the number of the group asset in this field. Once this entry is made, the system calculates and posts the depreciation for this depreciation area only at the level of the group asset. In this way, you can also assign one asset to different group assets in different depreciation areas.
    Regards,
    Amit SHinde
    Acknowledge If satisfied
    Edited by: Matt on Feb 17, 2012 9:34 AM

  • How to change the development class for a Layoutset

    Hi Experts,
    I have to Change the Development Class For a Layout which is under Local object now ($tmp) ,how to do it.
    after Changing to Development Class new ,while transportation any issues will come ?
    Thanks in Advance,
    Regards,
    Hitu.

    goto SE03 and change the development class, no transport issues will come...
    or
    execute report RSWBO052.
    Add FORM in blank field under R3TR DTEL, mark field and put your sapscript name, then execute. In Tree double click over sapscript name, and change development class $TMP.
    Regards,
    SaiRam

  • How can we block the asset class for company code

    Hi Experts,
    At what level we can define asset class and how can we block the asset class for particular company code in group company
    Regards,
    Harish

    Dear Harish,
    You can block the asset through OAOA at asset class level blocking at Asset Class level, and same you can block for creation at a chart of depreciation level from AM05.
    And for additional acquisition you can block from AS05. I hope this will solve your issue. If you have doubts feel free to share.
    Regards,
    Pankaj A Bhalerao.

  • Can I override the default ReadObjectQuery for an entity and specify my own call

    Hi,
    I am trying to override the default ReadObjectQuery and the ReadAllQuery for an entity and supply my own call.The entities have to be read from the database using a StoredProcedure.I tried doing something like
    Descriptor desc=evt.getSession().getDescriptor(Configuration.class);
    desc.getQueryManager().setReadObjectQuery(new ReadObjectQuery());
    StoredProcedureCall call = new StoredProcedureCall();
    call.setProcedureName("CONFIGSVC");
    call.addUnamedArgument("CATEGORY");
    call.addUnamedArgument("CFGKEY");
    call.addUnamedArgument("VALUE");
    desc.getQueryManager().getReadObjectQuery().setCall(call1);
    desc.getQueryManager().getReadObjectQuery().addArgument("CATEGORY");
    desc.getQueryManager().getReadObjectQuery().addArgument("CFGKEY");
    desc.getQueryManager().getReadObjectQuery().addArgument("VALUE");
    When I try to execute the query
    ExpressionBuilder builder = new ExpressionBuilder();
    Expression expr = (builder.getField("category").equal("GOESVC.GETTDEV")).and(
              new ExpressionBuilder().getField("configKey").equal("GOESVC.REQ")).and(
              new ExpressionBuilder().getField("value").equal("$ENV.$ORIGIN.GOESVC.REQ"));
    ReadObjectQuery query = new ReadObjectQuery(Configuration.class, expr);
    session.executeQuery(query);
    I can see in the log that it completely ignores the call I set and tries to execute using the default call and that too with incorrect mappings between the "entity" field names and the actual database field names.
    2002.11.01 08:50:52.640--ClientSession(8218801)--Thread[main,5,main]--#executeQuery(ReadObjectQuery(com.fmrco.gett.toplink.Configuration))
    2002.11.01 08:50:52.750--ServerSession(7721862)--Thread[main,5,main]--Connection(5230193)--SELECT CFGKEY, CATEGORY, VALUE FROM CONFIG_ETT WHERE (((category = 'GOESVC.GETTDEV') AND (configKey = 'GOESVC.REQ')) AND (value = '$ENV.$ORIGIN.GOESVC.REQ'))
    2002.11.01 08:50:53.375--ClientSession(8218801)--Thread[main,5,main]--EXCEPTION [TOPLINK-4002] (TopLink - 9.0.3 with StoredProcedureCall patch [email protected] 28/10/2002 (Build 423)): oracle.toplink.exceptions.DatabaseException
    EXCEPTION DESCRIPTION: java.sql.SQLException: [SQL0206] Column CONFIGKEY not in specified tables.
    INTERNAL EXCEPTION: java.sql.SQLException: [SQL0206] Column CONFIGKEY not in specified tables.
    How to I solve this issue?
    Thanks,
    Harini

    Hi,
    The "ReadObjectQuery" in a descriptor's query manager can only be used to change the primary key read query. It will be used only for a ReadObjectQuery that either has a selection key, selection object, or an expression that exactly matches the primary key.
    If you have a non-primary key query that you want to use, you can add it as a named query to the descriptor's query manager.
    I'm not sure of the primary key of your descriptor, assuming that it is a 3 part composite key, then your ReadObjectQuery procedure is defined correctly in the descriptor. However the ReadObjectQuery is incorrect, you must use "get" not "getField", also you must use a single expression builder.
    i.e.
    ExpressionBuilder builder = new ExpressionBuilder();
    Expression expr = (builder.get("category").equal("GOESVC.GETTDEV")).and(
    builder get("configKey").equal("GOESVC.REQ")).and(
    builder.get("value").equal("$ENV.$ORIGIN.GOESVC.REQ"));
    ReadObjectQuery query = new ReadObjectQuery(Configuration.class, expr);
    session.executeQuery(query);
    you could also do,
    Vector key = new Vector(3);
    key.add("GOESVC.GETTDEV");
    key.add("GOESVC.REQ");
    key.add("$ENV.$ORIGIN.GOESVC.REQ");
    ReadObjectQuery query = new ReadObjectQuery(Configuration.class);
    query.setSelectionKey(key);
    session.executeQuery(query);
    If the descriptor primary key is not 3 part, then add this query as a named query.
    Descriptor desc=evt.getSession().getDescriptor(Configuration.class);
    ReadObjectQuery query = new ReadObjectQuery();
    StoredProcedureCall call = new StoredProcedureCall();
    call.setProcedureName("CONFIGSVC");
    call.addUnamedArgument("CATEGORY");
    call.addUnamedArgument("CFGKEY");
    call.addUnamedArgument("VALUE");
    query.setCall(call);
    query.addArgument("CATEGORY");
    query.addArgument("CFGKEY");
    query.addArgument("VALUE");
    desc.getQueryManager().addQuery("findConfigSVC", query);
    To execute the query,
    Vector arguments = new Vector(3);
    arguments.add("GOESVC.GETTDEV");
    arguments.add("GOESVC.REQ");
    arguments.add("$ENV.$ORIGIN.GOESVC.REQ");
    session.executeQuery(Configuration.class, "findConfigSVC", arguments);

  • The best way to URL Redirect

    Hello,
    I noticed that couple different linking with a Button.
    Home>Application Builder>Application 111>Page 1>Edit Page Buttons
    Optional URL Redirect
    Another is
    Home>Application Builder>Application 111>Page 1>Edit Branch
    Which one is better?
    How many ways is there to URL Redirect?
    Which way is the best and why?
    Thanks,
    NY, NY

    One option would be to redirect all your users to the same landing page, which then redirects the users to the actual required page depending on the value of a header variable set by OAM. The header variable could, for example, contain the userid and then the landing page works out which page to redirect to depending on this value. In this scenario, all the logic about which page to redirect to needs to be within the landing page, or some back-end that it connects to.
    I suppose it would also be possible to store the required target url (or a value which identifies it) in an attribute the users' profiles, and pass that as a header variable to the landing page - but obviously then you have the admin of maintaining that attribute value.
    If you only have two possible target pages (eg one for all internal users and one for all external users) then you could use redirect on authorisation success/failure within OAM to send users to the right page.
    Hope this helps,
    Colin

  • How to get maximal value from the data/class for show in Map legend

    I make WAD report that using Map Web Item.
    I devide to four (4) classes for legend (Generate_Breaks).
    I want to change default value for the class by javascript and for this,
    I need to get maximal value from the class.
    How to get maximal value from the data/class.
    please give me solution for my problem.
    Many Thx
    Eddy Utomo

    use this to get the following End_date
    <?following-sibling::../END_DATE?>
    Try this
    <?for-each:/ROOT/ROW?>
    ==================
    Current StartDate <?START_DATE?>
    Current End Date <?END_DATE?>
    Next Start Date <?following-sibling::ROW/END_DATE?>
    Previous End Date <?preceding-sibling::ROW[1]/END_DATE?>
    ================
    <?end for-each?>
    o/p
    ==================
    Current StartDate 01-01-1980
    Current End Date 01-01-1988
    Next Start Date 01-01-1990
    Previous End Date
    ================
    ==================
    Current StartDate 01-01-1988
    Current End Date 01-01-1990
    Next Start Date 01-01-2005
    Previous End Date 01-01-1988
    ================
    ==================
    Current StartDate 01-01-2000
    Current End Date 01-01-2005
    Next Start Date
    Previous End Date 01

  • How to set the Model Class for a newly created Model Node ?

    Hello All,
      I am trying to map a Model node from SourceA to DestinationB.
      To do so, I created a model node for Destination B in the interface controller (set the isInputElement to true). However why I try to map the node, I get an error saying that "Both context nodes have to be bound to a model class". Upon a closer look, I realised that the model node that I created in DestinationB has no entries under the properties.
      Does anyone knows/advise how I can add the model class entry to the model node that I have created as I am not able to do so. Or otherwise, is there a way to map a model node to another model node across different components ? Thank you very much.
    from
    Kwok Wei
    from
    Kwok Wei

    Hello Pascal
      The instructioons that you gave are for mapping the model between the view controller and the component controller within the same component is that right ?
      I am tryng to map a model node in the component controller of SourceA to another model node that belongs to another Component. I do believe that in this case I will need to create a model node in the interface controller of DestinationB and map that to the component controller of SourceA. However, by creating my own model node, how do I change the property modelClass in the context ?
      Thanks !
    from
    Kwok Wei

  • How can I determine the feeder class for a WebDynpro component in SRM 7.0?

    Hi experts.
    I am trying to figure out how to add some columns to the list of contract items for this WebDynpro application/view:
    Applikation: /SAPSRM/WDA_L_FPM_OIF
    Web Dynpro-komponent: /SAPSRM/WDC_CTR_DOTC_IT
    Window: IV_L_FPC_CA_TREE
    View: V_CTR_DODC_ITEMS
    Configuration-ID: /SAPSRM/WDCC_FPM_CTR_DOTC_ITM
    All the documentation I can find regarding the FPM says to change the feeder class, but nowhere I have seen do they explain how to determine the feeder class of an existing component/view.
    I am hoping for your help!
    Thanks!
    Best regards
    Per Hjorth Christiansen

    The term "feeder class" normally refers to the POWL search, not the actual document detail screen. You could just add one more column by enhancing the webdynpro view.

  • Need to implement the timer class for 1.1

    Hi
    I am using JDK1.1 for integration with a STB.
    The timer class is not existing for 1.1.
    Where I can find an implementation code of the timer class in order
    to perform a schedule task which work with JDK 1.1
    Thanks
    Fred

    Before you look for Sun's implementation of Timer in post-1.1 versions, make sure you read the licence agreement for those versions and the copyright notice on the code. There's a good chance that by using that code you will be violating one or both of those. This may be a serious issue.
    Your other alternative is to read the API documentation for Timer (and TimerTask) and to write your own implementation. That shouldn't be too difficult.
    I doubt that you will find people actively writing open-source extensions for Java 1.1 since Java 2 has been out for nine years now. Most likely you are on your own there.

  • Can we override the Desktop LAF for Pages using backing Files ?

    Hi
    I have the following Look And Feel related requirement.
    We have an global application level Skin which was applied at the desktop level using the .laf file.
    But some of the pages require a totally different Look and Feel apart from the one defined at the desktop level.
    To put the question in the other way,
    Can we override the skin & skeleton defined at the Desktop level using the backing file (for page or portlet) ?
    The following is the code snippet, which i used in the backing file to achive the above.
    LookAndFeel lookAndFeel = LookAndFeel.getLookAndFeel(request);
    lookAndFeel.setSkin(y_skin);
    lookAndFeel.setSkeleton(y_skeleton);
         lookAndFeel.reinit();
    Here the y_skin & y_skeleton are the new set of skin & skeletion which i have created for the page.
    when i ran the above snippet in the portal framework, i found the desktop level skin is getting applied
    to the pages insted of the y_skin & y_skeleton.
    Any help or directions .... for dynamically changing the skin & skeletion for pages will be appreciated.
    Thanks & Regards
    - Sachi

    What you are doing looks valid.
    this is the code that i have
    public void init(HttpServletRequest request, HttpServletResponse response)
    // Get the session from the request
    HttpSession session = request.getSession();
    // Get the LookAndFeel object from the PrimaryTheme in the request
    LookAndFeel lookAndFeel = LookAndFeel.getLookAndFeel(request);
    if (request.getParameter("defaultButton") != null)
    //System.out.println("default skin selected");
    session.setAttribute("skin", "default");
    if (request.getParameter("textButton") != null)
    //System.out.println("text skin selected");
    session.setAttribute("skin", "text");
    if (request.getParameter("classicButton") != null)
    //System.out.println("classic skin selected");
    session.setAttribute("skin", "classic");
    String selectedSkin = (String) session.getAttribute("skin");
    if (selectedSkin != null)
    //System.out.println("setting skin and skeleton to: '" + selectedSkin + "'");
    lookAndFeel.setSkin(selectedSkin);
    lookAndFeel.setSkeleton(selectedSkin);
    lookAndFeel.reinit();
    }

  • Excel opens and does not close when using the OI classes for some users...

    Hello Experts,
    I am using the OI classes(i_oi_container_control, i_oi_error, i_oi_document_proxy, i_oi_spreadsheet) to transfer Excel data to my itab. The problem we are encountering is that for some users the excel automatically opens and does not close. But in my case it is not opening so it is fine in my case. In my code I am already using the 'CLOSE_DOCUMENT' and 'RELEASE_DOCUMENT'.

    Viraylab,
    Check by any case you set the parameter register_on_close_event of the method init_control? Dont set the parameter as it will look for the corressponding custom code in your program. Also try with the method release_all_documents.
    Regards,
    Kiran Bobbala

Maybe you are looking for

  • Is there a way to schedule downloads for off-peak hours? (Hughesnet user)

    Our ISP allows a limited download capacity of 15GB per month, but allows another 15GB between the hours of 2AM-8AM. I would like to be able to download the programs during this time. If it were at home, I would wake up and start the downloads, but be

  • My iphone 5s isn't being recognized by Itunes. Any fixes to this?

    My iphone 5s isn't beign recognized by itunes in order to back up the phone. Any fixes?

  • Image size "pop-up" in email misfunctions

    I listed this question initially under the "imac" section but got no response. I have been importing photos into my emails from the desktop using the right click "share>email" option. Up until a few days ago this worked very well. Now I find the Smal

  • WDS between old and new AEBS

    First I want to apologize for this lenghty post. I want to provide as much useful info as possible. We just bought the new AEBS Dual Band and tried to add it to our existing WDS network and ran into a few serious snags. I really hope we can find help

  • Loading SQL Tuning Sets

    On a 10.2.0.4 database, is it possible to load SQL Tuning sets with SQL from a text file? I can't find anything in the documentation mentioning this but I could have simply missed it and this facility would be very useful to us. Our reporting tool is