Example usage for com.liferay.portal.kernel.bean ClassLoaderBeanHandler getBean

List of usage examples for com.liferay.portal.kernel.bean ClassLoaderBeanHandler getBean

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.bean ClassLoaderBeanHandler getBean.

Prototype

public Object getBean() 

Source Link

Usage

From source file:com.bvakili.portlet.integration.box.service.impl.BoxRepositoryLocalServiceImpl.java

License:Open Source License

protected BoxRepository getBoxRepository(long repositoryId) throws PortalException, SystemException {

    Repository repositoryImpl = repositoryLocalService.getRepositoryImpl(repositoryId);

    BoxRepositoryHandler repo = null;/*from  w  ww  .ja v a  2 s  .  c  om*/
    BoxRepository retVal = null;
    //      CMISRepositoryHandler cmisRepositoryHandler = null;
    //
    //      if (repositoryImpl instanceof CMISRepositoryHandler) {
    //         cmisRepositoryHandler = (CMISRepositoryHandler)repositoryImpl;
    //      }
    //      else if (repositoryImpl instanceof BaseRepositoryProxyBean) {
    //         BaseRepositoryProxyBean baseRepositoryProxyBean =
    //            (BaseRepositoryProxyBean)repositoryImpl;
    //
    //         ClassLoaderBeanHandler classLoaderBeanHandler =
    //            (ClassLoaderBeanHandler)ProxyUtil.getInvocationHandler(
    //               baseRepositoryProxyBean.getProxyBean());
    //
    //         Object bean = classLoaderBeanHandler.getBean();
    //
    //         if (bean instanceof CMISRepositoryHandler) {
    //            cmisRepositoryHandler = (CMISRepositoryHandler)bean;
    //         }
    //      }
    //
    //      BoxRepository cmisRepository =
    //         (BoxRepository)cmisRepositoryHandler.getCmisRepository();
    //
    //      return cmisRepository;

    if (repositoryImpl instanceof BoxRepository) {
        repo = (BoxRepositoryHandler) repositoryImpl;
    } else if (repositoryImpl instanceof BaseRepositoryProxyBean) {
        BaseRepositoryProxyBean baseRepositoryProxyBean = (BaseRepositoryProxyBean) repositoryImpl;

        ClassLoaderBeanHandler classLoaderBeanHandler = (ClassLoaderBeanHandler) ProxyUtil
                .getInvocationHandler(baseRepositoryProxyBean.getProxyBean());

        Object bean = classLoaderBeanHandler.getBean();

        if (bean instanceof BoxRepositoryHandler) {
            repo = (BoxRepositoryHandler) bean;
        }
    }

    retVal = (BoxRepository) repo.getBoxRepository();
    return retVal;
}

From source file:com.liferay.osb.scv.connector.internal.jsonws.SCVUserJSONWS.java

License:Open Source License

protected void initServiceTracker() throws Exception {
    _serviceTracker = ServiceTrackerFactory.open(_bundleContext, SCVModel.class,
            new ServiceTrackerCustomizer<SCVModel, SCVModel>() {

                @Override/* w  w  w  . j  a va2  s.  c  o m*/
                public SCVModel addingService(ServiceReference<SCVModel> serviceReference) {

                    SCVModel scvModel = _bundleContext.getService(serviceReference);

                    Class<?> clazz = getModelClass(scvModel);

                    _scvModelMap.put(clazz.getSimpleName(), scvModel);
                    _modelClasses.put(clazz.getSimpleName(), getModelClass(scvModel));

                    ModelListenerRegistrationUtil.register(scvModel);

                    return scvModel;
                }

                @Override
                public void modifiedService(ServiceReference<SCVModel> serviceReference, SCVModel scvModel) {

                    removedService(serviceReference, scvModel);

                    addingService(serviceReference);
                }

                @Override
                public void removedService(ServiceReference<SCVModel> serviceReference, SCVModel scvModel) {

                    Class<?> clazz = getModelClass(scvModel);

                    _scvModelMap.remove(clazz.getSimpleName(), scvModel);
                    _modelClasses.remove(clazz.getSimpleName(), getModelClass(scvModel));

                    ModelListenerRegistrationUtil.unregister(scvModel);

                    _bundleContext.ungetService(serviceReference);
                }

                protected Class<?> getModelClass(SCVModel scvModel) {
                    Class<?> clazz = scvModel.getClass();

                    if (ProxyUtil.isProxyClass(clazz)) {
                        InvocationHandler invocationHandler = ProxyUtil.getInvocationHandler(scvModel);

                        if (invocationHandler instanceof ClassLoaderBeanHandler) {
                            ClassLoaderBeanHandler classLoaderBeanHandler = (ClassLoaderBeanHandler) invocationHandler;

                            Object bean = classLoaderBeanHandler.getBean();

                            clazz = bean.getClass();
                        }
                    }

                    return ReflectionUtil.getGenericSuperType(clazz);
                }

            });
}

From source file:com.liferay.portlet.display.template.internal.PortletDisplayTemplateImpl.java

License:Open Source License

@Override
public List<TemplateHandler> getPortletDisplayTemplateHandlers() {
    List<TemplateHandler> templateHandlers = TemplateHandlerRegistryUtil.getTemplateHandlers();

    List<TemplateHandler> portletDisplayTemplateHandlers = new ArrayList<>();

    for (TemplateHandler templateHandler : templateHandlers) {
        if (templateHandler instanceof BasePortletDisplayTemplateHandler) {
            portletDisplayTemplateHandlers.add(templateHandler);
        } else if (ProxyUtil.isProxyClass(templateHandler.getClass())) {
            InvocationHandler invocationHandler = ProxyUtil.getInvocationHandler(templateHandler);

            if (invocationHandler instanceof ClassLoaderBeanHandler) {
                ClassLoaderBeanHandler classLoaderBeanHandler = (ClassLoaderBeanHandler) invocationHandler;

                Object bean = classLoaderBeanHandler.getBean();

                if (bean instanceof BasePortletDisplayTemplateHandler) {
                    portletDisplayTemplateHandlers.add(templateHandler);
                }/*from www. ja v a 2  s  .c  o m*/
            }
        }
    }

    return portletDisplayTemplateHandlers;
}

From source file:jorgediazest.util.reflection.ReflectionUtil.java

License:Open Source License

public static Object unWrapProxy(Object object) {
    if (object == null) {
        return null;
    }/*w  ww .  ja va 2s .c  om*/

    if (object instanceof Proxy) {
        try {
            ClassLoaderBeanHandler classLoaderBeanHandler = (ClassLoaderBeanHandler) Proxy
                    .getInvocationHandler(object);

            object = classLoaderBeanHandler.getBean();
        } catch (Exception e) {
            if (_log.isDebugEnabled()) {
                _log.debug(e, e);
            }
        }
    }

    return object;
}