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