/** * Performs velocity and plink rendering on a given string. * * @param source */ public String render(String source) throws CRException { // replace plinks (if configured to do so) if (this.doPlinks && this.pr != null) { source = PortalConnectorHelper.replacePLinks(source, this.pr); } if (this.doVelocity) { // Initialize Velocity Context ITemplateManager myTemplateManager = conf.getTemplateManager(); source = myTemplateManager.render("attribute", source); } return source; }
/** * Create a new Instance of LuceneSingleIndexLocation. This is the Default IndexLocation for * Lucene. * * @param config configuration */ public LuceneSingleIndexLocation(final CRConfig config) { super(config); indexLocation = getFirstIndexLocation(config); dir = createDirectory(indexLocation, config); // Create index accessor IndexAccessorFactory iAFactory = IndexAccessorFactory.getInstance(); if (!iAFactory.hasAccessor(dir)) { try { iAFactory.createAccessor(dir, getConfiguredAnalyzer()); } catch (IOException ex) { log.fatal("COULD NOT CREATE INDEX ACCESSOR" + ex.getMessage()); } } else { log.debug("Accessor already present."); } // check if facets are activated and create a TaxonomyAccessor if necessary useFacets = config.getBoolean(FACET_FLAG_KEY, useFacets); if (useFacets) { log.debug("Facets are active"); taxonomyLocation = retrieveTaxonomyLocation(config); taxonomyDir = createDirectory(taxonomyLocation, config); TaxonomyAccessorFactory taFactory = TaxonomyAccessorFactory.getInstance(); if (!taFactory.hasAccessor(taxonomyDir)) { try { taFactory.createAccessor(config, taxonomyDir); } catch (IOException e) { log.fatal("COULD NOT CREATE TAXONOMY ACCESSOR" + e.getMessage()); } } else { log.debug("TaxonomyAccessor already present."); } } else { log.debug("Facets are not active"); } }
/** * retrieves the Taxonomy location from the config * * @param config * @return */ protected static String retrieveTaxonomyLocation(CRConfig config) { String path = config.getString(FACET_CONFIG_KEY.concat(".").concat(FACET_CONFIG_PATH_KEY)); return path; }