public void registerPrefixes(String[] prefixes) { this.prefixes = prefixes; for (int i = 0; i < prefixes.length; ++i) { entityViewAccessProviderManager.registerProvider(prefixes[i], this); } }
public void destroy() { if (prefixes != null) { for (int i = 0; i < prefixes.length; ++i) { entityViewAccessProviderManager.unregisterProvider(prefixes[i]); } } }
/** * Wrap this in an appropriate classloader before handling the request to ensure we * do not get ugly classloader failures */ private void handleClassLoaderAccess(EntityViewAccessProvider accessProvider, HttpServletRequest req, HttpServletResponse res, EntityView view) { // START classloader protection ClassLoader currentClassLoader = Thread.currentThread().getContextClassLoader(); try { Object classloaderIndicator = accessProvider; ClassLoader newClassLoader = classloaderIndicator.getClass().getClassLoader(); // check to see if this access provider reports the correct classloader if (classloaderIndicator instanceof ClassLoaderReporter) { newClassLoader = ((ClassLoaderReporter) classloaderIndicator).getSuitableClassLoader(); } Thread.currentThread().setContextClassLoader(newClassLoader); // START run in classloader accessProvider.handleAccess(view, req, res); // END run in classloader } finally { Thread.currentThread().setContextClassLoader(currentClassLoader); } // END classloader protection }
EntityViewAccessProvider evAccessProvider = entityViewAccessProviderManager.getProvider(view.getEntityReference().getPrefix()); if (evAccessProvider == null) { if (accessProviderManager != null) { HttpServletAccessProvider httpAccessProvider = accessProviderManager.getProvider(view.getEntityReference().getPrefix()); if (httpAccessProvider == null) { return false; httpAccessProvider.handleAccess(req, res, view.getEntityReference()); } finally { Thread.currentThread().setContextClassLoader(currentClassLoader); String[] entityViewKeys = ((AccessViews)evAccessProvider).getHandledEntityViews(); if (entityViewKeys != null && ! ReflectUtils.contains(entityViewKeys, view.getViewKey()) ) { throw new EntityException("Access provider for " + view.getEntityReference().getPrefix() String[] accessFormats = ((AccessFormats)evAccessProvider).getHandledAccessFormats(); if (accessFormats != null && ! ReflectUtils.contains(accessFormats, view.getFormat()) ) { throw new FormatUnsupportedException("Access provider for " + view.getEntityReference().getPrefix()
EntityViewAccessProvider evap = entityViewAccessProviderManager.getProvider(prefix); HttpServletAccessProvider hsap = httpServletAccessProviderManager == null ? null : httpServletAccessProviderManager.getProvider(prefix); if (evap != null || hsap != null) { sb.append(" <accessProvider>\n"); sb.append(" <implementor>" + evap.getClass().getName() + "</implementor>\n"); if (AccessFormats.class.isAssignableFrom(evap.getClass())) { String[] accessFormats = ((AccessFormats)evap).getHandledAccessFormats(); sb.append(" <accessFormats>\n"); if (accessFormats != null) { EntityViewAccessProvider evap = entityViewAccessProviderManager.getProvider(prefix); if (evap != null) { sb.append(" <div>"+entityProperties.getProperty(DESCRIBE, "describe.entity.data.access.provider", locale)+" : "+ EntityViewAccessProvider.class.getSimpleName() +"</div>\n"); if (AccessFormats.class.isAssignableFrom(evap.getClass())) { String[] accessFormats = ((AccessFormats)evap).getHandledAccessFormats(); sb.append(" <div>"+entityProperties.getProperty(DESCRIBE, "describe.entity.formats.access", locale)+" : " + makeFormatsString(accessFormats, null, locale) +"</div>\n"); && httpServletAccessProviderManager.getProvider(prefix) != null) { sb.append(" <div>"+entityProperties.getProperty(DESCRIBE, "describe.entity.data.access.provider", locale)+" : "+ HttpServletAccessProvider.class.getSimpleName() +"</div>\n"); } else {
EntityViewAccessProvider evap = entityViewAccessProviderManager.getProvider(prefix); if (evap != null) { if (AccessViews.class.isAssignableFrom(evap.getClass())) { String[] entityViewKeys = ((AccessViews)evap).getHandledEntityViews(); currentBE.setEntityViewKeys(entityViewKeys);
formats = null; EntityViewAccessProvider evap = entityViewAccessProviderManager.getProvider(prefix); if (evap != null) { if (AccessFormats.class.isAssignableFrom(evap.getClass())) { String[] accessFormats = ((AccessFormats)evap).getHandledAccessFormats(); if (accessFormats != null) { if (accessFormats.length > 0) {
EntityViewAccessProvider evAccessProvider = entityViewAccessProviderManager.getProvider(view.getEntityReference().getPrefix()); if (evAccessProvider == null) { if (accessProviderManager != null) { HttpServletAccessProvider httpAccessProvider = accessProviderManager.getProvider(view.getEntityReference().getPrefix()); if (httpAccessProvider == null) { return false; httpAccessProvider.handleAccess(req, res, view.getEntityReference()); } finally { Thread.currentThread().setContextClassLoader(currentClassLoader); String[] entityViewKeys = ((AccessViews)evAccessProvider).getHandledEntityViews(); if (entityViewKeys != null && ! ReflectUtils.contains(entityViewKeys, view.getViewKey()) ) { throw new EntityException("Access provider for " + view.getEntityReference().getPrefix() String[] accessFormats = ((AccessFormats)evAccessProvider).getHandledAccessFormats(); if (accessFormats != null && ! ReflectUtils.contains(accessFormats, view.getFormat()) ) { throw new FormatUnsupportedException("Access provider for " + view.getEntityReference().getPrefix()
EntityViewAccessProvider evap = entityViewAccessProviderManager.getProvider(prefix); HttpServletAccessProvider hsap = httpServletAccessProviderManager == null ? null : httpServletAccessProviderManager.getProvider(prefix); if (evap != null || hsap != null) { sb.append(" <accessProvider>\n"); sb.append(" <implementor>" + evap.getClass().getName() + "</implementor>\n"); if (AccessFormats.class.isAssignableFrom(evap.getClass())) { String[] accessFormats = ((AccessFormats)evap).getHandledAccessFormats(); sb.append(" <accessFormats>\n"); if (accessFormats != null) { EntityViewAccessProvider evap = entityViewAccessProviderManager.getProvider(prefix); if (evap != null) { sb.append(" <div>"+entityProperties.getProperty(DESCRIBE, "describe.entity.data.access.provider", locale)+" : "+ EntityViewAccessProvider.class.getSimpleName() +"</div>\n"); if (AccessFormats.class.isAssignableFrom(evap.getClass())) { String[] accessFormats = ((AccessFormats)evap).getHandledAccessFormats(); sb.append(" <div>"+entityProperties.getProperty(DESCRIBE, "describe.entity.formats.access", locale)+" : " + makeFormatsString(accessFormats, null, locale) +"</div>\n"); && httpServletAccessProviderManager.getProvider(prefix) != null) { sb.append(" <div>"+entityProperties.getProperty(DESCRIBE, "describe.entity.data.access.provider", locale)+" : "+ HttpServletAccessProvider.class.getSimpleName() +"</div>\n"); } else {
formats = null; EntityViewAccessProvider evap = entityViewAccessProviderManager.getProvider(prefix); if (evap != null) { if (AccessFormats.class.isAssignableFrom(evap.getClass())) { String[] accessFormats = ((AccessFormats)evap).getHandledAccessFormats(); if (accessFormats != null) { if (accessFormats.length > 0) {
public void registerPrefixes(String[] prefixes) { this.prefixes = prefixes; for (int i = 0; i < prefixes.length; ++i) { accessProviderManager.registerProvider(prefixes[i], this); } }
public void destroy() { if (prefixes != null) { for (int i = 0; i < prefixes.length; ++i) { entityViewAccessProviderManager.unregisterProvider(prefixes[i]); } } }
/** * Wrap this in an appropriate classloader before handling the request to ensure we * do not get ugly classloader failures */ private void handleClassLoaderAccess(EntityViewAccessProvider accessProvider, HttpServletRequest req, HttpServletResponse res, EntityView view) { // START classloader protection ClassLoader currentClassLoader = Thread.currentThread().getContextClassLoader(); try { Object classloaderIndicator = accessProvider; ClassLoader newClassLoader = classloaderIndicator.getClass().getClassLoader(); // check to see if this access provider reports the correct classloader if (classloaderIndicator instanceof ClassLoaderReporter) { newClassLoader = ((ClassLoaderReporter) classloaderIndicator).getSuitableClassLoader(); } Thread.currentThread().setContextClassLoader(newClassLoader); // START run in classloader accessProvider.handleAccess(view, req, res); // END run in classloader } finally { Thread.currentThread().setContextClassLoader(currentClassLoader); } // END classloader protection }
public void registerPrefixes(String[] prefixes) { this.prefixes = prefixes; for (int i = 0; i < prefixes.length; ++i) { entityViewAccessProviderManager.registerProvider(prefixes[i], this); } }
public void destroy() { if (prefixes != null) { for (int i = 0; i < prefixes.length; ++i) { accessProviderManager.unregisterProvider(prefixes[i]); } } }
public void registerPrefixes(String[] prefixes) { this.prefixes = prefixes; for (int i = 0; i < prefixes.length; ++i) { accessProviderManager.registerProvider(prefixes[i], this); } }
public void destroy() { if (prefixes != null) { for (int i = 0; i < prefixes.length; ++i) { accessProviderManager.unregisterProvider(prefixes[i]); } } }