// cache the template... protected Transformer getTransformer(Presentation presentation, Map request) throws PersistenceException { Id renderer = presentation.getTemplate().getRenderer(); TransformerWrapper wrapper = (TransformerWrapper) presentationTemplateCache.get(renderer); if (wrapper == null) { wrapper = new TransformerWrapper(); wrapper.modified = 0; } Node xsl = getPresentationManager().getNode(renderer); if (xsl.getTechnicalMetadata().getLastModified().getTime() > wrapper.modified) { try { wrapper.transformer = TransformerFactory.newInstance().newTransformer(new StreamSource(xsl.getInputStream())); wrapper.modified = xsl.getTechnicalMetadata().getLastModified().getTime(); } catch (TransformerConfigurationException e) { throw new OspException(e); } } wrapper.transformer.clearParameters(); // send request params in as transform params for (Iterator i = request.keySet().iterator(); i.hasNext(); ) { String paramName = (String) i.next(); wrapper.transformer.setParameter(paramName, request.get(paramName)); } presentationTemplateCache.put(renderer, wrapper); return wrapper.transformer; }
/** * Return boolean array if item feedback is allowed based on feedback options */ protected Boolean[] getAllowItemFeedback( int feedbackOption, List reviews, List<Node> cellForms, List attachments) { Boolean[] allowItemFeedback = new Boolean[cellForms.size() + attachments.size()]; int index = -1; // First loop through forms for (Iterator cIt = cellForms.iterator(); cIt.hasNext(); ) { index++; Node thisNode = (Node) cIt.next(); if (feedbackOption == WizardMatrixConstants.FEEDBACK_OPTION_SINGLE) { allowItemFeedback[index] = true; for (Iterator rIt = reviews.iterator(); rIt.hasNext(); ) { Review thisReview = (Review) rIt.next(); if (thisReview.getItemId() != null && thisReview.getItemId().equals(thisNode.getId().getValue())) { allowItemFeedback[index] = false; break; } } } else if (feedbackOption == WizardMatrixConstants.FEEDBACK_OPTION_NONE) { allowItemFeedback[index] = false; } else { allowItemFeedback[index] = true; } } // Second loop through attachments for (Iterator aIt = attachments.iterator(); aIt.hasNext(); ) { index++; Node thisNode = (Node) aIt.next(); if (feedbackOption == WizardMatrixConstants.FEEDBACK_OPTION_SINGLE) { allowItemFeedback[index] = true; for (Iterator rIt = reviews.iterator(); rIt.hasNext(); ) { Review thisReview = (Review) rIt.next(); if (thisReview.getItemId() != null && thisReview.getItemId().equals(thisNode.getId().getValue())) { allowItemFeedback[index] = false; break; } } } else if (feedbackOption == WizardMatrixConstants.FEEDBACK_OPTION_NONE) { allowItemFeedback[index] = false; } else { allowItemFeedback[index] = true; } } return allowItemFeedback; }
protected String getStyleUrl(Style style) { Node styleNode = getMatrixManager().getNode(style.getStyleFile()); return styleNode.getExternalUri(); }
public int compare(Node n1, Node n2) { return n1.getName().compareToIgnoreCase(n2.getName()); }