/** * @since 5.6 */ @Override public ReferencePageProviderDescriptor clone() { ReferencePageProviderDescriptor clone = new ReferencePageProviderDescriptor(); clone.name = getName(); clone.enabled = isEnabled(); Map<String, String> props = getProperties(); if (props != null) { clone.properties = new HashMap<String, String>(); clone.properties.putAll(props); } String[] params = getQueryParameters(); if (params != null) { clone.queryParameters = params.clone(); } return clone; }
protected void registerPageProvider(ContentViewDescriptor desc) { ReferencePageProviderDescriptor refDesc = desc.getReferencePageProvider(); if (refDesc != null && refDesc.isEnabled()) { // we use an already registered pp return; } PageProviderService ppService = Framework.getService(PageProviderService.class); String name = desc.getName(); PageProviderDefinition coreDef = getPageProviderDefWithName(name, desc.getCoreQueryPageProvider()); PageProviderDefinition genDef = getPageProviderDefWithName(name, desc.getGenericPageProvider()); if (coreDef != null && genDef != null) { log.error(String.format("Only one page provider should be registered on " + "content view '%s': take the reference descriptor by default, then core query descriptor, " + "and then generic descriptor", name)); } PageProviderDefinition ppDef = (coreDef != null) ? coreDef : genDef; if (ppDef != null) { if (log.isDebugEnabled()) { log.debug(String.format("Register PageProvider from ContentView: %s %s", ppDef.getName(), ppDef)); } ppService.registerPageProviderDefinition(ppDef); } }
/** * @since 6.0 */ public Map<String, String> getPageProviderProperties() { if (pageProviderProperties == null) { if (referencePageProvider != null && referencePageProvider.isEnabled()) { pageProviderProperties = referencePageProvider.getProperties(); } else if (coreQueryPageProvider != null && coreQueryPageProvider.isEnabled()) { pageProviderProperties = coreQueryPageProvider.getProperties(); } else if (genericPageProvider != null && genericPageProvider.isEnabled()) { pageProviderProperties = genericPageProvider.getProperties(); } } return pageProviderProperties; }
/** * @since 6.0 */ public String getPageProviderName() { if (pageProviderName == null) { if (referencePageProvider != null && referencePageProvider.isEnabled()) { pageProviderName = referencePageProvider.getName(); } else if (coreQueryPageProvider != null && coreQueryPageProvider.isEnabled() && coreQueryPageProvider.getName() != null) { pageProviderName = coreQueryPageProvider.getName(); } else if (genericPageProvider != null && genericPageProvider.isEnabled() && genericPageProvider.getName() != null) { pageProviderName = genericPageProvider.getName(); } else { pageProviderName = getName(); } } return pageProviderName; }
ReferencePageProviderDescriptor refDesc = desc.getReferencePageProvider(); String[] refQueryParams = null; if (refDesc != null && refDesc.isEnabled()) { PageProviderService ppService = Framework.getService(PageProviderService.class); PageProviderDefinition def = ppService.getPageProviderDefinition(refDesc.getName());
if (refDesc != null && refDesc.isEnabled()) { this.referencePageProvider = refDesc;