1

My entity:

<entity name="Role" local-service="true" remote-service="false">
    <column name="id" type="long" primary="true" />
    <column name="system_id" type="int" />
    <column name="user_id" type="int" />
    <column name="comment" type="String" />
    <column name="status_id" type="int" />
    <column name="create_date" type="Date" />
    <column name="update_date" type="Date" />
    <column name="systemrequest_id" type="int" />
    <order by="asc">
            <order-column name="id" />
    </order>
    <finder name="bySystem" return-type="Collection">
        <finder-column name="system_id"/>
    </finder>
    <finder name="byUser" return-type="Collection">
        <finder-column name="user_id" />
        <finder-column name="status_id" />
    </finder>
    <finder name="byId" return-type="gad">
        <finder-column name="id" />
    </finder>
</entity>

Then I have copied the method findBybyUser() from RoleUtil.java into RoleLocalServiceImpl.java like:

public java.util.List<com.example.model.gad> findBybyUser(
    int user_id, int status_id) throws com.liferay.portal.kernel.exception.SystemException {
    return RoleUtil.findBybyUser(user_id, status_id);
}

I have deployed the service with mvn liferay:build-service

Finally I want to use this finder method inside of doView method in my portlet:

@Override
public void doView(RenderRequest renderRequest, RenderResponse renderResponse) throws IOException, PortletException {
    List<PersonRoleHelper> personRoleList = new ArrayList<PersonRoleHelper>();
    try {
        List<User> userList = UserLocalServiceUtil.getUsers(1, UserLocalServiceUtil.getUsersCount());
        for (User user : userList){
            List<Role> roleList = RoleLocalServiceUtil.findBybyUser((int)user.getUserId(), 2);
            logger.info ("list size: "+roleList.size());
        }
        personRoleList.add(roleList);
        renderRequest.setAttribute("roles", personRoleList);
    } catch (SystemException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    super.doView(renderRequest, renderResponse);
}

In the log I see list size: 0 all the time. What am I missing? how should I access finder method in order to obtain results? running query in SQL with where user_id= 1 and status_id =2 return result

rolve
  • 10,083
  • 4
  • 55
  • 75
Mithrand1r
  • 2,313
  • 9
  • 37
  • 76
  • What do you actually want to achieve? Where is your `service.xml` located? Is it in your custom portlet or you want to modify liferay's `service.xml`? – Parkash Kumar Feb 23 '16 at 07:14
  • Possible duplicate of [***Delete record on sepecific field value in liferay service builder***](http://stackoverflow.com/questions/35559048/delete-record-on-sepecific-field-value-in-liferay-service-builder) – Parkash Kumar Feb 23 '16 at 07:15

0 Answers0