Foros de discusión

Can I add new method in OrganizationFinderImpl - Liferay 7

Revathi Vadlamudi, modificado hace 7 años.

Can I add new method in OrganizationFinderImpl - Liferay 7

Junior Member Mensajes: 82 Fecha de incorporación: 14/11/14 Mensajes recientes
I need to add method in OrganizationFinderImpl so that I can access that method in the code below.

Extented LocalServiceWrapper


@Component(
	immediate = true,
	property = {
	},
	service = ServiceWrapper.class
)
public class MmServiceWrapper extends OrganizationLocalServiceWrapper {

	public MmServiceWrapper() {
		super(null);
	}

	public List<long> getSuborganizationIds(long parentOrganizationId, long companyId)
		throws SystemException {

		List<long> subOrganizationIds = OrganizationFinder.getSuborganizationIds(parentOrganizationId, companyId);

		return subOrganizationIds;
	}
}
</long></long>


Created Liferay Module Project as Service and add OrganizationFinder.


@Component(
	immediate = true,
	property = {
		// TODO enter required service properties
	},
	service = OrganizationFinder.class
)
public class OrganizationFinder implements com.liferay.portal.kernel.service.persistence.OrganizationFinder {
	public static String FIND_BY_ORGANIZATIONID =
			OrganizationFinder.class.getName() + ".findByOrganizationId";

	@Override
	public int countByKeywords(long companyId, long parentOrganizationId, String parentOrganizationIdComparator,
			String keywords, String type, Long regionId, Long countryId, LinkedHashMap<string, object> params) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public int countByO_U(long organizationId, long userId) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public int countByC_PO_N_T_S_C_Z_R_C(long companyId, long parentOrganizationId,
			String parentOrganizationIdComparator, String name, String type, String street, String city, String zip,
			Long regionId, Long countryId, LinkedHashMap<string, object> params, boolean andOperator) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public int countByC_PO_N_T_S_C_Z_R_C(long companyId, long parentOrganizationId,
			String parentOrganizationIdComparator, String[] names, String type, String[] streets, String[] cities,
			String[] zips, Long regionId, Long countryId, LinkedHashMap<string, object> params, boolean andOperator) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public List<organization> findByKeywords(long companyId, long parentOrganizationId,
			String parentOrganizationIdComparator, String keywords, String type, Long regionId, Long countryId,
			LinkedHashMap<string, object> params, int start, int end, OrderByComparator<organization> obc) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<organization> findByNoAssets() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<long> findByC_P(long companyId, long parentOrganizationId, long previousOrganizationId, int size) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<organization> findByC_PO_N_T_S_C_Z_R_C(long companyId, long parentOrganizationId,
			String parentOrganizationIdComparator, String name, String type, String street, String city, String zip,
			Long regionId, Long countryId, LinkedHashMap<string, object> params, boolean andOperator, int start,
			int end, OrderByComparator<organization> obc) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<organization> findByC_PO_N_T_S_C_Z_R_C(long companyId, long parentOrganizationId,
			String parentOrganizationIdComparator, String[] names, String type, String[] streets, String[] cities,
			String[] zips, Long regionId, Long countryId, LinkedHashMap<string, object> params, boolean andOperator,
			int start, int end, OrderByComparator<organization> obc) {
		// TODO Auto-generated method stub
		return null;
	}

	// TODO enter required service methods

	public java.util.List<long> getSuborganizationIds(long parentOrganizationId, long companyId)
			throws SystemException {

		Session session = null;

		try {
			session = openSession();

			String sql = CustomSQLUtil.get(getClass(), FIND_BY_ORGANIZATIONID);

			SQLQuery q = session.createSQLQuery(sql);

			q.addScalar("organizationId", Type.LONG);

			QueryPos qPos = QueryPos.getInstance(q);

			qPos.add(parentOrganizationId);
			qPos.add(companyId);

			return (java.util.List<long>)QueryUtil.list(q, getDialect(), QueryUtil.ALL_POS, QueryUtil.ALL_POS);

		}
		catch (Exception e) {
			throw new SystemException(e);
		}
		finally {
			closeSession(session);
		}
	}
}
</long></long></organization></string,></organization></organization></string,></organization></long></organization></organization></string,></organization></string,></string,></string,>
Revathi Vadlamudi, modificado hace 7 años.

RE: Can I add new method in OrganizationFinderImpl - Liferay 7

Junior Member Mensajes: 82 Fecha de incorporación: 14/11/14 Mensajes recientes
As I understand from the link, we cannot modify UserLocalServiceImpl and if we want modify, can be done by modifying source code. But, I am using service wrapper for modifying impl (OrganizationFinderImpl). Any clues?