private void resetDocument() { this.currentSpaceReference = null; this.currentLegacySpace = null; this.currentDocumentReference = null; this.currentLegacyDocument = null; this.currentDocumentLocale = null; this.currentDocumentRevision = null; this.currentDocumentParameters = new FilterEventParameters(); // Defaults this.currentDocumentParameters.put(WikiDocumentFilter.PARAMETER_LOCALE, Locale.ROOT); this.currentDocumentLocaleParameters = new FilterEventParameters(); this.currentDocumentRevisionParameters = new FilterEventParameters(); this.sentBeginWikiDocument = false; this.sentBeginWikiDocumentLocale = false; this.sentBeginWikiDocumentRevision = false; this.localeFromLegacy = true; }
@Override protected FilterEventParameters convertToType(Type type, Object value) { if (value == null) { return null; } FilterEventParameters parameters; if (value instanceof FilterEventParameters) { parameters = (FilterEventParameters) value; } else if (value instanceof Map) { parameters = new FilterEventParameters(); parameters.putAll((Map) value); } else { String parametersString = value.toString().trim(); if (StringUtils.isEmpty(parametersString)) { parameters = FilterEventParameters.EMPTY; } else { throw new ConversionException("Only able to convert empty string to [" + FilterEventParameters.class.getName() + "]"); } } return parameters; }
private static void invokeUnkown(Object filter, FilterDescriptor descriptor, Method method, Object[] args) throws FilterException { String id = DefaultFilterDescriptorManager.getElementName(method); if (id != null) { FilterElementDescriptor element = descriptor.getElement(id); if (element != null) { FilterEventParameters metadata = new FilterEventParameters(); for (FilterElementParameterDescriptor<?> parameter : element.getParameters()) { metadata.put( parameter.getName() != null ? parameter.getName() : String.valueOf(parameter.getIndex()), args[parameter.getIndex()]); } UnknownFilter unknownFilter = (UnknownFilter) filter; if (method.getName().startsWith(DefaultFilterDescriptorManager.PREFIX_BEGIN)) { unknownFilter.beginUnknwon(id, metadata); } else if (method.getName().startsWith(DefaultFilterDescriptorManager.PREFIX_END)) { unknownFilter.endUnknwon(id, metadata); } else if (method.getName().startsWith(DefaultFilterDescriptorManager.PREFIX_ON)) { unknownFilter.onUnknwon(id, metadata); } } } } }
private void writeDocument(String document, Object filter, InstanceFilter proxyFilter) throws WikiStreamException { FilterEventParameters parameters = new FilterEventParameters(); for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.setWikiDocumentParameters(document, parameters); } proxyFilter.beginWikiDocument(document, parameters); for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.beginWikiDocument(document, parameters); } for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.endWikiDocument(document, parameters); } proxyFilter.endWikiDocument(document, parameters); } }
FilterEventParameters objectParameters = new FilterEventParameters();
FilterEventParameters attachmentParameters = new FilterEventParameters();
private void writeSpace(String wiki, String space, Object filter, InstanceFilter proxyFilter) throws WikiStreamException { FilterEventParameters parameters = new FilterEventParameters(); for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.setWikiSpaceParameters(space, parameters); } proxyFilter.beginWikiSpace(space, parameters); for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.beginWikiSpace(space, parameters); } for (String documentName : this.instanceModel.getDocuments(wiki, space)) { if (isDocumentEnabled(wiki, space, documentName)) { writeDocument(documentName, filter, proxyFilter); } else { if (this.properties.isVerbose()) { this.logger.info(LOG_DOCUMENT_SKIPPED, "Skipped document [{}]", new DocumentReference(wiki, space, documentName)); } } } for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.endWikiSpace(space, parameters); } proxyFilter.endWikiSpace(space, parameters); }
private void writeWiki(String wiki, Object filter, InstanceFilter proxyFilter) throws WikiStreamException { FilterEventParameters parameters = new FilterEventParameters(); for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.setWikiParameters(wiki, parameters); } proxyFilter.beginWiki(wiki, parameters); for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.beginWiki(wiki, parameters); } for (String spaceName : this.instanceModel.getSpaces(wiki)) { if (isSpaceEnabled(wiki, spaceName)) { writeSpace(wiki, spaceName, filter, proxyFilter); } } for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.endWiki(wiki, parameters); } proxyFilter.endWiki(wiki, parameters); }
private void writeDocument(DocumentReference documentReference, Object filter, InstanceFilter proxyFilter) throws FilterException { FilterEventParameters parameters = new FilterEventParameters(); for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.setWikiDocumentParameters(documentReference.getName(), parameters); } proxyFilter.beginWikiDocument(documentReference.getName(), parameters); for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.beginWikiDocument(documentReference.getName(), parameters); } for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.endWikiDocument(documentReference.getName(), parameters); } proxyFilter.endWikiDocument(documentReference.getName(), parameters); } }
@Override protected void read(Object filter, InstanceFilter proxyFilter) throws FilterException { FilterEventParameters parameters = new FilterEventParameters(); for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.setWikiFarmParameters(parameters); } proxyFilter.beginWikiFarm(parameters); for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.setFilter(filter); generator.beginWikiFarm(parameters); } for (WikiReference wikiReference : this.instanceModel.getWikiReferences()) { if (isWikiEnabled(wikiReference)) { writeWiki(wikiReference, filter, proxyFilter); } } for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.endWikiFarm(parameters); } proxyFilter.endWikiFarm(parameters); }
@Override protected void read(Object filter, InstanceFilter proxyFilter) throws WikiStreamException { FilterEventParameters parameters = new FilterEventParameters(); for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.setWikiFarmParameters(parameters); } proxyFilter.beginFarm(parameters); for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.setFilter(filter); generator.beginFarm(parameters); } for (String wikiName : this.instanceModel.getWikis()) { if (isWikiEnabled(wikiName)) { writeWiki(wikiName, filter, proxyFilter); } } for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.endFarm(parameters); } proxyFilter.endFarm(parameters); }
FilterEventParameters classParameters = new FilterEventParameters();
FilterEventParameters localeParameters = new FilterEventParameters();
FilterEventParameters parameters = new FilterEventParameters();
FilterEventParameters revisionParameters = new FilterEventParameters();
private void writeWiki(WikiReference wikiReference, Object filter, InstanceFilter proxyFilter) throws FilterException { FilterEventParameters parameters = new FilterEventParameters(); for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.setWikiParameters(wikiReference.getName(), parameters); } proxyFilter.beginWiki(wikiReference.getName(), parameters); for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.beginWiki(wikiReference.getName(), parameters); } // TODO: improve with a new space related API to get space level by space level instead of all of them at the // same time EntityReferenceTreeNode spaces = this.instanceModel.getSpaceReferences(wikiReference); for (EntityReferenceTreeNode node : spaces.getChildren()) { if (isSpaceEnabled((SpaceReference) node.getReference())) { writeSpace(node, filter, proxyFilter); } } for (InstanceInputEventGenerator generator : this.eventGenerators) { generator.endWiki(wikiReference.getName(), parameters); } proxyFilter.endWiki(wikiReference.getName(), parameters); }