Skip to Main Content

Java Development Tools

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

ADF | Mobile :Unable to read DataControl Usages, on loadDataControl for id

SY220Jun 12 2014

Hi,

Jdev: 11.1.2.4.0

I am trying to invoke web service into adf mobile application , but i am getting Error:

"Unable to read DataControl Usages, on loadDataControl for id"

My java code:

FindDetails.java--->

import java.util.ArrayList;

import java.util.List;

import oracle.adfmf.framework.api.AdfmfJavaUtilities;

import oracle.adfmf.framework.api.GenericTypeBeanSerializationHelper;

import oracle.adfmf.framework.exception.AdfException;

import oracle.adfmf.java.beans.PropertyChangeSupport;

import oracle.adfmf.java.beans.ProviderChangeSupport;

import oracle.adfmf.util.GenericType;

public class FindDetails {

    List user=new ArrayList();

    public FindDetails() {

        super();

    }

    public userTaskPojo[] getDetails(){

        userTaskPojo[] usertaskArray=(userTaskPojo[])user.toArray(new userTaskPojo[user.size()]);

        return usertaskArray;

    }

    private transient PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);

    private transient ProviderChangeSupport providerChangeSupport = new ProviderChangeSupport(this);

  

    public boolean find(String userName){

        boolean ret = false;

        try{

            userTaskPojo[] old=getDetails();

            user.clear();

                        List pnames = new ArrayList();

            List params = new ArrayList();

            List ptypes = new ArrayList();

            pnames.add("USERNAME");

            ptypes.add(String.class);

            params.add(userName);

                        GenericType result =

                        (GenericType)AdfmfJavaUtilities.invokeDataControlMethod("CustomBPMWebservice", null, "getUserTasks",

                                                                                pnames, params, ptypes);

        for (int i = 0; i < result.getAttributeCount(); i++) {

                    GenericType entityGenericType = (GenericType)result.getAttribute(i);

                    userTaskPojo utp =

                        (userTaskPojo)GenericTypeBeanSerializationHelper.fromGenericType(userTaskPojo.class,

                                                                                       entityGenericType);

                    user.add(utp);

                }

        userTaskPojo[] newDeps = getDetails();

                propertyChangeSupport.firePropertyChange("user", old, newDeps);

                providerChangeSupport.fireProviderRefresh("user");

            } catch (Exception e) {

                throw new AdfException(e.getLocalizedMessage(), AdfException.ERROR);

            }

        return true;

            }

}

Search.java-->

import oracle.adfmf.framework.exception.AdfInvocationException;

import oracle.adfmf.java.beans.PropertyChangeListener;

import oracle.adfmf.java.beans.PropertyChangeSupport;

public class Search {

   // public static Details d;

public static FindDetails fd;

    private String userName = "achrist";

    private transient PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);

    public Search() {

        fd=new FindDetails();

    }

    public void addPropertyChangeListener(PropertyChangeListener l) {

        propertyChangeSupport.addPropertyChangeListener(l);

    }

    public void removePropertyChangeListener(PropertyChangeListener l) {

        propertyChangeSupport.removePropertyChangeListener(l);

    }

    public String goDetails() throws AdfInvocationException {

        String ret = "";

        // We only navigate to the forecastResults if the retrieveForecast succeeds

        if (fd.find(userName)) {

            ret = "result";

        }

        return ret;

               }

    public void setUserName(String userName) {

        String olduserName = this.userName;

        this.userName = userName;

        propertyChangeSupport.firePropertyChange("userName", olduserName, userName);

    }

    public String getUserName() {

        return userName;

    }

    }

Search.amx-->

<amx:commandButton id="cb2" text="search" action="#{pageFlowScope.Search.goDeatails}"/>

    </amx:facet>

    <amx:inputText id="it1" value="#{pageFlowScope.Search.userName}"/>

 

Pls help me in it

Sudheer.

Comments

Processing
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Jul 10 2014
Added on Jun 12 2014
0 comments
705 views