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!

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
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
1,442 views