You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by mc...@apache.org on 2015/02/04 19:56:57 UTC
[03/36] incubator-nifi git commit: NIFI-305: Cleaning up for
extensibility; final methods
NIFI-305: Cleaning up for extensibility; final methods
Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/615794e7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/615794e7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/615794e7
Branch: refs/heads/NIFI-250
Commit: 615794e77fafc79ec6027484e584f76695a89573
Parents: ad40903
Author: gresockj <jg...@gmail.com>
Authored: Thu Jan 29 17:11:56 2015 -0500
Committer: gresockj <jg...@gmail.com>
Committed: Thu Jan 29 17:11:56 2015 -0500
----------------------------------------------------------------------
.../nifi/processors/standard/BinFiles.java | 31 +++++++++++++++-----
1 file changed, 24 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/615794e7/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/BinFiles.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/BinFiles.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/BinFiles.java
index b838d51..0a65c59 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/BinFiles.java
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/BinFiles.java
@@ -106,7 +106,7 @@ public abstract class BinFiles extends AbstractSessionFactoryProcessor {
private final Queue<Bin> readyBins = new LinkedBlockingQueue<>();
@Override
- protected void init(final ProcessorInitializationContext context) {
+ protected final void init(final ProcessorInitializationContext context) {
final Set<Relationship> relationships = new HashSet<>();
relationships.add(REL_ORIGINAL);
@@ -133,7 +133,7 @@ public abstract class BinFiles extends AbstractSessionFactoryProcessor {
}
@OnStopped
- public void resetState() {
+ public final void resetState() {
binManager.purge();
Bin bin;
@@ -145,12 +145,12 @@ public abstract class BinFiles extends AbstractSessionFactoryProcessor {
}
@Override
- public Set<Relationship> getRelationships() {
+ public final Set<Relationship> getRelationships() {
return relationships;
}
@Override
- protected List<PropertyDescriptor> getSupportedPropertyDescriptors() {
+ protected final List<PropertyDescriptor> getSupportedPropertyDescriptors() {
return descriptors;
}
@@ -222,8 +222,20 @@ public abstract class BinFiles extends AbstractSessionFactoryProcessor {
List<FlowFileSessionWrapper> binContents, ProcessContext context,
ProcessSession session, ProcessorLog logger) throws Exception;
+ /**
+ * Allows additional custom validation to be done. This will be called from
+ * the parent's customValidation method.
+ *
+ * @param context
+ * The context
+ * @return Validation results indicating problems
+ */
+ protected Collection<ValidationResult> additionalCustomValidation(final ValidationContext context) {
+ return new ArrayList<ValidationResult>();
+ }
+
@Override
- public void onTrigger(final ProcessContext context, final ProcessSessionFactory sessionFactory) throws ProcessException {
+ public final void onTrigger(final ProcessContext context, final ProcessSessionFactory sessionFactory) throws ProcessException {
int binsAdded = binFlowFiles(context, sessionFactory);
getLogger().debug("Binned {} FlowFiles", new Object[] {binsAdded});
@@ -336,7 +348,7 @@ public abstract class BinFiles extends AbstractSessionFactoryProcessor {
}
@OnScheduled
- public void onScheduled(final ProcessContext context) throws IOException {
+ public final void onScheduled(final ProcessContext context) throws IOException {
binManager.setMinimumSize(context.getProperty(MIN_SIZE).asDataSize(DataUnit.B).longValue());
if (context.getProperty(MAX_BIN_AGE).isSet() ) {
@@ -363,7 +375,7 @@ public abstract class BinFiles extends AbstractSessionFactoryProcessor {
}
@Override
- protected Collection<ValidationResult> customValidate(final ValidationContext context) {
+ protected final Collection<ValidationResult> customValidate(final ValidationContext context) {
final List<ValidationResult> problems = new ArrayList<>(super.customValidate(context));
final long minBytes = context.getProperty(MIN_SIZE).asDataSize(DataUnit.B).longValue();
@@ -382,6 +394,11 @@ public abstract class BinFiles extends AbstractSessionFactoryProcessor {
problems.add(new ValidationResult.Builder().subject(MIN_ENTRIES.getName()).input(context.getProperty(MIN_ENTRIES).getValue()).valid(false).explanation("Min Entries must be less than or equal to Max Entries").build());
}
}
+
+ Collection<ValidationResult> otherProblems = this.additionalCustomValidation(context);
+ if (otherProblems != null) {
+ problems.addAll(otherProblems);
+ }
return problems;
}