XML View & Model, Tree & binding

Hi there,
i'm trying to do some stuff with XML models, XML Views and Trees.
Here is my xml model file :
<objectSet version="1.2.3.4">
    <aRoot code="testCode" reference="0123456789" description="TestDescription" owner="Tester">
            <component name="MyCompo1" type="MyCompo1Type">
              <component name="MyCompo2" type="MyCompo2Type">
               <property name="myProperty2-1" type="string" value="null"/>
              </component>
              <component name="MyCompo3" type="MyCompo3Type">
               <property name="myProperty3-1" type="string" value="null"/>
              </component>
            </component>
    </aRoot>
</objectSet>
My XML View file :
<core:View xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" xmlns:cmn="sap.ui.commons"
        controllerName="cleanproject.TreeTest" xmlns:html="http://www.w3.org/1999/xhtml">
                <cmn:Tree nodes="{/aRoot}">
                <cmn:TreeNode text="{@name} TagNameHere?"></cmn:TreeNode>
                </cmn:Tree>
</core:View>
My Js Controller file :
sap.ui.controller("cleanproject.TreeTest", {
onInit: function() {
var xmlModel =  new sap.ui.model.xml.XMLModel("cleanproject/"+xmlPath3);
xmlModel.setXML("the full xml document here"); // bad trick
this.getView'().setModel(xmlModel);
I have multiples questions :
What is the way to wait the xml file to be loaded, because when i'm not using setXML function in my controller, the view is instantiated too fast  and an error is raised as the model is not accessible ( Error message : "N is null" )
Is it possible to display in a TreeNode the tagName of an element? ( e.g : "component", "property" )
Is it possible to build the tree only with "component" TreeNodes ?
4. Is it possible to bind a part of the datas , eg : bind with a deepth of 1,2,...n ?
Thanks for helping,
Regards,
Marc
Edit :
1. In the onInit function, use attachRequestCompleted method. In my case :
var thus= this;
        xmlModel.attachRequestCompleted(function(event){
            thus.getView().setModel(xmlModel);
2.
tree.bindNodes("/",function(sId, oContext){
                var tagName = oContext.getObject().tagName;
                var name = oContext.getObject().getAttribute("name");
                var sText = tagName;
                if(name){
                    sText+=" "+name;
                return new cleanproject.custom.ComplexTreeNode({text:sText});
            },null,[oFilter]);
3. It does not seem possible even with filters
4. Can be done using javascript and a custom method

Hi all,
I just tested again and now it's working...
<Label xmlns="sap.m" design="Standard" text="{/MAIN_OBJECTSet('1')/PROPERTY_NAME}"
  visible="true" textAlign="Begin" textDirection="Inherit" width="200px"
  required="false" labelFor="">
  </Label>
The relative path syntax depends on the used model!
Strange - but ok.
Thanks.
Best regards,
Christoph

Similar Messages

  • Dynamic binding of items in sap.m.Table using XML views

    Dear SAPUI5 guru's,
    Let's start by saying I'm an ABAP developer who's exploring SAPUI5, so I'm still a rookie at the time of writing. I challenged myself by developing a simple UI5 app that shows information about my colleagues like name, a pic, address data and their skills. The app uses the sap.m library and most of the views are XML based which I prefer.
    The data is stored on an ABAP system and exposed via a gateway service. This service has 2 entities: Employee and Skill. Each employee can have 0..n skills and association/navigation between these 2 entities is set up correctly in the service. The data of this service is fetched from within the app using a sap.ui.model.odata.ODataModel model.
    The app uses the splitApp control which shows the list of employees on the left side (master view). If a user taps an employee, the corresponding details of the employee entity are shown on the right (detail view).
    Up till here everything is fine but I've been struggling with my latest requirement which is: show the skills of the selected employee in a separate XML view when the user performs an action (for the time being, I just created a button on the detail view to perform the action). After some hours I actually got it working but I doubt if my solution is the right way to go. And that's why I'm asking for your opinion here.
    Let's explain how I got things working. First of all I created a new XML view called 'Skills'. The content on this view is currently just a Table with 2 columns:
    <core:View xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m"
      controllerName="com.pyramid.Skills" xmlns:html="http://www.w3.org/1999/xhtml">
      <Page title="Skills"
           showNavButton="true"
           navButtonPress="handleNavButtonPress">
      <content>
      <Table
       id="skillsTable">
      <columns>
      <Column>
      <Label text="Name"/>
      </Column>
      <Column>
      <Label text="Rating"/>
      </Column>
      </columns>
      </Table>
      </content>
      </Page>
    </core:View>
    The button on the Detail view calls function showSkills:
    showSkills: function(evt) {
      var context = evt.getSource().getBindingContext();
      this.nav.to("Skills", context);
      var skillsController = this.nav.getView().app.getPage("Skills").getController();
      skillsController.updateTableBinding();
    Within 'this.nav.to("Skills", context);' I add the Skills view to the splitApp and set its bindingContext to the current binding context (e.g. "EmployeeSet('000001')"). Then I call function updateTableBinding in the controller of the Skills view which dynamically binds the items in the table based on the selected employee. So, when the ID of the selected employee is '000001', the path of the table's item binding should be "/EmployeeSet('000001')/Skills"
    updateTableBinding: function(){
      var oTemplate = new sap.m.ColumnListItem(
      {cells: [
              new sap.m.Text({text : "{Name}"}),
              new sap.m.Text({text : "{Rating}"})
      var oView = this.getView();
      var oTable = oView.byId("skillsTable");
      var oContext = oView.getBindingContext();
      var path = oContext.sPath + "/Skills";
      oTable.bindItems(path, oTemplate);
    Allthough it works fine, this is where I have my first doubt. Is this the correct way to bind the items? I tried to change the context that is passed to this.nav.to and wanted it to 'drill-down' one level, from Employee to Skills, but I couldn't manage to do that.
    I also tried to bind using the items aggregation of the table within the XML declaration (<Table id="skillsTable" items="{/EmployeeSet('000001')/Skills}">). This works fine if I hard-code the employee ID but off course this ID needs to be dynamic.
    Any better suggestions?
    The second doubt is about the template parameter passed to the bindItems method. This template is declared in the controller via javascript. But I'm using XML views! So why should I declare any content in javascript?? I tried to declare the template in the XML view itself by adding an items tag with a ColumnListItem that has an ID:
                    <items>
                        <ColumnListItem
                        id="defaultItem">
                        <cells>
                            <Text text="{Name}"/>
                            </cells>
                            <cells>
                            <Text text="{Rating}"/>
                            </cells>
                        </ColumnListItem>
                    </items>
    Then, in the updateTableBinding function, I fetched this control (by ID), and passed it as the template parameter to the bindItems method. In this case the table shows a few lines but they don't contain any data and their height is only like 1 mm! Does anyone know where this strange behaviour comes from or what I'm doing wrong?
    I hope I explained my doubts clearly enough. If not, let me know which additional info is required.
    Looking forward to your opinions/suggestions,
    Rudy Clement.

    Hi everybody,
    I found this post by searching for a dynamic binding for well acutally not the same situation but it's similar to it. I'm trying to do the following. I'm having a list where you can create an order. On the bottom of the page you'll find a button with which you're able to create another order. All the fields are set to the same data binding ... so the problem is if you've filled in the values for the first order and you'll press the button you'll get the same values in the second order. Is it possible to generate a dynamic binding?
    I'm going to post you a short code of what I'm meaning:
    <Input type="Text" value="{path: 'MyModel>/Order/0/Field1'}" id="field1">
         <layoutData>
                    <l:GridData span="L11 M7 S3"></l:GridData>
               </layoutData>
    </Input>
    As you can see I need to set the point of "0" to a dynamic number. Is there any possibility to reach this???
    Hope you can help
    Greetings
    Stef

  • Data Modeling for controls using XML views(SAPUI5)

    Hello ,
    I am trying to create Table control using XML view and binding data to it through controller onInit method.
    XML View Code is as follows :
    <core:View xmlns="sap.m" xmlns:l="sap.ui.layout" xmlns:core="sap.ui.core">
        <l:VerticalLayout width="100%">
            <l:content>
                <Text id="description" class="marginAll" />
                <Table id="idProductsTable" items="{       
                    path:'/businessData'
                }">
                    <headerToolbar>
                        <Toolbar>
                            <Label text="Products"></Label>
                        </Toolbar>
                    </headerToolbar>
                    <columns>
                        <Column>
                            <Label text="Product" />
                        </Column>
                        <Column>
                            <Label text="Supplier" />
                        </Column>
                        <Column>
                            <Label text="Dimensions" />
                        </Column>
                    </columns>
                    <items>
                        <ColumnListItem>
                            <cells>
                                <ObjectIdentifier title="{COUNTRY}" text="{COUNTRY}" />
                            </cells>
                            <Text text="{REGION}"></Text>
                            <Text text="{CITY}"></Text>
                        </ColumnListItem>
                    </items>
                </Table>
            </l:content>
        </l:VerticalLayout>
    </core:View>
    Controller onInit method Code is as follows :
    var oData = {
                businessData : [ {
                    'COUNTRY' : "Canada",
                    'CITY' : "Toronto",
                    'REGION' : "US",
                    'LANGUAGE' : "English"
                    'COUNTRY' : "China",
                    'CITY' : "Bejeing",
                    'REGION' : "Ashia",
                    'LANGUAGE' : "Chinese"
            var demoJSONModel = new sap.ui.model.json.JSONModel();
            demoJSONModel.setData(oData);
            sap.ui.getCore().getElementById("idProductsTable").setModel(
                    demoJSONModel);
    Same thing when i tried with JS views , it worked however through XML view , I am getting empty table.
    Is the data modeling correct for XML views?
    Thanks,
    Mahesh.

    I've got it ! The reason for that is you bind items as below,
         <Table id="idProductsTable" items="{    
                    path:'/businessData'
                }">
    This pattern is followed if you wanna add a formatter/sorter/grouping.
    As you don't do any of those you can bind items as below &  it doesn't require  data-sap-ui-xx-bindingSyntax="complex".
    <Table id="idProductsTable" items="{/businessData}">

  • Binding Data from OfflineStore to List in XML view

    Hi Experts,
    I am developing an application using SAP WebIDE. While loading a page, I want to read some data from an offlineStore and show it in a listview.
    Following is my code for xml view:
    <sap.ui.core.mvc:View xmlns="sap.m" xmlns:sap.ui.core="sap.ui.core" xmlns:sap.ui.core.mvc="sap.ui.core.mvc" controllerName="com.arteria.view.CustomerList">
        <Page title="Customers" showNavButton="true">
       </Page>
    </sap.ui.core.mvc:View>
    And my js code is as follows:
    onInit: function() {
      this.getView().addEventDelegate({
       onBeforeShow: function(evt) {
        sap.ui.getCore().byId("idCustomerList").getController().read();
    read:function() {
                    oList = new sap.m.List();
                    oList.removeAllItems();
                    var uri = window.localStorage.getItem("ApplicationEndpointURL");
                    var user = window.localStorage.getItem("User");
                    var password = window.localStorage.getItem("Password");
                    var headers = { "X-SMP-APPCID" : window.localStorage.getItem("ApplicationConnectionId") };
                    // Create OData model from URL
                    var oModel = new sap.ui.model.odata.ODataModel(uri, true, user, password, headers);
                    var iOS = (navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? true : false );
                    if (iOS) {
                        oModel = new sap.ui.model.odata.ODataModel(uri, true, user, password, headers);
                    var oTemplate = new sap.m.StandardListItem({
                                                               title: "{CustomerNumber}", description: "{CustomerName}", tap:"handleProductListItemPress", type:"Navigation"    
                    oList.setModel(oModel);
                    oList.bindItems("/Customers", oTemplate, null, null);
                    var custListPage = sap.ui.getCore().byId("idCustomerList");
                    custListPage.addCustomData(oList);
       handleProductListItemPress: function(oEvent) {
            sap.ui.getCore().getEventBus().publish("nav", "to", {
                id : "idCustomerDetail",
                context: oEvent.getSource().getBindingContext()
    The problem is I am getting a blank page. The list is not getting attached to the page.
    Waiting for your reply.
    Regards,
    Dhani

    why not move List definitiaon to XML 
    <sap.ui.core.mvc:View xmlns="sap.m" xmlns:sap.ui.core="sap.ui.core" xmlns:sap.ui.core.mvc="sap.ui.core.mvc" controllerName="com.arteria.view.CustomerList"> 
        <Page title="Customers" showNavButton="true"> 
    <List id="CustomerList"/>
       </Page> 
    </sap.ui.core.mvc:View> 
    so
    oList = this.byId("CustomerList");
    oList.setModel(oModel); 
                    oList.bindItems("/Customers", oTemplate, null, null); 
                    var custListPage = sap.ui.getCore().byId("idCustomerList"); 
                    custListPage.addCustomData(oList); 

  • Ticks in Model Tree are reset on View change

    How to avoid reseting ticks in the Model Tree when the user changes View of the model? I understand that this behavior is on purpose but I would like to turn it off.
    I have tried to add the ticks check into CameraEventHandler but it seems that CameraEventHandler is called after the ticks got reseted. Thus I do not have any state to revert to. Any idea (best practice) how to implement that?

    I have received an email from the author of media9 Latex package stating:
    In the next version I'll include `PARTATTRS=restore|keep' to be used in a VIEW section.
    which will solve the problem.

  • Cast error trying to access tree binding

    JDeveloper version 11.1.2.1.0
    java.util.ArrayList cannot be cast to oracle.jbo.uicli.binding.JUCtrlHierBinding
    Hi All
    I'm using code from ADF Code Corner (http://www.oracle.com/technetwork/developer-tools/adf/learnmore/78-man-expanding-trees-treetables-354775.pdf) to try and programmatically set the tree node disclosure level when the page is initially rendered. The tree's DisclosedRowKeys property is set to #{viewScope.FieldPickerHandler.newDisclosedTreeKeys}. The code for the handler method that's causing the problem is below. First you can see that I have commented out Frank's original code on lines 5, 6 & 8 because for some reason this did not find the tree component (always returned null). So instead I have set the tree component's Binding property to #{viewScope.FieldPickerHandler.jsfTree} to make the component instance available in the handler and this seems to work. However when the code hits line 16 I get the class cast exception at the head of this post.
    One significant variation from the Code Corner example is that my tree is based on a POJO model that is populated programmatically from a VO (as posted by Lucas Jellema http://technology.amis.nl/blog/2116/much-faster-adf-faces-tree-using-a-pojo-as-cache-based-on-read-only-view-object-showing-proper-leaf-nodes-again) hence my root node set, and each node's child set, is declared as "List<FieldPickerNode> nodes = new ArrayList<FieldPickerNode>();".
    Does the way the POJO tree is constructed make it incompatible with the Code Corner node expansion approach? Can anyone suggest how I can modify my handler bean code to work with the POJO tree?
    Thanks
    Adrian
    PS The tree's Value property is set to #{viewScope.FieldPickerHandler.treemodel} where treemodel is a managed property of the bean - I guess this mean my tree is not ADF-bound?
    1 public RowKeySetImpl getNewDisclosedTreeKeys() {
    2 if (newDisclosedTreeKeys == null) {
    3 newDisclosedTreeKeys = new RowKeySetImpl();
    4
    5// FacesContext fctx = FacesContext.getCurrentInstance();
    6// UIViewRoot root = fctx.getViewRoot();
    7 //lookup thetree component by its component ID
    8// RichTree tree = (RichTree)root.findComponent("t1");
    9 //if tree is found ....
    10 if (jsfTree != null) {
    11 //get the collection model to access the ADF binding layer for
    12 //the tree binding used. Note that for this sample the bindings
    13 //used by the tree is different from the binding used for the tree
    14 //table
    15 CollectionModel model = (CollectionModel)jsfTree.getValue();
    16 JUCtrlHierBinding treeBinding = (JUCtrlHierBinding)model.getWrappedData();
    Edited by: blackadr on 03-Nov-2011 17:56

    Hello Frank et al
    Still struggling valiantly to create a POJO tree that uses the ADF binding layer. Rather than referencing the treemodel directly from the component I have now added a method to my model class that returns the set of root nodes as an ArrayList:
    public List<FieldPickerNode> getRootNodes() {
    if (treemodel == null) {
    treemodel = initializeTreeModel();
    return rootNodes;
    and my FieldPickerNode class also now has a method to return its children as an ArrayList. The model class is managed in view scope. So I drag the rootNodes collection from the Data Controls panel into my panel collection and get the option to create it as an ADF tree. Great. I add the method to get the children as an accessor and the bindings end up looking like this:
    <iterator Binds="root" RangeSize="25" DataControl="FieldPickerModel" id="FieldPickerModelIterator"/>
    <accessorIterator MasterBinding="FieldPickerModelIterator" Binds="rootNodes" RangeSize="25"
    DataControl="FieldPickerModel" BeanClass="view.picker.FieldPickerNode" id="rootNodesIterator"/>
    <tree IterBinding="rootNodesIterator" id="rootNodes">
    <nodeDefinition DefName="view.picker.FieldPickerNode" Name="rootNodes0">
    <AttrNames>
    <Item Value="nodeID"/>
    </AttrNames>
    <Accessors>
    <Item Value="children"/>
    </Accessors>
    </nodeDefinition>
    </tree>
    The tree component looks like this:
    <af:tree value="#{bindings.rootNodes.treeModel}" var="node"
    selectionListener="#{bindings.rootNodes.treeModel.makeCurrent}"
    rowSelection="single" id="t1">
    <f:facet name="nodeStamp">
    <af:outputText value="#{node}" id="ot1"/>
    </f:facet>
    </af:tree>
    To my untrained eye this all seems to look ok but when I run the page I get two null pointer errors in the browser and a couple thousand lines of repeated stack in the log viewer. In the early stages of the log there's a message "<BeanHandler> <getStructure> Failed to build StructureDefinition for : view.picker.FieldPickerModel" which I feel can't be good but is in the depths of the framework so difficult for me to debug (am in the process of requesting the ADF source). I've shown the message below with a few lines of context either side.
    Can you think of any other lines of enquiry I can follow to progress this? For example are there other attributes or methods that I need to add to my tree model classes in order to support the ADF binding?
    For background, the reason I started pursuing the POJO tree in the first place was because for large hierarchies the VO driven tree is unacceptably slow given that it fires SQL for each individual node disclosure. Linking the tree model directly to the component demonstrates just how quick the POJO approach is but I would like to have it go through the ADF bindings so I have more scope to customise the tree behaviour.
    Any pointers or help you (or anyone) can give would be very much appreciated.
    Adrian
    <ADFLogger> <end> Refreshing binding container
    <DCExecutableBinding> <refreshIfNeeded> [40] DCExecutableBinding.refreshIfNeeded(338) Invoke refresh for :rootNodesIterator
    <DCIteratorBinding> <refresh> [41] DCIteratorBinding.refresh(4438) Executing and syncing on IteratorBinding.refresh from :rootNodesIterator
    <ADFLogger> <begin> Instantiate Data Control
    <BeanHandler> <getStructure> Failed to build StructureDefinition for : view.picker.FieldPickerModel
    <MOMParserMDS> <parse> [42] MOMParserMDS.parse(226) No XML file /view/picker/picker.xml for metaobject view.picker.picker
    <MOMParserMDS> <parse> [43] MOMParserMDS.parse(228) MDS error (MetadataNotFoundException): MDS-00013: no metadata found for metadata object "/view/picker/picker.xml"
    <DefinitionManager> <loadParent> [44] DefinitionManager.loadParent(1508) Cannot Load parent Package : view.picker.picker
    <DefinitionManager> <loadParent> [45] DefinitionManager.loadParent(1509) Business Object Browsing may be unavailable

  • [ADF] - JDev does not show 'Tree Binding Editor' when dropping a ADF Tree..

    Hi All,
    I am trying to work trough the ADF Faces/Toplink 10.1.3 tutorial: 'Build an End-to-End J2EE Application with Toplink and ADF Faces'. When I get to the point that I have to place an 'ADF Tree' object on my panel JDeveloper is supposed to come up with the Tree Binding editor, but does not.
    I reinstalled JDeveloper, killed all unnecessary Windows XP (SP2) processes (firewall and fun services) and retried. The same problem happens. I tried to create a table and this works fine. Then I installed the same zip file on Linux and the Editor shows up. Finally I installed the same zip file with a colleague - no problems.
    Does anyone have an idea what could be wrong?
    Thanks in advance, Laszlo
    PS The exception JDev throws is:
    oracle.adfdtinternal.view.common.binding.operation.CreateOperation$CreateOperationXmlCommitException
    : Unmatched braces in the pattern.
    at oracle.adfdtinternal.view.common.binding.operation.CreateOperation._rollbackAllTransactio
    ns(CreateOperation.java:563)
    at oracle.adfdtinternal.view.common.binding.operation.CreateOperation.apply(CreateOperation.
    java:118)
    at oracle.bali.xml.model.datatransfer.operation.PerformOperationAction.actionPerformed(Perfo
    rmOperationAction.java:39)
    at oracle.bali.xml.share.ActionProxy.actionPerformed(ActionProxy.java:47)
    at oracle.bali.xml.gui.swing.dnd.DropMenuInvoker$CleanupProxy.actionPerformed(DropMenuInvoke
    r.java:235)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    at javax.swing.AbstractButton.doClick(AbstractButton.java:302)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1000)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1041)
    at java.awt.Component.processMouseEvent(Component.java:5488)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
    at java.awt.Component.processEvent(Component.java:5253)
    at java.awt.Container.processEvent(Container.java:1966)
    at java.awt.Component.dispatchEventImpl(Component.java:3955)
    at java.awt.Container.dispatchEventImpl(Container.java:2024)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
    at java.awt.Container.dispatchEventImpl(Container.java:2010)
    at java.awt.Window.dispatchEventImpl(Window.java:1774)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    Caused by: java.lang.IllegalArgumentException: Unmatched braces in the pattern.
    at java.text.MessageFormat.applyPattern(MessageFormat.java:468)
    at java.text.MessageFormat.<init>(MessageFormat.java:350)
    at java.text.MessageFormat.format(MessageFormat.java:803)
    at oracle.bali.xml.validator.Validator.getTranslatedString(Validator.java:1350)
    at oracle.bali.xml.validator.Validator._validateChildren(Validator.java:604)
    at oracle.bali.xml.validator.Validator._validateElement(Validator.java:477)
    at oracle.bali.xml.validator.Validator._validateChildren(Validator.java:560)
    at oracle.bali.xml.validator.Validator._validateElement(Validator.java:477)
    at oracle.bali.xml.validator.Validator._validateChildren(Validator.java:560)
    at oracle.bali.xml.validator.Validator._validateElement(Validator.java:477)
    at oracle.bali.xml.validator.Validator._validateElement(Validator.java:295)
    at oracle.bali.xml.validator.Validator.validateDocument(Validator.java:132)
    at oracle.bali.xml.validator.Validator.validateSubtree(Validator.java:83)
    at oracle.bali.xml.model.XmlModel._validateSubtree(XmlModel.java:3764)
    at oracle.bali.xml.model.XmlModel._validateDocument(XmlModel.java:3636)
    at oracle.bali.xml.model.XmlModel.__precommitTransaction(XmlModel.java:3056)
    at oracle.bali.xml.model.XmlContext.__precommitTransaction(XmlContext.java:1491)
    at oracle.bali.xml.model.XmlContext.__commitTransaction(XmlContext.java:1521)
    at oracle.bali.xml.model.XmlModel.__requestCommitTransaction(XmlModel.java:3089)
    at oracle.bali.xml.model.XmlModel.commitTransaction(XmlModel.java:613)
    at oracle.bali.xml.model.XmlModel.commitTransaction(XmlModel.java:593)
    at oracle.bali.xml.model.task.StandardTransactionTask.__commitWrapperTransaction(StandardTra
    nsactionTask.java:413)
    at oracle.bali.xml.model.task.StandardTransactionTask.runThrowingXCE(StandardTransactionTask
    .java:203)
    at oracle.bali.xml.model.task.StandardTransactionTask.run(StandardTransactionTask.java:98)
    at oracle.adfdt.jdev.transaction.JDevTransactionManager.fetchUnderTransaction(JDevTransactio
    nManager.java:100)
    at oracle.adf.dt.dbpanel.DataBindingManager.createControlBinding(DataBindingManager.java:979
    at oracle.adf.dt.dbpanel.DataBindingManager.createControlBinding(DataBindingManager.java:863
    at oracle.adfdt.view.common.binding.utils.ADFBindingUtils.createControlBinding(ADFBindingUti
    ls.java:97)
    at oracle.adfdtinternal.view.faces.binding.provider.ADFTreeModelProvider.<init>(ADFTreeModel
    Provider.java:34)
    at oracle.adfdtinternal.view.faces.binding.provider.DefaultADFModelProviderFactory.createMod
    elProvider(DefaultADFModelProviderFactory.java:291)
    at oracle.adfdtinternal.view.common.binding.datatransfer.ADFBindingsProviderInfo.getData(ADF
    BindingsProviderInfo.java:40)
    at oracle.adfdtinternal.view.common.binding.datatransfer.BaseADFDataInfo.getData(BaseADFData
    Info.java:35)
    at oracle.adfdt.view.common.binding.utils.ADFBindingUtils.getTransferData(ADFBindingUtils.ja
    va:952)
    at oracle.adfdt.view.common.binding.utils.ADFBindingUtils.getTransferModelProvider(ADFBindin
    gUtils.java:976)
    at oracle.adfdtinternal.view.common.binding.datatransfer.ADFDocumentFragmentCreatorInfo.crea
    teDocumentFragment(ADFDocumentFragmentCreatorInfo.java:64)
    at oracle.adfdtinternal.view.common.binding.operation.CreateOperation.apply(CreateOperation.
    java:89)
    ... 29 more

    Solved it!
    When using windows the Control Panel --> Regional and Language Options --> Regional Options --> Standards and formats should be set to English (United States)...
    I hope development picks this up as a bug.

  • Problem Deleting a row from the bottom level of a tree binding

    We have the following requirement: To allow user to delete an item on an order (which is the lowest level node in tree) by updating the quantity textbox to zero in a jsp page.
    We display a listing of Ad Items for a Department with quantity textboxes. The user enters quantities and clicks on “add to my order” button. The items in which they have entered quantities for are persisted to a database table. The user is then directed to an order summary screen (shown below) where it displays the items and quantities for which they have placed an order for. The quantities are updateable. If the user changes a quantity to zero, we want to remove that item from the Order Items View Object (all VOs described are Entity based).
    Update Screen - click here (http://members.awiweb.com/images/adspl_summary.jpg)
    We are using a 3-level tree binding
    -- Department Level
    ---- Ad Items Level (items that they can order)
    ------ Order Items Level (items that they have ordered)
    Attributes on the Order Items View Object:
    ConfoOrderDeptId (key attribute)
    Itemcode (key attribute)
    DeliveryDate (key attribute)
    Quantity
    Customercode
    Custom method in the app module:
    //Gets the VO for the Order Items Level
    ConfoOrderItemEOVOImpl confoOrderItem = (ConfoOrderItemEOVOImpl)getConfoOrderItemEOVO1();
    //Creates an Object from the values being passed into the custom method.
    //There is a value for each key attribute in the Order Items VO
    Object [] myKeyObj = new Object[]{confoOrderDeptId,itemcode,date};
    Key myKey = new Key(myKeyObj);
    Row [] orderItemRow = confoOrderItem.findByKey(myKey,1);
    //newQty is updated quantity
    if ("0".equals(newQty))
    orderItemRow[0].remove();
    else
         orderItemRow[0].setAttribute("Quantity",newQty);
    The updates (setAttribute) is working fine. The deletes (.remove()) is throwing a null pointer exception (see stack trace below).
    We also tried overloading the setQuantity method in the RowImple class and called this.remove() if the quantity being passed in was zero, but we got the same null pointer result.
    04/08/27 16:57:29 java.lang.NullPointerException
    04/08/27 16:57:29      at oracle.jbo.uicli.binding.JUCtrlHierNodeBinding.myUpdateValuesFromRows(JUCtrlHierNodeBinding.java:419)
    04/08/27 16:57:29      at oracle.jbo.uicli.binding.JUCtrlHierNodeBinding.updateRowDeleted(JUCtrlHierNodeBinding.java:326)
    04/08/27 16:57:29      at oracle.jbo.uicli.binding.JUIteratorBinding.rowDeleted(JUIteratorBinding.java:220)
    04/08/27 16:57:29      at oracle.jbo.common.RowSetHelper.fireRowDeleted(RowSetHelper.java:222)
    04/08/27 16:57:29      at oracle.jbo.server.ViewRowSetIteratorImpl.deliverRowDeletedEvent(ViewRowSetIteratorImpl.java:3026)
    04/08/27 16:57:29      at oracle.jbo.server.ViewRowSetIteratorImpl.notifyRowDeleted(ViewRowSetIteratorImpl.java:2915)
    04/08/27 16:57:29      at oracle.jbo.server.ViewRowSetImpl.notifyRowDeleted(ViewRowSetImpl.java)
    04/08/27 16:57:29      at oracle.jbo.server.ViewObjectImpl.notifyRowDeleted(ViewObjectImpl.java:6565)
    04/08/27 16:57:29      at oracle.jbo.server.ViewObjectImpl.notifyRowDeleted(ViewObjectImpl.java:6603)
    04/08/27 16:57:29      at oracle.jbo.server.QueryCollection.removeRow(QueryCollection.java:2118)
    04/08/27 16:57:29      at oracle.jbo.server.QueryCollection.afterRemove(QueryCollection.java:2083)
    04/08/27 16:57:29      at oracle.jbo.server.ViewObjectImpl.sourceChanged(ViewObjectImpl.java:7770)
    04/08/27 16:57:29      at oracle.jbo.server.EntityCache.sendEvent(EntityCache.java:616)
    04/08/27 16:57:29      at oracle.jbo.server.EntityCache.deliverEntityEvent(EntityCache.java:642)
    04/08/27 16:57:29      at oracle.jbo.server.EntityCache.notifyStateChange(EntityCache.java:763)
    04/08/27 16:57:29      at oracle.jbo.server.EntityImpl.setState(EntityImpl.java:2875)
    04/08/27 16:57:29      at oracle.jbo.server.EntityImpl.remove(EntityImpl.java:5548)
    04/08/27 16:57:29      at oracle.jbo.server.ViewRowImpl.doRemove(ViewRowImpl.java:1773)
    04/08/27 16:57:29      at oracle.jbo.server.ViewRowImpl.remove(ViewRowImpl.java:1813)
    04/08/27 16:57:29      at com.awiweb.om.model.dataaccess.ConfoOrderItemEOVORowImpl.setQuantity(ConfoOrderItemEOVORowImpl.java:112)
    04/08/27 16:57:29      at com.awiweb.om.model.services.ConfoOrderingAppModuleImpl.updateConfoOrderItemWithValues(ConfoOrderingAppModuleImpl.java:247)
    04/08/27 16:57:29      at com.awiweb.om.view.CurrentOrderSummaryAction.onUpdateCurrentOrder(CurrentOrderSummaryAction.java:39)
    04/08/27 16:57:29      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    04/08/27 16:57:29      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java)
    04/08/27 16:57:29      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    04/08/27 16:57:29      at java.lang.reflect.Method.invoke(Method.java)
    04/08/27 16:57:29      at oracle.adf.controller.lifecycle.PageLifecycle.handleEvent(PageLifecycle.java:512)
    04/08/27 16:57:29      at oracle.adf.controller.struts.actions.StrutsPageLifecycle.handleEvent(StrutsPageLifecycle.java:211)
    04/08/27 16:57:29      at oracle.adf.controller.lifecycle.PageLifecycle.processComponentEvents(PageLifecycle.java:447)
    04/08/27 16:57:29      at oracle.adf.controller.struts.actions.DataAction.processComponentEvents(DataAction.java:246)
    04/08/27 16:57:29      at oracle.adf.controller.struts.actions.DataAction.processComponentEvents(DataAction.java:440)
    04/08/27 16:57:29      at oracle.adf.controller.lifecycle.PageLifecycle.handleLifecycle(PageLifecycle.java:114)
    04/08/27 16:57:29      at oracle.adf.controller.struts.actions.DataAction.handleLifecycle(DataAction.java:233)
    04/08/27 16:57:29      at com.awiweb.om.ext.AWIDataAction.handleLifecycle(AWIDataAction.java:191)
    04/08/27 16:57:29      at oracle.adf.controller.struts.actions.DataAction.execute(DataAction.java:163)
    04/08/27 16:57:29      at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    04/08/27 16:57:29      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    04/08/27 16:57:29      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1485)
    04/08/27 16:57:29      at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:527)
    04/08/27 16:57:29      at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    04/08/27 16:57:29      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    04/08/27 16:57:29      at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    04/08/27 16:57:30      at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
    04/08/27 16:57:30      at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
    04/08/27 16:57:30      at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:228)
    04/08/27 16:57:30      at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:600)
    04/08/27 16:57:30      at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317)
    04/08/27 16:57:30      at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
    04/08/27 16:57:30      at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
    04/08/27 16:57:30      at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
    04/08/27 16:57:30      at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    04/08/27 16:57:30      at java.lang.Thread.run(Thread.java:534)

    This looks like a bug in TreeBinding. Please file this as a bug/tar with OracleSupport with your reproducible testcase (or steps to reproduce). Thanks.

  • SAPUI5 XML views

    Hi Experts,
    In SAPUI5 SDK demo kit, the same codes are in XML view. I tried to search the API or library for XML view i could not find. The data binding in XML views are not clear.
    e.g. Table.view.xml
    <mvc:View
      controllerName="sap.m.sample.Table.Table"
      xmlns:l="sap.ui.layout"
      xmlns:mvc="sap.ui.core.mvc"
      xmlns="sap.m">
      <Table id="idProductsTable"
      inset="false"
      items="{
      path: '/ProductCollection',
      sorter: {
      path: 'Name'
      }">
      <headerToolbar>
      <Toolbar>
      <Label text="Products"></Label>
      </Toolbar>
      </headerToolbar>
      <columns>
      <Column
      width="12em">
      <Text text="Product" />
      </Column>
      <Column
      minScreenWidth="Tablet"
      demandPopin="true">
      <Text text="Supplier" />
      </Column>
      <Column
      minScreenWidth="Tablet"
      demandPopin="true"
      hAlign="Right">
      <Text text="Dimensions" />
      </Column>
      <Column
      minScreenWidth="Tablet"
      demandPopin="true"
      hAlign="Center">
      <Text text="Weight" />
      </Column>
      <Column
      hAlign="Right">
      <Text text="Price" />
      </Column>
      </columns>
      <items>
      <ColumnListItem>
      <cells>
      <ObjectIdentifier
      title="{Name}"
      text="{ProductId}"
      class="sapMTableContentMargin" />
      <Text
      text="{SupplierName}" />
      <Text
      text="{Width} x {Depth} x {Height} {DimUnit}" />
      <ObjectNumber
      number="{WeightMeasure}"
      unit="{WeightUnit}"
      state="{
      path: 'WeightMeasure',
      formatter: 'sap.m.sample.Table.Formatter.weightState'
      }" />
      <ObjectNumber
      number="{Price}"
      unit="{CurrencyCode}" />
      </cells>
      </ColumnListItem>
      </items>
      </Table>
    </mvc:View>
    jQuery.sap.require("sap.m.sample.Table.Formatter");
    sap.ui.controller("sap.m.sample.Table.Table", {
      onInit: function () {
      // set explored app's demo model on this sample
      var oModel = new sap.ui.model.json.JSONModel("test-resources/sap/ui/demokit/explored/products.json");
      this.getView().setModel(oModel);
    How can we bind multiple data sources in xml
    SAPUI5 Explored
    Thank You
    Regards
    Senthil Bala

    Hi Sethil,
    Have you tried loading a second model (datasource) and set to the view. Something like this:
    var oModel = new sap.ui.model.json.JSONModel("test-resources/sap/ui/demokit/explored/products.json");
    this.getView().setModel(oModel,"firstmodel");
    var oModel2 = new sap.ui.model.json.JSONModel("whatever url to your second data");
    this.getView().setModel(oModel2,"secondmodel");
    And then have your controls binding to the source of your choice like this:
    text="{firstmodel>/ProductId}"
    regards
    Sven

  • JTree XML Viewer

    Hi all
    i found this great article http://www.javalobby.org/java/forums/m91839339.html on Xml Viewer.
    But i dont understand how i can use it for JTreeTable because JTreeTable needs a TreeTableModel but
    i have a XMLTableModel .
    Anyone has used it?
    Thanks!!

    Hi all i try to modify the example that i find to make the tree editable but it not works...
    The main
    import java.awt.Color;
    import java.awt.Component;
    import java.awt.Dimension;
    import java.awt.event.InputEvent;
    import java.awt.event.MouseEvent;
    import java.util.EventObject;
    import javax.swing.JScrollPane;
    public class MyTreeTable extends JTreeTable{
        public MyTreeTable(TreeTableModel treeTableModel){
            super(treeTableModel);
            setShowGrid(true);
            setGridColor(new Color(234, 234, 234));
            new TableColumnResizer(this);
           // setDefaultRenderer(XMLTreeTableModel.class, new  XMLTreeTableCellRenderer());
            setIntercellSpacing(new Dimension(1, 1));
        public boolean editCellAt(int row, int column, EventObject e){
            if(e instanceof MouseEvent){
                MouseEvent me = (MouseEvent)e;
                // If the modifiers are not 0 (or the left mouse button),
                // tree may try and toggle the selection, and table
                // will then try and toggle, resulting in the
                // selection remaining the same. To avoid this, we
                // only dispatch when the modifiers are 0 (or the left mouse
                // button).
                if(me.getModifiers()==0 ||
                        me.getModifiers()==InputEvent.BUTTON1_MASK){
                    for(int counter = getColumnCount()-1; counter>= 0;
                        counter--){
                        if(getColumnClass(counter)==TreeTableModel.class){
                            MouseEvent newME = new MouseEvent
                                    (tree, me.getID(),
                                            me.getWhen(), me.getModifiers(),
                                            me.getX()-getCellRect(0, counter, true).x,
                                            me.getY(), me.getClickCount(),
                                            me.isPopupTrigger());
                            tree.dispatchEvent(newME);
                            break;
                return false;
            return super.editCellAt(row, column, e);
        public void changeSelection(int row, int column, boolean toggle, boolean extend) {
            if(getCursor()==TableColumnResizer.resizeCursor)
                return;
            super.changeSelection(row, column, toggle, extend);
    }The editor
    import java.util.EventObject;
    import javax.swing.CellEditor;
    import javax.swing.event.CellEditorListener;
    import javax.swing.event.ChangeEvent;
    import javax.swing.event.EventListenerList;
    public class AbstractCellEditor implements CellEditor {
        protected EventListenerList listenerList = new EventListenerList();
        public Object getCellEditorValue() { return null; }
        public boolean isCellEditable(EventObject e) { return true; }
        public boolean shouldSelectCell(EventObject anEvent) { return false; }
        public boolean stopCellEditing() { return true; }
        public void cancelCellEditing() {}
        public void addCellEditorListener(CellEditorListener l) {
         listenerList.add(CellEditorListener.class, l);
        public void removeCellEditorListener(CellEditorListener l) {
         listenerList.remove(CellEditorListener.class, l);
         * Notify all listeners that have registered interest for
         * notification on this event type. 
         * @see EventListenerList
        protected void fireEditingStopped() {
         // Guaranteed to return a non-null array
         Object[] listeners = listenerList.getListenerList();
         // Process the listeners last to first, notifying
         // those that are interested in this event
         for (int i = listeners.length-2; i>=0; i-=2) {
             if (listeners==CellEditorListener.class) {
              ((CellEditorListener)listeners[i+1]).editingStopped(new ChangeEvent(this));
    * Notify all listeners that have registered interest for
    * notification on this event type.
    * @see EventListenerList
    protected void fireEditingCanceled() {
         // Guaranteed to return a non-null array
         Object[] listeners = listenerList.getListenerList();
         // Process the listeners last to first, notifying
         // those that are interested in this event
         for (int i = listeners.length-2; i>=0; i-=2) {
         if (listeners[i]==CellEditorListener.class) {
              ((CellEditorListener)listeners[i+1]).editingCanceled(new ChangeEvent(this));
    XML Parserimport javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    import javax.xml.transform.OutputKeys;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMResult;
    import javax.xml.transform.sax.SAXSource;
    import org.w3c.dom.Document;
    import org.xml.sax.InputSource;
    import org.xml.sax.XMLReader;
    public class DOMUtil{
    public static Document createDocument(InputSource is) throws Exception{
    SAXParserFactory saxFactory = SAXParserFactory.newInstance();
    SAXParser parser = saxFactory.newSAXParser();
    XMLReader reader = new XMLTrimFilter(parser.getXMLReader());
    TransformerFactory factory = TransformerFactory.newInstance();
    Transformer transformer = factory.newTransformer();
    transformer.setOutputProperty(OutputKeys.INDENT, "no");
    DOMResult result = new DOMResult();
    transformer.transform(new SAXSource(reader, is), result);
    return (Document)result.getNode();
    } The treeimport java.awt.Color;
    import java.awt.Component;
    import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.Rectangle;
    import java.awt.event.InputEvent;
    import java.awt.event.MouseEvent;
    import java.util.EventObject;
    import javax.swing.DefaultCellEditor;
    import javax.swing.Icon;
    import javax.swing.JTable;
    import javax.swing.JTextField;
    import javax.swing.JTree;
    import javax.swing.ListSelectionModel;
    import javax.swing.LookAndFeel;
    import javax.swing.UIManager;
    import javax.swing.border.Border;
    import javax.swing.event.ListSelectionEvent;
    import javax.swing.event.ListSelectionListener;
    import javax.swing.table.TableCellRenderer;
    import javax.swing.tree.DefaultTreeCellRenderer;
    import javax.swing.tree.DefaultTreeSelectionModel;
    import javax.swing.tree.TreeCellRenderer;
    import javax.swing.tree.TreeModel;
    import javax.swing.tree.TreePath;
    public class JTreeTable extends JTable {
         /** A subclass of JTree. */
         protected TreeTableCellRenderer tree;
         public JTreeTable(TreeTableModel treeTableModel) {
              super();
              // Creates the tree. It will be used as a renderer and editor.
              tree = new TreeTableCellRenderer(treeTableModel);
              // Installs a tableModel representing the visible rows in the tree.
              super.setModel(new TreeTableModelAdapter(treeTableModel, tree));
              tree.setCellRenderer(new XMLTreeTableCellRenderer());
              // Forces the JTable and JTree to share their row selection models.
              ListToTreeSelectionModelWrapper selectionWrapper = new ListToTreeSelectionModelWrapper();
              tree.setSelectionModel(selectionWrapper);
              setSelectionModel(selectionWrapper.getListSelectionModel());
              // Installs the tree editor renderer and editor.
              setDefaultRenderer(TreeTableModel.class, tree);
              setDefaultEditor(TreeTableModel.class, new TreeTableCellEditor());
              // No grid.
              setShowGrid(false);
              // No intercell spacing
              setIntercellSpacing(new Dimension(0, 0));
              // And update the height of the trees row to match that of
              // the table.
              if (tree.getRowHeight() < 1) {
                   // Metal looks better like this.
                   setRowHeight(20);
         * Overridden to message super and forward the method to the tree. Since the
         * tree is not actually in the component hierarchy it will never receive
         * this unless we forward it in this manner.
         public void updateUI() {
              super.updateUI();
              if (tree != null) {
                   tree.updateUI();
                   // Do this so that the editor is referencing the current renderer
                   // from the tree. The renderer can potentially change each time
                   // laf changes.
                   setDefaultEditor(TreeTableModel.class, new TreeTableCellEditor());
              // Use the tree's default foreground and background colors in the
              // table.
              LookAndFeel.installColorsAndFont(this, "Tree.background",
                        "Tree.foreground", "Tree.font");
         * Workaround for BasicTableUI anomaly. Make sure the UI never tries to
         * resize the editor. The UI currently uses different techniques to paint
         * the renderers and editors; overriding setBounds() below is not the right
         * thing to do for an editor. Returning -1 for the editing row in this case,
         * ensures the editor is never painted.
         public int getEditingRow() {
              return (getColumnClass(editingColumn) == TreeTableModel.class) ? -1
                        : editingRow;
         * Returns the actual row that is editing as <code>getEditingRow</code>
         * will always return -1.
         private int realEditingRow() {
              return editingRow;
         * This is overridden to invoke super's implementation, and then, if the
         * receiver is editing a Tree column, the editor's bounds is reset. The
         * reason we have to do this is because JTable doesn't think the table is
         * being edited, as <code>getEditingRow</code> returns -1, and therefore
         * doesn't automatically resize the editor for us.
         public void sizeColumnsToFit(int resizingColumn) {
              super.sizeColumnsToFit(resizingColumn);
              if (getEditingColumn() != -1
                        && getColumnClass(editingColumn) == TreeTableModel.class) {
                   Rectangle cellRect = getCellRect(realEditingRow(),
                             getEditingColumn(), false);
                   Component component = getEditorComponent();
                   component.setBounds(cellRect);
                   component.validate();
         * Overridden to pass the new rowHeight to the tree.
         public void setRowHeight(int rowHeight) {
              super.setRowHeight(rowHeight);
              if (tree != null && tree.getRowHeight() != rowHeight) {
                   tree.setRowHeight(getRowHeight());
         * Returns the tree that is being shared between the model.
         public JTree getTree() {
              return tree;
         * Overridden to invoke repaint for the particular location if the column
         * contains the tree. This is done as the tree editor does not fill the
         * bounds of the cell, we need the renderer to paint the tree in the
         * background, and then draw the editor over it.
         public boolean editCellAt(int row, int column, EventObject e) {
              boolean retValue = super.editCellAt(row, column, e);
              if (retValue && getColumnClass(column) == TreeTableModel.class) {
                   repaint(getCellRect(row, column, false));
              return retValue;
         * A TreeCellRenderer that displays a JTree.
         public class TreeTableCellRenderer extends JTree implements
                   TableCellRenderer {
              /** Last table/tree row asked to renderer. */
              protected int visibleRow;
              * Border to draw around the tree, if this is non-null, it will be
              * painted.
              protected Border highlightBorder;
              public TreeTableCellRenderer(TreeModel model) {
                   super(model);
              * updateUI is overridden to set the colors of the Tree's renderer to
              * match that of the table.
              public void updateUI() {
                   super.updateUI();
                   // Make the tree's cell renderer use the table's cell selection
                   // colors.
                   TreeCellRenderer tcr = getCellRenderer();
                   if (tcr instanceof DefaultTreeCellRenderer) {
                        DefaultTreeCellRenderer dtcr = ((DefaultTreeCellRenderer) tcr);
                        // For 1.1 uncomment this, 1.2 has a bug that will cause an
                        // exception to be thrown if the border selection color is
                        // null.
                        // dtcr.setBorderSelectionColor(null);
                        dtcr.setTextSelectionColor(UIManager
                                  .getColor("Table.selectionForeground"));
                        dtcr.setBackgroundSelectionColor(UIManager
                                  .getColor("Table.selectionBackground"));
              * Sets the row height of the tree, and forwards the row height to the
              * table.
              public void setRowHeight(int rowHeight) {
                   if (rowHeight > 0) {
                        super.setRowHeight(rowHeight);
                        if (JTreeTable.this != null
                                  && JTreeTable.this.getRowHeight() != rowHeight) {
                             JTreeTable.this.setRowHeight(getRowHeight());
              * This is overridden to set the height to match that of the JTable.
              public void setBounds(int x, int y, int w, int h) {
                   super.setBounds(x, 0, w, JTreeTable.this.getHeight());
              * Sublcassed to translate the graphics such that the last visible row
              * will be drawn at 0,0.
              public void paint(Graphics g) {
                   g.translate(0, -visibleRow * getRowHeight());
                   super.paint(g);
                   // Draw the Table border if we have focus.
                   if (highlightBorder != null) {
                        highlightBorder.paintBorder(this, g, 0, visibleRow
                                  * getRowHeight(), getWidth(), getRowHeight());
              * TreeCellRenderer method. Overridden to update the visible row.
              public Component getTableCellRendererComponent(JTable table,
                        Object value, boolean isSelected, boolean hasFocus, int row,
                        int column) {
                   Color background;
                   Color foreground;
                   if (isSelected) {
                        background = table.getSelectionBackground();
                        foreground = table.getSelectionForeground();
                   } else {
                        background = table.getBackground();
                        foreground = table.getForeground();
                   highlightBorder = null;
                   if (realEditingRow() == row && getEditingColumn() == column) {
                        background = UIManager.getColor("Table.focusCellBackground");
                        foreground = UIManager.getColor("Table.focusCellForeground");
                   } else if (hasFocus) {
                        highlightBorder = UIManager
                                  .getBorder("Table.focusCellHighlightBorder");
                        if (isCellEditable(row, column)) {
                             background = UIManager
                                       .getColor("Table.focusCellBackground");
                             foreground = UIManager
                                       .getColor("Table.focusCellForeground");
                   visibleRow = row;
                   setBackground(background);
                   TreeCellRenderer tcr = getCellRenderer();
                   if (tcr instanceof DefaultTreeCellRenderer) {
                        DefaultTreeCellRenderer dtcr = ((DefaultTreeCellRenderer) tcr);
                        if (isSelected) {
                             dtcr.setTextSelectionColor(foreground);
                             dtcr.setBackgroundSelectionColor(background);
                        } else {
                             dtcr.setTextNonSelectionColor(foreground);
                             dtcr.setBackgroundNonSelectionColor(background);
                   return this;
         * An editor that can be used to edit the tree column. This extends
         * DefaultCellEditor and uses a JTextField (actually, TreeTableTextField) to
         * perform the actual editing.
         * <p>
         * To support editing of the tree column we can not make the tree editable.
         * The reason this doesn't work is that you can not use the same component
         * for editing and renderering. The table may have the need to paint cells,
         * while a cell is being edited. If the same component were used for the
         * rendering and editing the component would be moved around, and the
         * contents would change. When editing, this is undesirable, the contents of
         * the text field must stay the same, including the caret blinking, and
         * selections persisting. For this reason the editing is done via a
         * TableCellEditor.
         * <p>
         * Another interesting thing to be aware of is how tree positions its render
         * and editor. The render/editor is responsible for drawing the icon
         * indicating the type of node (leaf, branch...). The tree is responsible
         * for drawing any other indicators, perhaps an additional +/- sign, or
         * lines connecting the various nodes. So, the renderer is positioned based
         * on depth. On the other hand, table always makes its editor fill the
         * contents of the cell. To get the allusion that the table cell editor is
         * part of the tree, we don't want the table cell editor to fill the cell
         * bounds. We want it to be placed in the same manner as tree places it
         * editor, and have table message the tree to paint any decorations the tree
         * wants. Then, we would only have to worry about the editing part. The
         * approach taken here is to determine where tree would place the editor,
         * and to override the <code>reshape</code> method in the JTextField
         * component to nudge the textfield to the location tree would place it.
         * Since JTreeTable will paint the tree behind the editor everything should
         * just work. So, that is what we are doing here. Determining of the icon
         * position will only work if the TreeCellRenderer is an instance of
         * DefaultTreeCellRenderer. If you need custom TreeCellRenderers, that don't
         * descend from DefaultTreeCellRenderer, and you want to support editing in
         * JTreeTable, you will have to do something similiar.
         public class TreeTableCellEditor extends DefaultCellEditor {
              public TreeTableCellEditor() {
                   super(new TreeTableTextField());
              * Overridden to determine an offset that tree would place the editor
              * at. The offset is determined from the <code>getRowBounds</code>
              * JTree method, and additionally from the icon DefaultTreeCellRenderer
              * will use.
              * <p>
              * The offset is then set on the TreeTableTextField component created in
              * the constructor, and returned.
              public Component getTableCellEditorComponent(JTable table,
                        Object value, boolean isSelected, int r, int c) {
                   Component component = super.getTableCellEditorComponent(table,
                             value, isSelected, r, c);
                   JTree t = getTree();
                   boolean rv = t.isRootVisible();
                   int offsetRow = rv ? r : r - 1;
                   Rectangle bounds = t.getRowBounds(offsetRow);
                   int offset = bounds.x;
                   TreeCellRenderer tcr = t.getCellRenderer();
                   if (tcr instanceof DefaultTreeCellRenderer) {
                        Object node = t.getPathForRow(offsetRow).getLastPathComponent();
                        Icon icon;
                        if (t.getModel().isLeaf(node))
                             icon = ((DefaultTreeCellRenderer) tcr).getLeafIcon();
                        else if (tree.isExpanded(offsetRow))
                             icon = ((DefaultTreeCellRenderer) tcr).getOpenIcon();
                        else
                             icon = ((DefaultTreeCellRenderer) tcr).getClosedIcon();
                        if (icon != null) {
                             offset += ((DefaultTreeCellRenderer) tcr).getIconTextGap()
                                       + icon.getIconWidth();
                   ((TreeTableTextField) getComponent()).offset = offset;
                   return component;
              * This is overridden to forward the event to the tree. This will return
              * true if the click count >= 3, or the event is null.
              public boolean isCellEditable(EventObject e) {
                   if (e instanceof MouseEvent) {
                        MouseEvent me = (MouseEvent) e;
                        // If the modifiers are not 0 (or the left mouse button),
                        // tree may try and toggle the selection, and table
                        // will then try and toggle, resulting in the
                        // selection remaining the same. To avoid this, we
                        // only dispatch when the modifiers are 0 (or the left mouse
                        // button).
                        if (me.getModifiers() == 0
                                  || me.getModifiers() == InputEvent.BUTTON1_MASK) {
                             for (int counter = getColumnCount() - 1; counter >= 0; counter--) {
                                  if (getColumnClass(counter) == TreeTableModel.class) {
                                       MouseEvent newME = new MouseEvent(
                                                 JTreeTable.this.tree, me.getID(), me
                                                           .getWhen(), me.getModifiers(), me
                                                           .getX()
                                                           - getCellRect(0, counter, true).x,
                                                 me.getY(), me.getClickCount(), me
                                                           .isPopupTrigger());
                                       JTreeTable.this.tree.dispatchEvent(newME);
                                       break;
                        if (me.getClickCount() >= 3) {
                             return true;
                        return false;
                   if (e == null) {
                        return true;
                   return false;
         * Component used by TreeTableCellEditor. The only thing this does is to
         * override the <code>reshape</code> method, and to ALWAYS make the x
         * location be <code>offset</code>.
         static class TreeTableTextField extends JTextField {
              public int offset;
              public void reshape(int x, int y, int w, int h) {
                   int newX = Math.max(x, offset);
                   super.reshape(newX, y, w - (newX - x), h);
         * ListToTreeSelectionModelWrapper extends DefaultTreeSelectionModel to
         * listen for changes in the ListSelectionModel it maintains. Once a change
         * in the ListSelectionModel happens, the paths are updated in the
         * DefaultTreeSelectionModel.
         class ListToTreeSelectionModelWrapper extends DefaultTreeSelectionModel {
              /** Set to true when we are updating the ListSelectionModel. */
              protected boolean updatingListSelectionModel;
              public ListToTreeSelectionModelWrapper() {
                   super();
                   getListSelectionModel().addListSelectionListener(
                             createListSelectionListener());
              * Returns the list selection model. ListToTreeSelectionModelWrapper
              * listens for changes to this model and updates the selected paths
              * accordingly.
              ListSelectionModel getListSelectionModel() {
                   return listSelectionModel;
              * This is overridden to set <code>updatingListSelectionModel</code>
              * and message super. This is the only place DefaultTreeSelectionModel
              * alters the ListSelectionModel.
              public void resetRowSelection() {
                   if (!updatingListSelectionModel) {
                        updatingListSelectionModel = true;
                        try {
                             super.resetRowSelection();
                        } finally {
                             updatingListSelectionModel = false;
                   // Notice how we don't message super if
                   // updatingListSelectionModel is true. If
                   // updatingListSelectionModel is true, it implies the
                   // ListSelectionModel has already been updated and the
                   // paths are the only thing that needs to be updated.
              * Creates and returns an instance of ListSelectionHandler.
              protected ListSelectionListener createListSelectionListener() {
                   return new ListSelectionHandler();
              * If <code>updatingListSelectionModel</code> is false, this will
              * reset the selected paths from the selected rows in the list selection
              * model.
              protected void updateSelectedPathsFromSelectedRows() {
                   if (!updatingListSelectionModel) {
                        updatingListSelectionModel = true;
                        try {
                             // This is way expensive, ListSelectionModel needs an
                             // enumerator for iterating.
                             int min = listSelectionModel.getMinSelectionIndex();
                             int max = listSelectionModel.getMaxSelectionIndex();
                             clearSelection();
                             if (min != -1 && max != -1) {
                                  for (int counter = min; counter <= max; counter++) {
                                       if (listSelectionModel.isSelectedIndex(counter)) {
                                            TreePath selPath = tree.getPathForRow(counter);
                                            if (selPath != null) {
                                                 addSelectionPath(selPath);
                        } finally {
                             updatingListSelectionModel = false;
              * Class responsible for calling updateSelectedPathsFromSelectedRows
              * when the selection of the list changse.
              class ListSelectionHandler implements ListSelectionListener {
                   public void valueChanged(ListSelectionEvent e) {
                        updateSelectedPathsFromSelectedRows();
    The resizerimport java.awt.Container;
    import java.awt.Cursor;
    import java.awt.Dimension;
    import java.awt.Point;
    import java.awt.Rectangle;
    import java.awt.event.MouseEvent;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.JViewport;
    import javax.swing.event.MouseInputAdapter;
    import javax.swing.table.TableColumn;
    public class TableColumnResizer extends MouseInputAdapter{
    public static Cursor resizeCursor = Cursor.getPredefinedCursor(Cursor.E_RESIZE_CURSOR);
    private int mouseXOffset;
    private Cursor otherCursor = resizeCursor;
    private JTable table;
    public TableColumnResizer(JTable table){
    this.table = table;
    table.addMouseListener(this);
    table.addMouseMotionListener(this);
    private boolean canResize(TableColumn column){
    return column != null
    && table.getTableHeader().getResizingAllowed()
    && column.getResizable();
    private TableColumn getResizingColumn(Point p){
    return getResizingColumn(p, table.columnAtPoint(p));
    private TableColumn getResizingColumn(Point p, int column){
    if(column == -1){
    return null;
    int row = table.rowAtPoint(p);
    if(row==-1)
    return null;
    Rectangle r = table.getCellRect(row, column, true);
    r.grow( -3, 0);
    if(r.contains(p))
    return null;
    int midPoint = r.x + r.width / 2;
    int columnIndex;
    if(table.getTableHeader().getComponentOrientation().isLeftToRight())
    columnIndex = (p.x < midPoint) ? column - 1 : column;
    else
    columnIndex = (p.x < midPoint) ? column : column - 1;
    if(columnIndex == -1)
    return null;
    return table.getTableHeader().getColumnModel().getColumn(columnIndex);
    public void mousePressed(MouseEvent e){
    table.getTableHeader().setDraggedColumn(null);
    table.getTableHeader().setResizingColumn(null);
    table.getTableHeader().setDraggedDistance(0);
    Point p = e.getPoint();
    // First find which header cell was hit
    int index = table.columnAtPoint(p);
    if(index==-1)
    return;
    // The last 3 pixels + 3 pixels of next column are for resizing
    TableColumn resizingColumn = getResizingColumn(p, index);
    if(!canResize(resizingColumn))
    return;
    table.getTableHeader().setResizingColumn(resizingColumn);
    if(table.getTableHeader().getComponentOrientation().isLeftToRight())
    mouseXOffset = p.x - resizingColumn.getWidth();
    else
    mouseXOffset = p.x + resizingColumn.getWidth();
    private void swapCursor(){
    Cursor tmp = table.getCursor();
    table.setCursor(otherCursor);
    otherCursor = tmp;
    public void mouseMoved(MouseEvent e){
    if(canResize(getResizingColumn(e.getPoint()))
    != (table.getCursor() == resizeCursor)){
    swapCursor();
    public void mouseDragged(MouseEvent e){
    int mouseX = e.getX();
    TableColumn resizingColumn = table.getTableHeader().getResizingColumn();
    boolean headerLeftToRight =
    table.getTableHeader().getComponentOrientation().isLeftToRight();
    if(resizingColumn != null){
    int oldWidth = resizingColumn.getWidth();
    int newWidth;
    if(headerLeftToRight){
    newWidth = mouseX - mouseXOffset;
    } else{
    newWidth = mouseXOffset - mouseX;
    resizingColumn.setWidth(newWidth);
    Container container;
    if((table.getTableHeader().getParent() == null)
    || ((container = table.getTableHeader().getParent().getParent()) == null)
    || !(container instanceof JScrollPane)){
    return;
    if(!container.getComponentOrientation().isLeftToRight()
    && !headerLeftToRight){
    if(table != null){
    JViewport viewport = ((JScrollPane)container).getViewport();
    int viewportWidth = viewport.getWidth();
    int diff = newWidth - oldWidth;
    int newHeaderWidth = table.getWidth() + diff;
    /* Resize a table */
    Dimension tableSize = table.getSize();
    tableSize.width += diff;
    table.setSize(tableSize);
    * If this table is in AUTO_RESIZE_OFF mode and has a horizontal
    * scrollbar, we need to update a view's position.
    if((newHeaderWidth >= viewportWidth)
    && (table.getAutoResizeMode() == JTable.AUTO_RESIZE_OFF)){
    Point p = viewport.getViewPosition();
    p.x =
    Math.max(0, Math.min(newHeaderWidth - viewportWidth, p.x + diff));
    viewport.setViewPosition(p);
    /* Update the original X offset value. */
    mouseXOffset += diff;
    public void mouseReleased(MouseEvent e){
    table.getTableHeader().setResizingColumn(null);
    table.getTableHeader().setDraggedColumn(null);
    The mainimport java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.io.FileInputStream;
    import java.io.InputStream;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import org.xml.sax.InputSource;
    public class TreeTableExample0 {
         public static void main(String[] args) throws Exception {
              new TreeTableExample0();
         public TreeTableExample0() throws Exception {
              JFrame frame = new JFrame("TreeTable");
              InputStream inputStream = new FileInputStream("c:\\totali.xml");
              InputSource inputSource = new InputSource(inputStream);
              MyTreeTable treeTable = new MyTreeTable(new XMLTreeTableModel(DOMUtil
                        .createDocument(inputSource)));
              frame.addWindowListener(new WindowAdapter() {
                   public void windowClosing(WindowEvent we) {
                        System.exit(0);
              frame.getContentPane().add(new JScrollPane(treeTable));
              frame.pack();
              frame.show();
    The modelimport javax.swing.tree.TreeModel;
    public interface TreeTableModel extends TreeModel
    * Returns the number of available columns.
    public int getColumnCount();
    * Returns the name for column number <code>column</code>.
    public String getColumnName(int column);
    * Returns the type for column number <code>column</code>.
    public Class getColumnClass(int column);
    * Returns the value to be displayed for node <code>node</code>,
    * at column number <code>column</code>.
    public Object getValueAt(Object node

  • How to set List and Tree Binding Value manually from backing bean?

    Dear All,
    I somehow found this code to work so that I could set a value on my bindings from a managed bean.
      public void setBindingExpressionValue(String expression, Object value)
        FacesContext facesContext = getFacesContext();
        Application app = facesContext.getApplication();
        ExpressionFactory elFactory = app.getExpressionFactory();
        ELContext elContext = facesContext.getELContext();
        ValueExpression valueExp =
          elFactory.createValueExpression(elContext, expression, Object.class);
        valueExp.setValue(elContext, value);
      public class MyBean{
      private String employeeId;
      public void inAmethod(){
           setBindingExpressionValue("#{bindings.employeeId.inputValue}",
                                         getEmployeeId());
      }Now, I am thinking. What if I have a List or Tree Binding in my managed bean then how or what should I send
    to the expression value. Is it a List or Map?
    The first one was easy as it is just a string but how about when dealing with collection?
    JDEV 11g PS4
    Thanks

    Hi,
    a tree binding does not set the value of the tree but determines the selected node. The binding itself represents the collection model that shows the hierarchical tree structure. So your question does not apply to a tree
    Frank

  • [Bug: JClient tree binding] Workaround for 'random' collapsing of branches

    Hi all.. For those of you who have been bothered by a bug in the JClient tree binding model regarding (seemingly) random collapsing of branches, I have a small workaround which may brighten your day. I know it brightened mine. :)
    Anyways, here's my situation:
    - A JTree with a master VO ("MasterView", for the top) and a detail VO ("DetailView", for the 'body'), recursively bound.
    - A JComboBox bound to a VO ("TopsView" or whatever), which is used to 'select a tree'
    - When a the currency of TopsView is changed, the selected row's ID is used to build a new tree. I use my own simple synchronizing mechanism, so I can do some additional checks. I suppose you could make MasterView a detail of TopsView, but that's not really important.
    masterView.setWhereClause("ID = " + selID);
    masterView.executeQuery();At this point, the tree will automatically be rebuilt.
    However, based on my experiences, I figure that this is not really the way the JDev guys pictured how I'd work because there's a pretty huge bug which at some point pretty much makes the tree useless (or 'act weird' to say the least).
    Here's a description of how to reproduce the bug and some of my observations. I will refer to the collection of currently displayed nodes/records as 'tree'.
    1. When you first expand certain branches in the current tree, all goes well. No problems.
    2. Next, you use the JComboBox to select another tree. (The new tree will appear totally collapsed.)
    3. At this point, you will also be expanding branches 'in that tree', 'for the first time'.
    4. After that, you switch back to the first tree.
    5. Now it becomes interesting: when you expand ANY branch that you previously expanded in this tree, the bug will surface (details will follow). When you expand branches that you DID NOT expand during your last visit to this tree, all goes well -- no problems.
    Note that re-expanding a branch after manually collapsing it, does not cause the bug. The key is that you expand a branch for the first time during a 'visit' to this tree (ie, so that it has to gather it's child nodes).
    Details about the bug:
    - The problem surfaces when expanding certain branches. (See above.)
    - Effects will vary from collapsing different branches under the same parent node to collapsing the entire tree.
    - The selection in the JTree component (or its selection model, if you will) will also be canceled.
    Observations:
    - It seems that JClient was not designed to handle multiple trees (as described above). It appears that, before the newly selected tree is built, the old tree has not been properly cleaned up. By this I mean the collection of JUTreeNodeBinding objects, which continue to refer to DefaultMutableTreeNodeBinding objects of the destroyed tree. In effect, these orphaned objects continue to work their magic in the background and will influence the JTree and its associated objects in a way so that this problem (and possibly others) surfaces.
    The workaround I will present below is designed to suppress this problem. It does not deal with orphaned objects in a proper way, it will merely partially suppress their functionality.
    How to suppress the bug:
    - In case you haven't done so already, you have to copy the source file of oracle.jbo.uicli.jui.JUTreeNodeBinding into your project directory and then make small modification to it.
    - On line 482 (if I'm not mistaken), you will see //if (al.size() > 0) Change it to if (!(mTreeNode.getParent() == null && getParent() != null)) Now the enclosed code will only be executed when the tree is fully synchronized (as in: the 'tree' of JUTreeNodeBinding objects has the same structure as the 'current tree' of DefaultMutableTreeNodeBinding objects).
    In a nutshell, it checks whether the parents of this JUTreeNodeBinding object and the associated DefaultMutableTreeNode object are not null. Because in case it concerns an 'orphaned' JUTreeNodeBinding object, the parent of its associated DefaultMutableTreeNode object will be null. However, in case it concerns the tree's root node, both parents will be null, in which case this condition will have to evaluate to true as well.
    I hope that this information will be of use to others :) and that possibly someone of the JDev team could comment on this matter. Thanks.

    One question though. What exactly do you mean by 'copy
    the source file of
    oracle.jbo.uicli.jui.JUTreeNodeBinding into your
    project directory'.. would I need to change the package
    name of this binding, and modify the client code
    somewhere to have it use my modified version? Or will
    it use this local copy instead of the original one?The simplest way to go is to create a new (empty) class in your project, which is to be located in the package "oracle.jbo.uicli.jui", and name it "JUTreeNodeBinding". Next, open the source of the original JUTreeNodeBinding class and copy-paste it into your newly created class in JDeveloper.
    Now, when you run your application, it will use your 'custom' version of JUTreeNodeBinding, while it will function exactly the same. You can make any modifications, like the one I suggested in my original post, in this class.
    Good luck.

  • Build.xml for model project  is showing package dosen't exist while compiling

    Hi all.
    For building my application i'm using ANT.I have followed the below link for deploying ant.
    Building Projects with Ant
    After created jdev-libs.xml and build.xml for the model project ,i tried to compile build.xml for model project.
    Below is my build.properties
    #Fri Nov 15 15:10:25 IST 2013
    javac.debug=on
    output.dir=classes
    javac.deprecation=off
    javac.nowarn=off
    build.xml
    <?xml version="1.0" encoding="windows-1252" ?>
    <!--Ant buildfile generated by Oracle JDeveloper-->
    <!--Generated Nov 15, 2013 3:10:25 PM-->
    <project xmlns="antlib:org.apache.tools.ant" name="Model" default="all" basedir=".">
      <property file="build.properties"/>
      <import file="../JDeveloperLibs/jdev-libs.xml"/>
      <path id="classpath">
        <path refid="JDeveloperLibs.library.ADF.Model.Runtime"/>
        <path refid="JDeveloperLibs.library.BC4J.Oracle.Domains"/>
        <path refid="JDeveloperLibs.library.BC4J.Runtime"/>
        <path refid="JDeveloperLibs.library.BC4J.Security"/>
        <path refid="JDeveloperLibs.library.BC4J.Tester"/>
        <path refid="JDeveloperLibs.library.MDS.Runtime"/>
        <path refid="JDeveloperLibs.library.MDS.Runtime.Dependencies"/>
        <path refid="JDeveloperLibs.library.Oracle.JDBC"/>
        <path refid="JDeveloperLibs.library.Resource.Bundle.Support"/>
        <path refid="JDeveloperLibs.library.ADF.Common.Runtime"/>
        <path refid="JDeveloperLibs.library.Log4j-1.2.17.jar"/>
      </path>
      <target name="init">
        <tstamp/>
        <mkdir dir="${output.dir}"/>
      </target>
      <target name="all" description="Build the project" depends="compile,copy"/>
      <target name="clean" description="Clean the project">
        <delete includeemptydirs="true" quiet="true">
          <fileset dir="${output.dir}" includes="**/*"/>
        </delete>
      </target>
      <target name="compile" description="Compile Java source files" depends="init">
        <javac destdir="${output.dir}" classpathref="classpath" debug="${javac.debug}" nowarn="${javac.nowarn}"
               deprecation="${javac.deprecation}" encoding="Cp1252" source="1.6" target="1.6">
          <src path="src"/>
        </javac>
      </target>
      <target name="copy" description="Copy files to output directory" depends="init">
        <patternset id="copy.patterns">
          <include name="**/*.gif"/>
          <include name="**/*.jpg"/>
          <include name="**/*.jpeg"/>
          <include name="**/*.png"/>
          <include name="**/*.properties"/>
          <include name="**/*.xml"/>
          <include name="**/*.ejx"/>
          <include name="**/*.xcfg"/>
          <include name="**/*.cpx"/>
          <include name="**/*.dcx"/>
          <include name="**/*.sva"/>
          <include name="**/*.wsdl"/>
          <include name="**/*.ini"/>
          <include name="**/*.tld"/>
          <include name="**/*.tag"/>
          <include name="**/*.xlf"/>
          <include name="**/*.xsl"/>
          <include name="**/*.xsd"/>
          <include name="**/*.jpx"/>
        </patternset>
        <copy todir="${output.dir}">
          <fileset dir="src">
            <patternset refid="copy.patterns"/>
          </fileset>
        </copy>
      </target>
    </project>
    jdev-libs.xml
    <?xml version="1.0" encoding="windows-1252" ?>
    <!-- created using version 11.6.0 of com.consideringred.jdevlibsforant -->
    <project name="JDeveloperLibs" default="" basedir=".">
      <dirname property="JDeveloperLibs.basedir" file="${ant.file.JDeveloperLibs}"/>
      <path id="JDeveloperLibs.srcpath">
        <pathelement location="${JDeveloperLibs.basedir}D:\wrkspace backup from stpi\Nov\Nov 15\JDeveloperLibs\src"/>
      </path>
      <!-- to accommodate the Ant copy/fileset element in "Apache Ant version 1.6.5 compiled on June 2 2005" bundled with JDeveloper 10.1.3.2 -->
      <property name="JDeveloperLibs.srcpath.first" value="${JDeveloperLibs.basedir}D:\wrkspace backup from stpi\Nov\Nov 15\JDeveloperLibs\src"/>
      <property name="JDeveloperLibs.outputdir" value="${JDeveloperLibs.basedir}D:\wrkspace backup from stpi\Nov\Nov 15\JDeveloperLibs\classes"/>
      <path id="JDeveloperLibs.library.ADF.Common.Runtime">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share_11.1.1/adf-share-support.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share.ca_11.1.1/adf-share-ca.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share.ca_11.1.1/adf-share-base.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share_11.1.1/adfsharembean.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share_11.1.1/adflogginghandler.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.idm_11.1.1/identitystore.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.javacache_11.1.1/cache.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.security_11.1.1/adf-share-security.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.security_11.1.1/adf-controller-security.jar"/>
        <pathelement location="../JDeveloperLibs/modules/javax.activation_1.1.0.0_1-1.jar"/>
      </path>
      <path id="JDeveloperLibs.library.ADF.Common.Web.Runtime">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/adflibfilter.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share.ca_11.1.1/adf-share-base.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.javatools_11.1.1/javatools-nodeps.jar"/>
      </path>
      <path id="JDeveloperLibs.library.ADF.Controller.Runtime">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.controller_11.1.1/adf-controller.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.controller_11.1.1/adf-controller-api.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.controller_11.1.1/adf-controller-rt-common.jar"/>
      </path>
      <path id="JDeveloperLibs.library.ADF.Controller.Schema">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/adf-controller-schema.jar"/>
      </path>
      <path id="JDeveloperLibs.library.ADF.DVT.Faces.Databinding.MDS.Runtime">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/dvt-databindings-mds.jar"/>
      </path>
      <path id="JDeveloperLibs.library.ADF.DVT.Faces.Databinding.Runtime">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/dvt-databindings.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/dvt-facesbindings.jar"/>
      </path>
      <path id="JDeveloperLibs.library.ADF.DVT.Faces.Runtime">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/dvt-utils.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/dvt-basemaps.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/dvt-jclient.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/dvt-trinidad.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/dvt-faces.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/prefuse.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/batik-anim.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/batik-awt-util.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/batik-bridge.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/batik-codec.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/batik-css.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/batik-dom.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/batik-ext.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/batik-extension.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/batik-gui-util.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/batik-gvt.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/batik-parser.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/batik-script.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/batik-svg-dom.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/batik-svggen.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/batik-swing.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/batik-transcoder.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/batik-util.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/batik-xml.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/xml-apis-ext.jar"/>
      </path>
      <path id="JDeveloperLibs.library.ADF.Faces.Runtime.11">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/trinidad-api.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/trinidad-impl.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/adf-richclient-api-11.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/adf-richclient-impl-11.jar"/>
      </path>
      <path id="JDeveloperLibs.library.ADF.Model.Runtime">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.idm_11.1.1/identitystore.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/adfm.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/groovy-all-1.6.3.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/adftransactionsdt.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/adf-dt-at-rt.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/adfdt_common.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/adflibrary.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.xdk_11.1.0/xmlparserv2.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/db-ca.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/jdev-cm.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.ldap_11.1.1/ojmisc.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share_11.1.1/commons-el.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share_11.1.1/jsp-el-api.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share_11.1.1/oracle-el.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.security_11.1.1/adf-share-security.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.security_11.1.1/adf-controller-security.jar"/>
        <pathelement location="../JDeveloperLibs/modules/javax.activation_1.1.0.0_1-1.jar"/>
        <pathelement location="../JDeveloperLibs/modules/javax.mail_1.1.0.0_1-4-1.jar"/>
      </path>
      <path id="JDeveloperLibs.library.ADF.Page.Flow.Runtime">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.pageflow_11.1.1/adf-pageflow-impl.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.pageflow_11.1.1/adf-pageflow-dtrt.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.pageflow_11.1.1/adf-pageflow-fwk.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.pageflow_11.1.1/adf-pageflow-rc.jar"/>
      </path>
      <path id="JDeveloperLibs.library.ADF.Web.Runtime">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/adfmweb.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Apache.Ant">
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-antlr.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-apache-bcel.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-apache-bsf.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-apache-log4j.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-apache-oro.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-apache-regexp.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-apache-resolver.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-commons-logging.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-commons-net.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-jai.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-javamail.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-jdepend.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-jmf.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-jsch.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-junit.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-launcher.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-netrexx.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-nodeps.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-starteam.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-stylebook.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-swing.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-trax.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-weblogic.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Apache.Maven.2.2.1">
        <pathelement location="../JDeveloperLibs/jdeveloper/apache-maven-2.2.1/lib/maven-2.2.1-uber.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/apache-maven-2.2.1/boot/classworlds-1.1.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant-nodeps.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ant/lib/ant.jar"/>
      </path>
      <path id="JDeveloperLibs.library.BC4J.Runtime">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share_11.1.1/adf-share-support.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share.ca_11.1.1/adf-share-ca.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share.ca_11.1.1/adf-share-base.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share_11.1.1/adflogginghandler.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share_11.1.1/adfsharembean.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.jmx_11.1.1/jmxframework.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.jmx_11.1.1/jmxspi.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.idm_11.1.1/identitystore.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/adfm.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/bc4j-mbeans.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/groovy-all-1.6.3.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.xdk_11.1.0/xmlparserv2.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/db-ca.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/jdev-cm.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.ldap_11.1.1/ojmisc.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share_11.1.1/commons-el.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share_11.1.1/jsp-el-api.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share_11.1.1/oracle-el.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.javatools_11.1.1/resourcebundle.jar"/>
        <pathelement location="../JDeveloperLibs/modules/javax.activation_1.1.0.0_1-1.jar"/>
        <pathelement location="../JDeveloperLibs/modules/javax.mail_1.1.0.0_1-4-1.jar"/>
      </path>
      <path id="JDeveloperLibs.library.BC4J.Security">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.ldap_11.1.1/ldapjclnt11.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.jps_11.1.1/jps-api.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.jps_11.1.1/jps-common.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.jps_11.1.1/jps-ee.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.jps_11.1.1/jps-internal.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.jps_11.1.1/jps-unsupported-api.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.jps_11.1.1/jps-manifest.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.jps_11.1.1/jacc-spi.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.pki_11.1.1/oraclepki.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.osdt_11.1.1/osdt_core.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.osdt_11.1.1/osdt_cert.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.osdt_11.1.1/osdt_xmlsec.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.osdt_11.1.1/osdt_ws_sx.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.iau_11.1.1/fmw_audit.jar"/>
        <pathelement location="../JDeveloperLibs/modules/javax.security.jacc_1.0.0.0_1-1.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.idm_11.1.1/identitystore.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share_11.1.1/adf-share-support.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share.ca_11.1.1/adf-share-ca.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share.ca_11.1.1/adf-share-base.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.security_11.1.1/adf-share-security.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.xdk_11.1.0/xmlparserv2.jar"/>
        <pathelement location="../JDeveloperLibs/modules/javax.activation_1.1.0.0_1-1.jar"/>
      </path>
      <path id="JDeveloperLibs.library.BC4J.Oracle.Domains">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/adfm.jar"/>
      </path>
      <path id="JDeveloperLibs.library.BC4J.Client">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/adfm.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/db-ca.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/jdev-cm.jar"/>
      </path>
      <path id="JDeveloperLibs.library.BC4J.Tester">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.jdbc_11.1.1/ojdbc6dms.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/BC4J/jlib/bc4jtester.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.jps_11.1.1/jps-api.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share_11.1.1/adflogginghandler.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/adfm-debugger.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/db-ca.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/jdev-cm.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.xdk_11.1.0/xmlparserv2.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/regexp.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.help_5.0/ohj.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.help_5.0/help-share.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.bali.share_11.1.1/share.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/jlib/jewt4.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.help_5.0/oracle_ice.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.ldap_11.1.1/ojmisc.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ide/lib/idert.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/ide/lib/javatools.jar"/>
        <pathelement location="../JDeveloperLibs/wlserver_10.3/server/lib/weblogic.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.jmx_11.1.1/jmxframework.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.jmx_11.1.1/jmxspi.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Commons.Beanutils.1.6">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/org.apache.commons.beanutils_1.6.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Commons.Collections.3.1">
        <pathelement location="../JDeveloperLibs/modules/com.bea.core.apache.commons.collections_3.2.0.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Commons.Logging.1.0.4">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/org.apache.commons.logging_1.0.4.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Connection.Manager">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.model_11.1.1/jdev-cm.jar"/>
      </path>
      <path id="JDeveloperLibs.library.JDeveloper.Runtime">
        <pathelement location="../JDeveloperLibs/jdeveloper/jdev/lib/jdev-rt.jar"/>
      </path>
      <path id="JDeveloperLibs.library.JSF.2.0">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.jsf_2.0/jsf-api.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.jsf_2.0/jsf-impl.jar"/>
      </path>
      <path id="JDeveloperLibs.library.JSTL.1.2">
        <pathelement location="../JDeveloperLibs/modules/glassfish.jstl_1.2.0.1.jar"/>
      </path>
      <path id="JDeveloperLibs.library.JSP.Runtime">
        <pathelement location="../JDeveloperLibs/modules/javax.servlet_1.0.0.0_2-5.jar"/>
        <pathelement location="../JDeveloperLibs/modules/javax.jsp_1.2.0.0_2-1.jar"/>
        <pathelement location="../JDeveloperLibs/modules/glassfish.el_1.0.0.0_2-1.jar"/>
      </path>
      <path id="JDeveloperLibs.library.MDS.Runtime">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.mds_11.1.1/mdsrt.jar"/>
      </path>
      <path id="JDeveloperLibs.library.MDS.Runtime.Dependencies">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.mds_11.1.1/oramds.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share_11.1.1/adf-share-support.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share_11.1.1/adflogginghandler.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share.ca_11.1.1/adf-share-ca.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share.ca_11.1.1/adf-share-base.jar"/>
        <pathelement location="../JDeveloperLibs/modules/javax.servlet_1.0.0.0_2-5.jar"/>
        <pathelement location="../JDeveloperLibs/modules/javax.jsp_1.2.0.0_2-1.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.jdbc_11.1.1/ojdbc6dms.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/jlib/commons-cli-1.0.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share_11.1.1/commons-el.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share_11.1.1/jsp-el-api.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.share_11.1.1/oracle-el.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.bali.share_11.1.1/share.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.xmlef_11.1.1/xmlef.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.dms_11.1.1/dms.jar"/>
        <pathelement location="../JDeveloperLibs/modules/javax.activation_1.1.0.0_1-1.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.xdk_11.1.0/xml.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.xdk_11.1.0/xmlparserv2.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.javacache_11.1.1/cache.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.ucp_11.1.0.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.odl_11.1.1/ojdl.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.javatools_11.1.1/javatools-nodeps.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.jmx_11.1.1/jmxframework.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.jmx_11.1.1/jmxspi.jar"/>
        <pathelement location="../JDeveloperLibs/modules/javax.management_1.2.1.jar"/>
        <pathelement location="../JDeveloperLibs/modules/javax.management.j2ee_1.0.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Oracle.JEWT">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.bali.share_11.1.1/share.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/jlib/jewt4.jar"/>
        <pathelement location="../JDeveloperLibs/jdeveloper/jlib/inspect4.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Oracle.JDBC">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.jdbc_11.1.1/ojdbc6dms.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.nlsrtl_11.1.0/orai18n.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.odl_11.1.1/ojdl.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.dms_11.1.1/dms.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Oracle.XML.Parser.v2">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.xdk_11.1.0/xmlparserv2.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.xdk_11.1.0/xml.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.nlsrtl_11.1.0/orai18n-mapping.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Resource.Bundle.Support">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.javatools_11.1.1/resourcebundle.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Resource.Bundle.Variable.Resolver">
        <pathelement location="../JDeveloperLibs/jdeveloper/jlib/bundleresolver.jar"/>
      </path>
      <path id="JDeveloperLibs.library.SQLJ.Runtime">
        <pathelement location="../JDeveloperLibs/jdeveloper/sqlj/lib/runtime12.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Servlet.Runtime">
        <pathelement location="../JDeveloperLibs/modules/javax.servlet_1.0.0.0_2-5.jar"/>
        <pathelement location="../JDeveloperLibs/modules/javax.jsp_1.2.0.0_2-1.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Trinidad.Runtime.11">
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/trinidad-api.jar"/>
        <pathelement location="../JDeveloperLibs/oracle_common/modules/oracle.adf.view_11.1.1/trinidad-impl.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Bcpkix-jdk15on-1.48.jar">
        <pathelement location="${JDeveloperLibs.basedir}/../lib/bcpkix-jdk15on-1.48.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Bcprov-jdk15on-1.48.jar">
        <pathelement location="${JDeveloperLibs.basedir}/../lib/bcprov-jdk15on-1.48.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Commons-codec-1.8.jar">
        <pathelement location="${JDeveloperLibs.basedir}/../lib/commons-codec-1.8.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Itext-asian.jar">
        <pathelement location="${JDeveloperLibs.basedir}/../lib/itext-asian.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Itext-hyph-xml.jar">
        <pathelement location="${JDeveloperLibs.basedir}/../lib/itext-hyph-xml.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Itext-pdfa-5.4.0-javadoc.jar">
        <pathelement location="${JDeveloperLibs.basedir}/../lib/itext-pdfa-5.4.0-javadoc.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Itext-pdfa-5.4.0-sources.jar">
        <pathelement location="${JDeveloperLibs.basedir}/../lib/itext-pdfa-5.4.0-sources.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Itext-pdfa-5.4.0.jar">
        <pathelement location="${JDeveloperLibs.basedir}/../lib/itext-pdfa-5.4.0.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Itext-xtra-5.4.0-javadoc.jar">
        <pathelement location="${JDeveloperLibs.basedir}/../lib/itext-xtra-5.4.0-javadoc.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Itext-xtra-5.4.0-sources.jar">
        <pathelement location="${JDeveloperLibs.basedir}/../lib/itext-xtra-5.4.0-sources.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Itext-xtra-5.4.0.jar">
        <pathelement location="${JDeveloperLibs.basedir}/../lib/itext-xtra-5.4.0.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Itextpdf-5.4.0-javadoc.jar">
        <pathelement location="${JDeveloperLibs.basedir}/../lib/itextpdf-5.4.0-javadoc.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Itextpdf-5.4.0-sources.jar">
        <pathelement location="${JDeveloperLibs.basedir}/../lib/itextpdf-5.4.0-sources.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Itextpdf-5.4.0.jar">
        <pathelement location="${JDeveloperLibs.basedir}/../lib/itextpdf-5.4.0.jar"/>
      </path>
      <path id="JDeveloperLibs.library.Log4j-1.2.17.jar">
        <pathelement location="${JDeveloperLibs.basedir}/../lib/log4j-1.2.17.jar"/>
      </path>
      <path id="JDeveloperLibs.classpath">
        <path refid="JDeveloperLibs.library.ADF.Common.Runtime"/>
        <path refid="JDeveloperLibs.library.ADF.Common.Web.Runtime"/>
        <path refid="JDeveloperLibs.library.ADF.Controller.Runtime"/>
        <path refid="JDeveloperLibs.library.ADF.Controller.Schema"/>
        <path refid="JDeveloperLibs.library.ADF.DVT.Faces.Databinding.MDS.Runtime"/>
        <path refid="JDeveloperLibs.library.ADF.DVT.Faces.Databinding.Runtime"/>
        <path refid="JDeveloperLibs.library.ADF.DVT.Faces.Runtime"/>
        <path refid="JDeveloperLibs.library.ADF.Faces.Runtime.11"/>
        <path refid="JDeveloperLibs.library.ADF.Model.Runtime"/>
        <path refid="JDeveloperLibs.library.ADF.Page.Flow.Runtime"/>
        <path refid="JDeveloperLibs.library.ADF.Web.Runtime"/>
        <path refid="JDeveloperLibs.library.Apache.Ant"/>
        <path refid="JDeveloperLibs.library.Apache.Maven.2.2.1"/>
        <path refid="JDeveloperLibs.library.BC4J.Runtime"/>
        <path refid="JDeveloperLibs.library.BC4J.Security"/>
        <path refid="JDeveloperLibs.library.BC4J.Oracle.Domains"/>
        <path refid="JDeveloperLibs.library.BC4J.Client"/>
        <path refid="JDeveloperLibs.library.BC4J.Tester"/>
        <path refid="JDeveloperLibs.library.Commons.Beanutils.1.6"/>
        <path refid="JDeveloperLibs.library.Commons.Collections.3.1"/>
        <path refid="JDeveloperLibs.library.Commons.Logging.1.0.4"/>
        <path refid="JDeveloperLibs.library.Connection.Manager"/>
        <path refid="JDeveloperLibs.library.JDeveloper.Runtime"/>
        <path refid="JDeveloperLibs.library.JSF.2.0"/>
        <path refid="JDeveloperLibs.library.JSTL.1.2"/>
        <path refid="JDeveloperLibs.library.JSP.Runtime"/>
        <path refid="JDeveloperLibs.library.MDS.Runtime"/>
        <path refid="JDeveloperLibs.library.MDS.Runtime.Dependencies"/>
        <path refid="JDeveloperLibs.library.Oracle.JEWT"/>
        <path refid="JDeveloperLibs.library.Oracle.JDBC"/>
        <path refid="JDeveloperLibs.library.Oracle.XML.Parser.v2"/>
        <path refid="JDeveloperLibs.library.Resource.Bundle.Support"/>
        <path refid="JDeveloperLibs.library.Resource.Bundle.Variable.Resolver"/>
        <path refid="JDeveloperLibs.library.SQLJ.Runtime"/>
        <path refid="JDeveloperLibs.library.Servlet.Runtime"/>
        <path refid="JDeveloperLibs.library.Trinidad.Runtime.11"/>
        <path refid="JDeveloperLibs.library.Bcpkix-jdk15on-1.48.jar"/>
        <path refid="JDeveloperLibs.library.Bcprov-jdk15on-1.48.jar"/>
        <path refid="JDeveloperLibs.library.Commons-codec-1.8.jar"/>
        <path refid="JDeveloperLibs.library.Itext-asian.jar"/>
        <path refid="JDeveloperLibs.library.Itext-hyph-xml.jar"/>
        <path refid="JDeveloperLibs.library.Itext-pdfa-5.4.0-javadoc.jar"/>
        <path refid="JDeveloperLibs.library.Itext-pdfa-5.4.0-sources.jar"/>
        <path refid="JDeveloperLibs.library.Itext-pdfa-5.4.0.jar"/>
        <path refid="JDeveloperLibs.library.Itext-xtra-5.4.0-javadoc.jar"/>
        <path refid="JDeveloperLibs.library.Itext-xtra-5.4.0-sources.jar"/>
        <path refid="JDeveloperLibs.library.Itext-xtra-5.4.0.jar"/>
        <path refid="JDeveloperLibs.library.Itextpdf-5.4.0-javadoc.jar"/>
        <path refid="JDeveloperLibs.library.Itextpdf-5.4.0-sources.jar"/>
        <path refid="JDeveloperLibs.library.Itextpdf-5.4.0.jar"/>
        <path refid="JDeveloperLibs.library.Log4j-1.2.17.jar"/>
      </path>
    </project>
    Problem:
    While executing im getting the below error:package dosent exist.Please help on this.Thanks
    Buildfile: D:\wrkspace backup from stpi\Nov\Nov 15\Model\build.xml
    init:
    compile:
        [javac] Compiling 116 source files to D:\wrkspace backup from stpi\Nov\Nov 15\Model\classes
        [javac] D:\wrkspace backup from stpi\Nov\Nov 15\Model\src\com\workflow\common\entity\detailsEOImpl.java:17: package javax.persistence does not exist
        [javac] import javax.persistence.EntityManager;
        [javac]                         ^
        [javac] D:\wrkspace backup from stpi\Nov\Nov 15\Model\src\com\workflow\common\entity\detailsEOImpl.java:18: package javax.persistence does not exist
        [javac] import javax.persistence.Query;
        [javac]                         ^
        [javac] D:\wrkspace backup from stpi\Nov\Nov 15\Model\src\comworkflow\common\entity\detailsEOImpl.java:40: package oracle.toplink.queryframework does not exist
        [javac] import oracle.toplink.queryframework.DataModifyQuery;
        [javac]                                     ^
        [javac] D:\wrkspace backup from stpi\Nov\Nov 15\Model\src\com\workflow\common\entity\detailsEOImpl.java:41: package oracle.toplink.queryframework does not exist
        [javac] import oracle.toplink.queryframework.StoredProcedureCall;
        [javac]                                     ^
        [javac] D:\wrkspace backup from stpi\Nov\Nov 15\Model\src\com\workflow\common\entity\detailsEOImpl.java:43: package oracle.toplink.sessions does not exist
        [javac] import oracle.toplink.sessions.Session;
        [javac]                               ^
        [javac] D:\wrkspace backup from stpi\Nov\Nov 15\Model\src\com\workflow\common\entity\detailsEOImpl.java:45: package org.eclipse.persistence.annotations does not exist
        [javac] import org.eclipse.persistence.annotations.NamedStoredProcedureQuery;
        [javac]                                           ^
        [javac] D:\wrkspace backup from stpi\Nov\Nov 15\Model\src\com\workflow\common\entity\detailsEOImpl.java:46: package org.eclipse.persistence.annotations does not exist
        [javac] import org.eclipse.persistence.annotations.StoredProcedureParameter;
        [javac]                                           ^
        [javac] 7 errors
    BUILD FAILED
    D:\wrkspace backup from stpi\Nov\Nov 15\Model\build.xml:33: Compile failed; see the compiler error output for details.
    Total time: 6 seconds

    Timo and dvohra21,
    I found the mistake that javax.persistance jar is missed in modules folder.After added that and inculdeJavaRuntime i was able to compile model's build.xml.
    When compiling view's build.xml im getting
    cannot access weblogic.security.acl.internal.AuthenticatedSubject
    [javac] class file for weblogic.security.acl.internal.AuthenticatedSubject not found
    weblogic.servlet.security.ServletAuthentication.runAs(subject,request)
    I have searched the forums and applied the solutions :
    1.Added com.bea.core.weblogic.security.identity jar,added weblogic 10.3 remote client and its corresponding jar weblogic.jar
    2.javax.security.auth.subject subject=Authentication.login(new URLCallbackHandler(un,pw));
      weblogic.servlet.security.ServletAuthentication.runAs(subject,request);
    still im getting the same exception.Any idea on this?Thanks.

  • Tree Binding sample not works on iAS 10.1.2

    I have downloaded sample Tree Binding - Tree View Control (http://www.oracle.com/technology/sample_code/products/jdev/index.html)
    and opened with jDeveloper 10.1.2.
    On Embedded OC4J it works fine but after deploy to iAS 10.1.2, the tree control on departmentTree.jsp is void.
    Is there any problem with tree on iAS 10.1.2 ?
    Regards,
    Lumir Vanek

    Hi dvohra,
    Thanks for your reply. I'm afraid I overlooked something, which is the reason of the ajax functionality not working. The Servlet that made the Ajax functionality used a datasource, and the same was in the Embedded OC4J Preferences. The ADF Business Components part was changed to use the datasource declared on the iAS. The Servlet however was not...
    So, all works now.

  • Regarding Model Data Binding.

    Hi Jain,
    Data binding enables data transfer between views and models, so that we don't have to add or change controller coding to work with models.
    Syntax for DataBinding:
    For <htmlb:InputField>
    <htmlb:InputField value="//query/a"/>
    This example code creates an inputfield that takes its initial value from the a attribute of  query model.
    here query is the instance for model we can define in conroller Do init method.
    For ex if you want to add two numbers by using model data binding.
    Create method add in model which has three attributes value1,value2, and result.We have to define  these attributes in model.Result is to print the added vaue.
    Then we have to add these values to the model in the view by using above syntax:
    <htmlb:InputField value="//query/value1"/>
    <htmlb:InputField value="//query/value2"/>
    <htmlb:InputField value="//query/result"/>
    here query is instance for the model.
    Here you have to remeber one point that no need to define these attributes(value1,value2,result) in the view again but you have define model instance in the attributes of view.
    Try using this concept..........
    Reward points if useful.

    Hi Anubhav,
                    Model Data Binding in business server pages ensure that data which is entered by the user in
                    the user interface(view) automatically passes to the model attributes and also output from the
                    backend system automatically passes to the result view.
                    So we need n't handle the data which is going to backend or the data which is coming from
                    backend system.
                    Data binding takes care of all the data handling .so we need n't write code to handle the data.
                    All i can say is data binding means binding the UI elements with the model class attributes.
                   If data binding is not available in BSP, we would have written lot of code in controller class
                   of business server pages.
                  I am giving simple example here to make you understand.
                   The initial view in this application contains 2 input fields, 4 radio buttons and 1 button.
                   Here radio buttons named Add, Multiple , Subtract and Divide.
                   The functionality i this application is whenever user enters numbers in input fields and select on
                   radio button and click on button , the result has to be displayed in the result view.
                  Initial View:
    <htmlb:content design="design2003">
    <htmlb:page title = " ">
        <htmlb:form>
      <htmlb:textView     text            = "value1"
                              design        = "EMPHASIZED" />
        <htmlb:inputField       id          = "f1" value = "//model/v1" />
         <htmlb:textView     text          = "value2"
                              design        = "EMPHASIZED" />
            <htmlb:inputField     id          = "f2" value = "//model/v2" />
         <htmlb:radioButtonGroup id="rbg" selection="//model/s" >
            <htmlb:radioButton id="id_add" text="add"/>
            <htmlb:radioButton id="id_sub" text="sub"/>
            <htmlb:radioButton id="id_mul" text="mul"/>
            <htmlb:radioButton id="id_div" text="div"/>
          </htmlb:radioButtonGroup>
    </htmlb:form>
    This code in the above view shows the data binding;
    <htmlb:inputField       id          = "f1" value = "//model/v1" /> and  
    <htmlb:inputField     id          = "f2" value = "//model/v2" /> and
    <htmlb:radioButtonGroup id="rbg" selection="//model/s" >
    Here v1,v2 and s are model class attributes . model is reference variable of model class .model is declared
    as page attribute in BSP.
    As i said above automatically the values of inputfields are passes to the model class without writing the code.
       Code in model class method:
    METHOD toall.
      IF s = 'id_add' .
        v3 = v1 + v2.
      ELSEIF s = 'id_sub'.
        v3 = v1 - v2.
      ELSEIF s = 'id_mul'.
        v3 = v1 * v2.
      ELSE.
        v3 = v1 / v2.
      ENDIF.
    ENDMETHOD.
    </htmlb:page>
    </htmlb:content>
       Result View:
    <htmlb:content design="design2003">
      <htmlb:page title = " ">
        <htmlb:form>
          <htmlb:textView     text          = "output"
                              design        = "EMPHASIZED" />
          <htmlb:textView     text          = "//model/v3"
                              design        = "EMPHASIZED"  />
        </htmlb:form>
      </htmlb:page>
    </htmlb:content>
           Here the result is available v3 attribute of model class and it is binded to the text view of the  result view.
          Finally the result is displayed in result view.In the above example i didn't explain about controller class
          I hope you know about controller class.
          Hope it helps.
          Reward points,if found useful.
    Thanks,
    Narendra.M

Maybe you are looking for

  • Problems with the private key at email signing

    Error when running the app: org.bouncycastle.cms.CMSStreamException: Inappropriate key for signature. I'm trying to sign an email with a smart card using Java, mime type multipart / signed, when I do a debug the code without saving the message or wit

  • After downloading the latest update I get "an unknown error occurred (-42110)

    After downloading the latest update I get "an unknown error occurred (-42110) does anyone have a clue? I can get to the store just fine. Everything seems to be playing fine. The error comes up everytime I load iTunes.

  • My iphone 3g always ended everytime i restore it plz help me

    I restore my iphone in itunes but everytime i go in "restoring iphone firmware" it always ended error...plz help me to fix it

  • HT1933 App in not what it is advertised as

    I've purchased an app form the App Store when iits downloaded its nothing like advertised and doesn't work. The advice I've been given is to report the problem but there is no facility to do this. I'm new to the apple world and not share what to do n

  • External CD Burner

    I have a 10-year old iMac - Power PC G4. Recently the CD burner stopped working. I checked with a local authorized dealer here in Springfield, Illinois, and repair could be costly and/or impossible (to get parts). I thought about getting an external