You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by jo...@apache.org on 2014/12/08 21:29:45 UTC
[22/51] [partial] incubator-nifi git commit: Initial code contribution
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/ProvenanceResultsDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/ProvenanceResultsDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/ProvenanceResultsDTO.java
new file mode 100644
index 0000000..d6ea8a0
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/ProvenanceResultsDTO.java
@@ -0,0 +1,136 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.provenance;
+
+import org.apache.nifi.web.api.dto.util.DateTimeAdapter;
+import org.apache.nifi.web.api.dto.util.TimeAdapter;
+
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import java.util.Date;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * Results of a provenance request.
+ */
+@XmlType(name = "provenanceResults")
+public class ProvenanceResultsDTO {
+
+ private List<ProvenanceEventDTO> provenanceEvents;
+ private String total;
+ private Long totalCount;
+ private Date generated;
+ private Date oldestEvent;
+ private Integer timeOffset;
+
+ private Set<String> errors;
+
+ /**
+ * Any error messages.
+ *
+ * @return
+ */
+ public Set<String> getErrors() {
+ return errors;
+ }
+
+ public void setErrors(Set<String> errors) {
+ this.errors = errors;
+ }
+
+ /**
+ * The provenance events that matched the search criteria.
+ *
+ * @return
+ */
+ public List<ProvenanceEventDTO> getProvenanceEvents() {
+ return provenanceEvents;
+ }
+
+ public void setProvenanceEvents(List<ProvenanceEventDTO> provenanceEvents) {
+ this.provenanceEvents = provenanceEvents;
+ }
+
+ /**
+ * The total number of results formatted.
+ *
+ * @return
+ */
+ public String getTotal() {
+ return total;
+ }
+
+ public void setTotal(String total) {
+ this.total = total;
+ }
+
+ /**
+ * The total number of results.
+ *
+ * @return
+ */
+ public Long getTotalCount() {
+ return totalCount;
+ }
+
+ public void setTotalCount(Long totalCount) {
+ this.totalCount = totalCount;
+ }
+
+ /**
+ * When the search was performed.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(TimeAdapter.class)
+ public Date getGenerated() {
+ return generated;
+ }
+
+ public void setGenerated(Date generated) {
+ this.generated = generated;
+ }
+
+ /**
+ * The oldest event available in the provenance repository.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(DateTimeAdapter.class)
+ public Date getOldestEvent() {
+ return oldestEvent;
+ }
+
+ public void setOldestEvent(Date oldestEvent) {
+ this.oldestEvent = oldestEvent;
+ }
+
+ /**
+ * The time offset on the server thats used for event time.
+ *
+ * @return
+ */
+ public Integer getTimeOffset() {
+ return timeOffset;
+ }
+
+ public void setTimeOffset(Integer timeOffset) {
+ this.timeOffset = timeOffset;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/ProvenanceSearchableFieldDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/ProvenanceSearchableFieldDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/ProvenanceSearchableFieldDTO.java
new file mode 100644
index 0000000..af89f97
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/ProvenanceSearchableFieldDTO.java
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.provenance;
+
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * A searchable field for provenance queries.
+ */
+@XmlType(name = "provenanceSearchableField")
+public class ProvenanceSearchableFieldDTO {
+
+ private String id;
+ private String field;
+ private String label;
+ private String type;
+
+ /**
+ * The id of this searchable field.
+ *
+ * @return
+ */
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ /**
+ * The field.
+ *
+ * @return
+ */
+ public String getField() {
+ return field;
+ }
+
+ public void setField(String field) {
+ this.field = field;
+ }
+
+ /**
+ * The label for this field.
+ *
+ * @return
+ */
+ public String getLabel() {
+ return label;
+ }
+
+ public void setLabel(String label) {
+ this.label = label;
+ }
+
+ /**
+ * The type for this field.
+ *
+ * @return
+ */
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/lineage/LineageDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/lineage/LineageDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/lineage/LineageDTO.java
new file mode 100644
index 0000000..745105e
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/lineage/LineageDTO.java
@@ -0,0 +1,161 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.provenance.lineage;
+
+import java.util.Date;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import org.apache.nifi.web.api.dto.util.TimestampAdapter;
+
+/**
+ * Represents the lineage for a flowfile.
+ */
+@XmlType(name = "lineage")
+public class LineageDTO {
+
+ private String id;
+ private String uri;
+ private String clusterNodeId;
+
+ private Date submissionTime;
+ private Date expiration;
+ private Integer percentCompleted;
+ private Boolean finished;
+
+ private LineageRequestDTO request;
+ private LineageResultsDTO results;
+
+ /**
+ * The id of this lineage.
+ *
+ * @return
+ */
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ /**
+ * The uri for this lineage.
+ *
+ * @return
+ */
+ public String getUri() {
+ return uri;
+ }
+
+ public void setUri(String uri) {
+ this.uri = uri;
+ }
+
+ /**
+ * The id of the node in the cluster where this lineage originated.
+ *
+ * @return
+ */
+ public String getClusterNodeId() {
+ return clusterNodeId;
+ }
+
+ public void setClusterNodeId(String clusterNodeId) {
+ this.clusterNodeId = clusterNodeId;
+ }
+
+ /**
+ * The submission time for this lineage.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(TimestampAdapter.class)
+ public Date getSubmissionTime() {
+ return submissionTime;
+ }
+
+ public void setSubmissionTime(Date submissionTime) {
+ this.submissionTime = submissionTime;
+ }
+
+ /**
+ * The expiration of this lineage.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(TimestampAdapter.class)
+ public Date getExpiration() {
+ return expiration;
+ }
+
+ public void setExpiration(Date expiration) {
+ this.expiration = expiration;
+ }
+
+ /**
+ * Percent completed for this result.
+ *
+ * @return
+ */
+ public Integer getPercentCompleted() {
+ return percentCompleted;
+ }
+
+ public void setPercentCompleted(Integer percentCompleted) {
+ this.percentCompleted = percentCompleted;
+ }
+
+ /**
+ * Whether or not the request is finished running.
+ *
+ * @return
+ */
+ public Boolean getFinished() {
+ return finished;
+ }
+
+ public void setFinished(Boolean finished) {
+ this.finished = finished;
+ }
+
+ /**
+ * The lineage request.
+ *
+ * @return
+ */
+ public LineageRequestDTO getRequest() {
+ return request;
+ }
+
+ public void setRequest(LineageRequestDTO request) {
+ this.request = request;
+ }
+
+ /**
+ * The results of this lineage.
+ *
+ * @return
+ */
+ public LineageResultsDTO getResults() {
+ return results;
+ }
+
+ public void setResults(LineageResultsDTO results) {
+ this.results = results;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/lineage/LineageRequestDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/lineage/LineageRequestDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/lineage/LineageRequestDTO.java
new file mode 100644
index 0000000..23cf892
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/lineage/LineageRequestDTO.java
@@ -0,0 +1,88 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.provenance.lineage;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * Represents the request for lineage for a flowfile.
+ */
+@XmlType(name = "lineageRequest")
+public class LineageRequestDTO {
+
+ /**
+ * The type of this lineage request.
+ */
+ @XmlType(name = "lineageRequestType")
+ @XmlEnum
+ public enum LineageRequestType {
+
+ PARENTS,
+ CHILDREN,
+ FLOWFILE;
+ };
+
+ private Long eventId;
+ private LineageRequestType lineageRequestType;
+
+ private String uuid;
+
+ /**
+ * The event id that was used to generate this lineage.
+ *
+ * @return
+ */
+ public Long getEventId() {
+ return eventId;
+ }
+
+ public void setEventId(Long eventId) {
+ this.eventId = eventId;
+ }
+
+ /**
+ * The type of lineage request. Either 'PARENTS', 'CHILDREN', or 'FLOWFILE'.
+ * PARENTS will return the lineage for the flowfiles that are parents of the
+ * specified event. CHILDREN will return the lineage of for the flowfiles
+ * that are children of the specified event. FLOWFILE will return the
+ * lineage for the specified flowfile.
+ *
+ * @return
+ */
+ public LineageRequestType getLineageRequestType() {
+ return lineageRequestType;
+ }
+
+ public void setLineageRequestType(LineageRequestType lineageRequestType) {
+ this.lineageRequestType = lineageRequestType;
+ }
+
+ /**
+ * The uuid that was used to generate this lineage.
+ *
+ * @return
+ */
+ public String getUuid() {
+ return uuid;
+ }
+
+ public void setUuid(String uuid) {
+ this.uuid = uuid;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/lineage/LineageResultsDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/lineage/LineageResultsDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/lineage/LineageResultsDTO.java
new file mode 100644
index 0000000..77b6e7a
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/lineage/LineageResultsDTO.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.provenance.lineage;
+
+import java.util.List;
+import java.util.Set;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * Represents the lineage results.
+ */
+@XmlType(name = "lineage")
+public class LineageResultsDTO {
+
+ private Set<String> errors;
+
+ private List<ProvenanceNodeDTO> nodes;
+ private List<ProvenanceLinkDTO> links;
+
+ /**
+ * Any error messages.
+ *
+ * @return
+ */
+ public Set<String> getErrors() {
+ return errors;
+ }
+
+ public void setErrors(Set<String> errors) {
+ this.errors = errors;
+ }
+
+ /**
+ * The nodes.
+ *
+ * @return
+ */
+ public List<ProvenanceNodeDTO> getNodes() {
+ return nodes;
+ }
+
+ public void setNodes(List<ProvenanceNodeDTO> nodes) {
+ this.nodes = nodes;
+ }
+
+ /**
+ * The links.
+ *
+ * @return
+ */
+ public List<ProvenanceLinkDTO> getLinks() {
+ return links;
+ }
+
+ public void setLinks(List<ProvenanceLinkDTO> links) {
+ this.links = links;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/lineage/ProvenanceLinkDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/lineage/ProvenanceLinkDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/lineage/ProvenanceLinkDTO.java
new file mode 100644
index 0000000..f3bbcef
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/lineage/ProvenanceLinkDTO.java
@@ -0,0 +1,101 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.provenance.lineage;
+
+import java.util.Date;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import org.apache.nifi.web.api.dto.util.TimestampAdapter;
+
+/**
+ * A link between an event or flowfile within a provenance lineage.
+ */
+@XmlType(name = "provenanceLink")
+public class ProvenanceLinkDTO {
+
+ private String sourceId;
+ private String targetId;
+ private String flowFileUuid;
+ private Date timestamp;
+ private Long millis;
+
+ /**
+ * The source node id.
+ *
+ * @return
+ */
+ public String getSourceId() {
+ return sourceId;
+ }
+
+ public void setSourceId(String sourceId) {
+ this.sourceId = sourceId;
+ }
+
+ /**
+ * The target node id.
+ *
+ * @return
+ */
+ public String getTargetId() {
+ return targetId;
+ }
+
+ public void setTargetId(String targetId) {
+ this.targetId = targetId;
+ }
+
+ /**
+ * The flowfile uuid that traversed this link.
+ *
+ * @return
+ */
+ public String getFlowFileUuid() {
+ return flowFileUuid;
+ }
+
+ public void setFlowFileUuid(String flowFileUuid) {
+ this.flowFileUuid = flowFileUuid;
+ }
+
+ /**
+ * The timestamp of this link (based on the destination).
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(TimestampAdapter.class)
+ public Date getTimestamp() {
+ return timestamp;
+ }
+
+ public void setTimestamp(Date timestamp) {
+ this.timestamp = timestamp;
+ }
+
+ /**
+ * The number of millis since epoch.
+ *
+ * @return
+ */
+ public Long getMillis() {
+ return millis;
+ }
+
+ public void setMillis(Long millis) {
+ this.millis = millis;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/lineage/ProvenanceNodeDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/lineage/ProvenanceNodeDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/lineage/ProvenanceNodeDTO.java
new file mode 100644
index 0000000..c15c598
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/lineage/ProvenanceNodeDTO.java
@@ -0,0 +1,162 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.provenance.lineage;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+import org.apache.nifi.web.api.dto.util.TimestampAdapter;
+
+/**
+ * A node within a provenance lineage. May represent either an event or a
+ * flowfile.
+ */
+@XmlType(name = "provenanceNode")
+public class ProvenanceNodeDTO {
+
+ private String id;
+ private String flowFileUuid;
+ private List<String> parentUuids;
+ private List<String> childUuids;
+ private String clusterNodeIdentifier;
+ private String type;
+ private String eventType;
+ private Long millis;
+ private Date timestamp;
+
+ /**
+ * The id of the node.
+ *
+ * @return
+ */
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ /**
+ * The flowfile uuid for this provenance event.
+ *
+ * @return
+ */
+ public String getFlowFileUuid() {
+ return flowFileUuid;
+ }
+
+ public void setFlowFileUuid(String flowFileUuid) {
+ this.flowFileUuid = flowFileUuid;
+ }
+
+ /**
+ * The parent flowfile uuids for this provenance event.
+ *
+ * @return
+ */
+ public List<String> getParentUuids() {
+ return parentUuids;
+ }
+
+ public void setParentUuids(List<String> parentUuids) {
+ this.parentUuids = parentUuids;
+ }
+
+ /**
+ * The child flowfile uuids for this provenance event.
+ *
+ * @return
+ */
+ public List<String> getChildUuids() {
+ return childUuids;
+ }
+
+ public void setChildUuids(List<String> childUuids) {
+ this.childUuids = childUuids;
+ }
+
+ /**
+ * The node identifier that this event/flowfile originated from.
+ *
+ * @return
+ */
+ public String getClusterNodeIdentifier() {
+ return clusterNodeIdentifier;
+ }
+
+ public void setClusterNodeIdentifier(String clusterNodeIdentifier) {
+ this.clusterNodeIdentifier = clusterNodeIdentifier;
+ }
+
+ /**
+ * The type of node.
+ *
+ * @return
+ */
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ /**
+ * If this is an event node, this is the type of event.
+ *
+ * @return
+ */
+ public String getEventType() {
+ return eventType;
+ }
+
+ public void setEventType(String eventType) {
+ this.eventType = eventType;
+ }
+
+ /**
+ * The timestamp of this node.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(TimestampAdapter.class)
+ public Date getTimestamp() {
+ return timestamp;
+ }
+
+ public void setTimestamp(Date timestamp) {
+ this.timestamp = timestamp;
+ }
+
+ /**
+ * The number of millis since epoch.
+ *
+ * @return
+ */
+ public Long getMillis() {
+ return millis;
+ }
+
+ public void setMillis(Long millis) {
+ this.millis = millis;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/search/ComponentSearchResultDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/search/ComponentSearchResultDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/search/ComponentSearchResultDTO.java
new file mode 100644
index 0000000..83d7a91
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/search/ComponentSearchResultDTO.java
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.search;
+
+import java.util.List;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * The components that match a search performed on this NiFi.
+ */
+@XmlType(name = "componentSearchResult")
+public class ComponentSearchResultDTO {
+
+ private String id;
+ private String groupId;
+ private String name;
+ private List<String> matches;
+
+ /**
+ * The id of the component that matched.
+ *
+ * @return
+ */
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ /**
+ * The group id of the component that matched.
+ *
+ * @return
+ */
+ public String getGroupId() {
+ return groupId;
+ }
+
+ public void setGroupId(String groupId) {
+ this.groupId = groupId;
+ }
+
+ /**
+ * The name of the component that matched.
+ *
+ * @return
+ */
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * What matched the search string for this component.
+ *
+ * @return
+ */
+ public List<String> getMatches() {
+ return matches;
+ }
+
+ public void setMatches(List<String> matches) {
+ this.matches = matches;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/search/NodeSearchResultDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/search/NodeSearchResultDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/search/NodeSearchResultDTO.java
new file mode 100644
index 0000000..7c250ee
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/search/NodeSearchResultDTO.java
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.search;
+
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * A search result for a matching node.
+ */
+@XmlType(name = "nodeSearchResult")
+public class NodeSearchResultDTO {
+
+ private String id;
+ private String address;
+
+ /**
+ * The id of the node that was matched.
+ *
+ * @return
+ */
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ /**
+ * The address of the node that was matched.
+ *
+ * @return
+ */
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/search/SearchResultsDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/search/SearchResultsDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/search/SearchResultsDTO.java
new file mode 100644
index 0000000..212d4f2
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/search/SearchResultsDTO.java
@@ -0,0 +1,128 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.search;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * The results of a search on this NiFi.
+ */
+@XmlType(name = "searchResults")
+public class SearchResultsDTO {
+
+ private List<ComponentSearchResultDTO> processorResults = new ArrayList<>();
+ private List<ComponentSearchResultDTO> connectionResults = new ArrayList<>();
+ private List<ComponentSearchResultDTO> processGroupResults = new ArrayList<>();
+ private List<ComponentSearchResultDTO> inputPortResults = new ArrayList<>();
+ private List<ComponentSearchResultDTO> outputPortResults = new ArrayList<>();
+ private List<ComponentSearchResultDTO> remoteProcessGroupResults = new ArrayList<>();
+ private List<ComponentSearchResultDTO> funnelResults = new ArrayList<>();
+
+ /**
+ * The processors that matched the search.
+ *
+ * @return
+ */
+ public List<ComponentSearchResultDTO> getProcessorResults() {
+ return processorResults;
+ }
+
+ public void setProcessorResults(List<ComponentSearchResultDTO> processorResults) {
+ this.processorResults = processorResults;
+ }
+
+ /**
+ * The connections that matched the search.
+ *
+ * @return
+ */
+ public List<ComponentSearchResultDTO> getConnectionResults() {
+ return connectionResults;
+ }
+
+ public void setConnectionResults(List<ComponentSearchResultDTO> connectionResults) {
+ this.connectionResults = connectionResults;
+ }
+
+ /**
+ * The process group that matched the search.
+ *
+ * @return
+ */
+ public List<ComponentSearchResultDTO> getProcessGroupResults() {
+ return processGroupResults;
+ }
+
+ public void setProcessGroupResults(List<ComponentSearchResultDTO> processGroupResults) {
+ this.processGroupResults = processGroupResults;
+ }
+
+ /**
+ * The input ports that matched the search.
+ *
+ * @return
+ */
+ public List<ComponentSearchResultDTO> getInputPortResults() {
+ return inputPortResults;
+ }
+
+ /**
+ * The output ports that matched the search.
+ *
+ * @return
+ */
+ public List<ComponentSearchResultDTO> getOutputPortResults() {
+ return outputPortResults;
+ }
+
+ public void setInputPortResults(List<ComponentSearchResultDTO> inputPortResults) {
+ this.inputPortResults = inputPortResults;
+ }
+
+ public void setOutputPortResults(List<ComponentSearchResultDTO> outputPortResults) {
+ this.outputPortResults = outputPortResults;
+ }
+
+ /**
+ * The remote process groups that matched the search.
+ *
+ * @return
+ */
+ public List<ComponentSearchResultDTO> getRemoteProcessGroupResults() {
+ return remoteProcessGroupResults;
+ }
+
+ public void setRemoteProcessGroupResults(List<ComponentSearchResultDTO> remoteProcessGroupResults) {
+ this.remoteProcessGroupResults = remoteProcessGroupResults;
+ }
+
+ /**
+ * The funnels that matched the search.
+ *
+ * @return
+ */
+ public List<ComponentSearchResultDTO> getFunnelResults() {
+ return funnelResults;
+ }
+
+ public void setFunnelResults(List<ComponentSearchResultDTO> funnelResults) {
+ this.funnelResults = funnelResults;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/search/UserGroupSearchResultDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/search/UserGroupSearchResultDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/search/UserGroupSearchResultDTO.java
new file mode 100644
index 0000000..ab5636d
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/search/UserGroupSearchResultDTO.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.search;
+
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * A search result for a matching user group.
+ */
+@XmlType(name = "userGroupSearchResult")
+public class UserGroupSearchResultDTO {
+
+ private String group;
+
+ /**
+ * The name of the group that matched.
+ *
+ * @return
+ */
+ public String getGroup() {
+ return group;
+ }
+
+ public void setGroup(String group) {
+ this.group = group;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/search/UserSearchResultDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/search/UserSearchResultDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/search/UserSearchResultDTO.java
new file mode 100644
index 0000000..9402eeb
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/search/UserSearchResultDTO.java
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.search;
+
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * A search result for a matching user.
+ */
+@XmlType(name = "userSearchResult")
+public class UserSearchResultDTO {
+
+ private String userName;
+ private String userDn;
+
+ /**
+ * The dn of the user that matched.
+ *
+ * @return
+ */
+ public String getUserDn() {
+ return userDn;
+ }
+
+ public void setUserDn(String userDn) {
+ this.userDn = userDn;
+ }
+
+ /**
+ * The username of user that matched.
+ *
+ * @return
+ */
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterConnectionStatusDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterConnectionStatusDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterConnectionStatusDTO.java
new file mode 100644
index 0000000..f0e11d6
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterConnectionStatusDTO.java
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.status;
+
+import java.util.Collection;
+import java.util.Date;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import org.apache.nifi.web.api.dto.util.TimeAdapter;
+
+/**
+ * DTO for serializing the a connection's status across the cluster.
+ */
+@XmlType(name = "clusterConnectionStatus")
+public class ClusterConnectionStatusDTO {
+
+ private Collection<NodeConnectionStatusDTO> nodeConnectionStatus;
+ private Date statsLastRefreshed;
+ private String connectionId;
+ private String connectionName;
+
+ /**
+ * The time the status were last refreshed.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(TimeAdapter.class)
+ public Date getStatsLastRefreshed() {
+ return statsLastRefreshed;
+ }
+
+ public void setStatsLastRefreshed(Date statsLastRefreshed) {
+ this.statsLastRefreshed = statsLastRefreshed;
+ }
+
+ /**
+ * The connection id.
+ *
+ * @return
+ */
+ public String getConnectionId() {
+ return connectionId;
+ }
+
+ public void setConnectionId(String connectionId) {
+ this.connectionId = connectionId;
+ }
+
+ /**
+ * The connection name.
+ *
+ * @return
+ */
+ public String getConnectionName() {
+ return connectionName;
+ }
+
+ public void setConnectionName(String connectionName) {
+ this.connectionName = connectionName;
+ }
+
+ /**
+ * Collection of node connection status DTO.
+ *
+ * @return The collection of node connection status DTO
+ */
+ public Collection<NodeConnectionStatusDTO> getNodeConnectionStatus() {
+ return nodeConnectionStatus;
+ }
+
+ public void setNodeConnectionStatus(Collection<NodeConnectionStatusDTO> nodeConnectionStatus) {
+ this.nodeConnectionStatus = nodeConnectionStatus;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterPortStatusDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterPortStatusDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterPortStatusDTO.java
new file mode 100644
index 0000000..4d7fa4d
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterPortStatusDTO.java
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.status;
+
+import java.util.Collection;
+import java.util.Date;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import org.apache.nifi.web.api.dto.util.TimeAdapter;
+
+/**
+ * DTO for serializing the a port's status across the cluster.
+ */
+@XmlType(name = "clusterPortStatus")
+public class ClusterPortStatusDTO {
+
+ private Collection<NodePortStatusDTO> nodePortStatus;
+ private Date statsLastRefreshed;
+ private String portId;
+ private String portName;
+
+ /**
+ * The time the status was last refreshed.
+ *
+ * @return the time the status were last refreshed
+ */
+ @XmlJavaTypeAdapter(TimeAdapter.class)
+ public Date getStatsLastRefreshed() {
+ return statsLastRefreshed;
+ }
+
+ public void setStatsLastRefreshed(Date statsLastRefreshed) {
+ this.statsLastRefreshed = statsLastRefreshed;
+ }
+
+ /**
+ * The port status from each node in the cluster.
+ *
+ * @return
+ */
+ public Collection<NodePortStatusDTO> getNodePortStatus() {
+ return nodePortStatus;
+ }
+
+ public void setNodePortStatus(Collection<NodePortStatusDTO> nodePortStatus) {
+ this.nodePortStatus = nodePortStatus;
+ }
+
+ /**
+ * The port id.
+ *
+ * @return
+ */
+ public String getPortId() {
+ return portId;
+ }
+
+ public void setPortId(String portId) {
+ this.portId = portId;
+ }
+
+ /**
+ * The port name.
+ *
+ * @return
+ */
+ public String getPortName() {
+ return portName;
+ }
+
+ public void setPortName(String portName) {
+ this.portName = portName;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterProcessorStatusDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterProcessorStatusDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterProcessorStatusDTO.java
new file mode 100644
index 0000000..b9f45f2
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterProcessorStatusDTO.java
@@ -0,0 +1,117 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.status;
+
+import java.util.Collection;
+import java.util.Date;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import org.apache.nifi.web.api.dto.util.TimeAdapter;
+
+/**
+ * DTO for serializing the a processor's status across the cluster.
+ */
+@XmlType(name = "clusterProcessorStatus")
+public class ClusterProcessorStatusDTO {
+
+ private Collection<NodeProcessorStatusDTO> nodeProcessorStatus;
+ private Date statsLastRefreshed;
+ private String processorId;
+ private String processorName;
+ private String processorType;
+ private String processorRunStatus;
+
+ /**
+ * The time the status were last refreshed.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(TimeAdapter.class)
+ public Date getStatsLastRefreshed() {
+ return statsLastRefreshed;
+ }
+
+ public void setStatsLastRefreshed(Date statsLastRefreshed) {
+ this.statsLastRefreshed = statsLastRefreshed;
+ }
+
+ /**
+ * The processor id.
+ *
+ * @return
+ */
+ public String getProcessorId() {
+ return processorId;
+ }
+
+ public void setProcessorId(String processorId) {
+ this.processorId = processorId;
+ }
+
+ /**
+ * The processor name.
+ *
+ * @return
+ */
+ public String getProcessorName() {
+ return processorName;
+ }
+
+ public void setProcessorName(String processorName) {
+ this.processorName = processorName;
+ }
+
+ /**
+ * The processor type.
+ *
+ * @return
+ */
+ public String getProcessorType() {
+ return processorType;
+ }
+
+ public void setProcessorType(String processorType) {
+ this.processorType = processorType;
+ }
+
+ /**
+ * The processor run status.
+ *
+ * @return
+ */
+ public String getProcessorRunStatus() {
+ return processorRunStatus;
+ }
+
+ public void setProcessorRunStatus(String runStatus) {
+ this.processorRunStatus = runStatus;
+ }
+
+ /**
+ * Collection of node processor status DTO.
+ *
+ * @return The collection of node processor status DTO
+ */
+ public Collection<NodeProcessorStatusDTO> getNodeProcessorStatus() {
+ return nodeProcessorStatus;
+ }
+
+ public void setNodeProcessorStatus(Collection<NodeProcessorStatusDTO> nodeProcessorStatus) {
+ this.nodeProcessorStatus = nodeProcessorStatus;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterRemoteProcessGroupStatusDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterRemoteProcessGroupStatusDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterRemoteProcessGroupStatusDTO.java
new file mode 100644
index 0000000..d6b26d4
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterRemoteProcessGroupStatusDTO.java
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.status;
+
+import java.util.Collection;
+import java.util.Date;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import org.apache.nifi.web.api.dto.util.TimeAdapter;
+
+/**
+ * DTO for serializing the a remote process group's status across the cluster.
+ */
+@XmlType(name = "clusterRemoteProcessGroupStatus")
+public class ClusterRemoteProcessGroupStatusDTO {
+
+ private Collection<NodeRemoteProcessGroupStatusDTO> nodeRemoteProcessGroupStatus;
+ private Date statsLastRefreshed;
+ private String remoteProcessGroupId;
+ private String remoteProcessGroupName;
+
+ /**
+ * The time the status was last refreshed.
+ *
+ * @return the time the status were last refreshed
+ */
+ @XmlJavaTypeAdapter(TimeAdapter.class)
+ public Date getStatsLastRefreshed() {
+ return statsLastRefreshed;
+ }
+
+ public void setStatsLastRefreshed(Date statsLastRefreshed) {
+ this.statsLastRefreshed = statsLastRefreshed;
+ }
+
+ /**
+ * The remote process group status from each node in the cluster.
+ *
+ * @return
+ */
+ public Collection<NodeRemoteProcessGroupStatusDTO> getNodeRemoteProcessGroupStatus() {
+ return nodeRemoteProcessGroupStatus;
+ }
+
+ public void setNodeRemoteProcessGroupStatus(Collection<NodeRemoteProcessGroupStatusDTO> nodeRemoteProcessGroupStatus) {
+ this.nodeRemoteProcessGroupStatus = nodeRemoteProcessGroupStatus;
+ }
+
+ /**
+ * The remote process group id.
+ *
+ * @return
+ */
+ public String getRemoteProcessGroupId() {
+ return remoteProcessGroupId;
+ }
+
+ public void setRemoteProcessGroupId(String remoteProcessGroupId) {
+ this.remoteProcessGroupId = remoteProcessGroupId;
+ }
+
+ /**
+ * The remote process group name.
+ *
+ * @return
+ */
+ public String getRemoteProcessGroupName() {
+ return remoteProcessGroupName;
+ }
+
+ public void setRemoteProcessGroupName(String remoteProcessGroupName) {
+ this.remoteProcessGroupName = remoteProcessGroupName;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterStatusDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterStatusDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterStatusDTO.java
new file mode 100644
index 0000000..d833991
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterStatusDTO.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.status;
+
+import java.util.Collection;
+
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * DTO for serializing the controller status.
+ */
+@XmlType(name = "clusterStatus")
+public class ClusterStatusDTO {
+
+ private Collection<NodeStatusDTO> nodeStatus;
+
+ /**
+ * The collection of the node status DTOs.
+ *
+ * @return
+ */
+ public Collection<NodeStatusDTO> getNodeStatus() {
+ return nodeStatus;
+ }
+
+ public void setNodeStatus(Collection<NodeStatusDTO> nodeStatus) {
+ this.nodeStatus = nodeStatus;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterStatusHistoryDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterStatusHistoryDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterStatusHistoryDTO.java
new file mode 100644
index 0000000..31a9948
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ClusterStatusHistoryDTO.java
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.status;
+
+import java.util.Collection;
+import java.util.Date;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import org.apache.nifi.web.api.dto.util.TimeAdapter;
+
+/**
+ * DTO for serializing the a status history across the cluster.
+ */
+@XmlType(name = "clusterStatusHistory")
+public class ClusterStatusHistoryDTO {
+
+ private Collection<NodeStatusHistoryDTO> nodeStatusHistory;
+ private StatusHistoryDTO clusterStatusHistory;
+ private Date generated;
+
+ /**
+ * When this status history was generated.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(TimeAdapter.class)
+ public Date getGenerated() {
+ return generated;
+ }
+
+ public void setGenerated(Date generated) {
+ this.generated = generated;
+ }
+
+ /**
+ * The status history from each node in the cluster.
+ *
+ * @return
+ */
+ public Collection<NodeStatusHistoryDTO> getNodeStatusHistory() {
+ return nodeStatusHistory;
+ }
+
+ public void setNodeStatusHistory(Collection<NodeStatusHistoryDTO> nodeStatusHistory) {
+ this.nodeStatusHistory = nodeStatusHistory;
+ }
+
+ /**
+ * The status history for this component across the entire cluster.
+ *
+ * @return
+ */
+ public StatusHistoryDTO getClusterStatusHistory() {
+ return clusterStatusHistory;
+ }
+
+ public void setClusterStatusHistory(StatusHistoryDTO clusterStatusHistory) {
+ this.clusterStatusHistory = clusterStatusHistory;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ConnectionStatusDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ConnectionStatusDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ConnectionStatusDTO.java
new file mode 100644
index 0000000..387cce5
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ConnectionStatusDTO.java
@@ -0,0 +1,198 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.status;
+
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * DTO for serializing the status of a connection.
+ */
+@XmlType(name = "connectionStatus")
+public class ConnectionStatusDTO {
+
+ private String id;
+ private String groupId;
+ private String name;
+ private String input;
+ private String queuedCount;
+ private String queuedSize;
+ private String queued;
+ private String output;
+
+ private String sourceId;
+ private String sourceName;
+ private String destinationId;
+ private String destinationName;
+
+ /* getters / setters */
+ /**
+ * The id for the connection.
+ *
+ * @return The connection id
+ */
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ /**
+ * The ID of the Process Group to which this processor belongs.
+ *
+ * @return the ID of the Process Group to which this processor belongs.
+ */
+ public String getGroupId() {
+ return groupId;
+ }
+
+ public void setGroupId(final String groupId) {
+ this.groupId = groupId;
+ }
+
+ /**
+ * The name of this connection.
+ *
+ * @return
+ */
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * The total count of flow files that are queued.
+ *
+ * @return
+ */
+ public String getQueuedCount() {
+ return queuedCount;
+ }
+
+ public void setQueuedCount(String queuedCount) {
+ this.queuedCount = queuedCount;
+ }
+
+ /**
+ * The total size of flow files that are queued.
+ *
+ * @return
+ */
+ public String getQueuedSize() {
+ return queuedSize;
+ }
+
+ public void setQueuedSize(String queuedSize) {
+ this.queuedSize = queuedSize;
+ }
+
+ /**
+ * The total count and size of flow files that are queued.
+ *
+ * @return The total count and size of queued flow files
+ */
+ public String getQueued() {
+ return queued;
+ }
+
+ public void setQueued(String queued) {
+ this.queued = queued;
+ }
+
+ /**
+ * The id of the source of this connection.
+ *
+ * @return
+ */
+ public String getSourceId() {
+ return sourceId;
+ }
+
+ public void setSourceId(String sourceId) {
+ this.sourceId = sourceId;
+ }
+
+ /**
+ * The name of the source of this connection.
+ *
+ * @return
+ */
+ public String getSourceName() {
+ return sourceName;
+ }
+
+ public void setSourceName(String sourceName) {
+ this.sourceName = sourceName;
+ }
+
+ /**
+ * The id of the destination of this connection.
+ *
+ * @return
+ */
+ public String getDestinationId() {
+ return destinationId;
+ }
+
+ public void setDestinationId(String destinationId) {
+ this.destinationId = destinationId;
+ }
+
+ /**
+ * The name of the destination of this connection.
+ *
+ * @return
+ */
+ public String getDestinationName() {
+ return destinationName;
+ }
+
+ public void setDestinationName(String destinationName) {
+ this.destinationName = destinationName;
+ }
+
+ /**
+ * The input for this connection.
+ *
+ * @return
+ */
+ public String getInput() {
+ return input;
+ }
+
+ public void setInput(String input) {
+ this.input = input;
+ }
+
+ /**
+ * The output for this connection.
+ *
+ * @return
+ */
+ public String getOutput() {
+ return output;
+ }
+
+ public void setOutput(String output) {
+ this.output = output;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ControllerStatusDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ControllerStatusDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ControllerStatusDTO.java
new file mode 100644
index 0000000..9e063e4
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/ControllerStatusDTO.java
@@ -0,0 +1,187 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.status;
+
+import java.util.List;
+import javax.xml.bind.annotation.XmlType;
+import org.apache.nifi.web.api.dto.BulletinDTO;
+
+/**
+ * The status of this NiFi controller.
+ */
+@XmlType(name = "controllerStatus")
+public class ControllerStatusDTO {
+
+ private Integer activeThreadCount;
+ private String queued;
+ private String connectedNodes;
+ private Boolean hasPendingAccounts;
+
+ private Integer runningCount;
+ private Integer stoppedCount;
+ private Integer invalidCount;
+ private Integer disabledCount;
+ private Integer activeRemotePortCount;
+ private Integer inactiveRemotePortCount;
+
+ private List<BulletinDTO> bulletins;
+
+ /**
+ * The active thread count.
+ *
+ * @return The active thread count
+ */
+ public Integer getActiveThreadCount() {
+ return activeThreadCount;
+ }
+
+ public void setActiveThreadCount(Integer activeThreadCount) {
+ this.activeThreadCount = activeThreadCount;
+ }
+
+ /**
+ * The queue for the controller.
+ *
+ * @return
+ */
+ public String getQueued() {
+ return queued;
+ }
+
+ public void setQueued(String queued) {
+ this.queued = queued;
+ }
+
+ /**
+ * Used in clustering, will report the number of nodes connected vs the
+ * number of nodes in the cluster.
+ *
+ * @return
+ */
+ public String getConnectedNodes() {
+ return connectedNodes;
+ }
+
+ public void setConnectedNodes(String connectedNodes) {
+ this.connectedNodes = connectedNodes;
+ }
+
+ /**
+ * System bulletins to be reported to the user.
+ *
+ * @return
+ */
+ public List<BulletinDTO> getBulletins() {
+ return bulletins;
+ }
+
+ public void setBulletins(List<BulletinDTO> bulletins) {
+ this.bulletins = bulletins;
+ }
+
+ /**
+ * Whether or not there are pending user requests.
+ *
+ * @return
+ */
+ public Boolean getHasPendingAccounts() {
+ return hasPendingAccounts;
+ }
+
+ public void setHasPendingAccounts(Boolean hasPendingAccounts) {
+ this.hasPendingAccounts = hasPendingAccounts;
+ }
+
+ /**
+ * The number of running components in this controller.
+ *
+ * @return
+ */
+ public Integer getRunningCount() {
+ return runningCount;
+ }
+
+ public void setRunningCount(Integer runningCount) {
+ this.runningCount = runningCount;
+ }
+
+ /**
+ * The number of stopped components in this controller.
+ *
+ * @return
+ */
+ public Integer getStoppedCount() {
+ return stoppedCount;
+ }
+
+ public void setStoppedCount(Integer stoppedCount) {
+ this.stoppedCount = stoppedCount;
+ }
+
+ /**
+ * The number of invalid components in this controller.
+ *
+ * @return
+ */
+ public Integer getInvalidCount() {
+ return invalidCount;
+ }
+
+ public void setInvalidCount(Integer invalidCount) {
+ this.invalidCount = invalidCount;
+ }
+
+ /**
+ * The number of disabled components in this controller.
+ *
+ * @return
+ */
+ public Integer getDisabledCount() {
+ return disabledCount;
+ }
+
+ public void setDisabledCount(Integer disabledCount) {
+ this.disabledCount = disabledCount;
+ }
+
+ /**
+ * The number of active remote ports in this controller.
+ *
+ * @return
+ */
+ public Integer getActiveRemotePortCount() {
+ return activeRemotePortCount;
+ }
+
+ public void setActiveRemotePortCount(Integer activeRemotePortCount) {
+ this.activeRemotePortCount = activeRemotePortCount;
+ }
+
+ /**
+ * The number of inactive remote ports in this controller.
+ *
+ * @return
+ */
+ public Integer getInactiveRemotePortCount() {
+ return inactiveRemotePortCount;
+ }
+
+ public void setInactiveRemotePortCount(Integer inactiveRemotePortCount) {
+ this.inactiveRemotePortCount = inactiveRemotePortCount;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodeConnectionStatusDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodeConnectionStatusDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodeConnectionStatusDTO.java
new file mode 100644
index 0000000..f7cba44
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodeConnectionStatusDTO.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.status;
+
+import javax.xml.bind.annotation.XmlType;
+import org.apache.nifi.web.api.dto.NodeDTO;
+
+/**
+ * DTO for serializing the connection status for a particular node.
+ */
+@XmlType(name = "nodeConnectionStatus")
+public class NodeConnectionStatusDTO {
+
+ private NodeDTO node;
+ private ConnectionStatusDTO connectionStatus;
+
+ /**
+ * The node.
+ *
+ * @return
+ */
+ public NodeDTO getNode() {
+ return node;
+ }
+
+ public void setNode(NodeDTO node) {
+ this.node = node;
+ }
+
+ /**
+ * The connection's status.
+ *
+ * @return
+ */
+ public ConnectionStatusDTO getConnectionStatus() {
+ return connectionStatus;
+ }
+
+ public void setConnectionStatus(ConnectionStatusDTO connectionStatus) {
+ this.connectionStatus = connectionStatus;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodePortStatusDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodePortStatusDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodePortStatusDTO.java
new file mode 100644
index 0000000..93d89ac
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodePortStatusDTO.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.status;
+
+import javax.xml.bind.annotation.XmlType;
+import org.apache.nifi.web.api.dto.NodeDTO;
+
+/**
+ * DTO for serializing the port status for a particular node.
+ */
+@XmlType(name = "nodePortStatus")
+public class NodePortStatusDTO {
+
+ private NodeDTO node;
+ private PortStatusDTO portStatus;
+
+ /**
+ * The node.
+ *
+ * @return
+ */
+ public NodeDTO getNode() {
+ return node;
+ }
+
+ public void setNode(NodeDTO node) {
+ this.node = node;
+ }
+
+ /**
+ * The port's status.
+ *
+ * @return
+ */
+ public PortStatusDTO getPortStatus() {
+ return portStatus;
+ }
+
+ public void setPortStatus(PortStatusDTO portStatus) {
+ this.portStatus = portStatus;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodeProcessorStatusDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodeProcessorStatusDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodeProcessorStatusDTO.java
new file mode 100644
index 0000000..afff4b1
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodeProcessorStatusDTO.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.status;
+
+import javax.xml.bind.annotation.XmlType;
+import org.apache.nifi.web.api.dto.NodeDTO;
+
+/**
+ * DTO for serializing the processor status for a particular node.
+ */
+@XmlType(name = "nodeProcessorStatus")
+public class NodeProcessorStatusDTO {
+
+ private NodeDTO node;
+ private ProcessorStatusDTO processorStatus;
+
+ /**
+ * The node.
+ *
+ * @return
+ */
+ public NodeDTO getNode() {
+ return node;
+ }
+
+ public void setNode(NodeDTO node) {
+ this.node = node;
+ }
+
+ /**
+ * The processor's status.
+ *
+ * @return
+ */
+ public ProcessorStatusDTO getProcessorStatus() {
+ return processorStatus;
+ }
+
+ public void setProcessorStatus(ProcessorStatusDTO processorStatus) {
+ this.processorStatus = processorStatus;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodeRemoteProcessGroupStatusDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodeRemoteProcessGroupStatusDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodeRemoteProcessGroupStatusDTO.java
new file mode 100644
index 0000000..03923bf
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodeRemoteProcessGroupStatusDTO.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.status;
+
+import javax.xml.bind.annotation.XmlType;
+import org.apache.nifi.web.api.dto.NodeDTO;
+
+/**
+ * DTO for serializing the remote process group status for a particular node.
+ */
+@XmlType(name = "nodeRemoteProcessGroupStatus")
+public class NodeRemoteProcessGroupStatusDTO {
+
+ private NodeDTO node;
+ private RemoteProcessGroupStatusDTO remoteProcessGroupStatus;
+
+ /**
+ * The node.
+ *
+ * @return
+ */
+ public NodeDTO getNode() {
+ return node;
+ }
+
+ public void setNode(NodeDTO node) {
+ this.node = node;
+ }
+
+ /**
+ * The remote process group's status.
+ *
+ * @return
+ */
+ public RemoteProcessGroupStatusDTO getRemoteProcessGroupStatus() {
+ return remoteProcessGroupStatus;
+ }
+
+ public void setRemoteProcessGroupStatus(RemoteProcessGroupStatusDTO remoteProcessGroupStatus) {
+ this.remoteProcessGroupStatus = remoteProcessGroupStatus;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodeStatusDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodeStatusDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodeStatusDTO.java
new file mode 100644
index 0000000..03647cd
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodeStatusDTO.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.status;
+
+import javax.xml.bind.annotation.XmlType;
+import org.apache.nifi.web.api.dto.NodeDTO;
+
+/**
+ * DTO for serializing the node status.
+ */
+@XmlType(name = "nodeStatus")
+public class NodeStatusDTO {
+
+ private NodeDTO node;
+ private ProcessGroupStatusDTO controllerStatus;
+
+ /**
+ * The node.
+ *
+ * @return
+ */
+ public NodeDTO getNode() {
+ return node;
+ }
+
+ public void setNode(NodeDTO node) {
+ this.node = node;
+ }
+
+ /**
+ * The controller status.
+ *
+ * @return
+ */
+ public ProcessGroupStatusDTO getControllerStatus() {
+ return controllerStatus;
+ }
+
+ public void setControllerStatus(ProcessGroupStatusDTO controllerStatus) {
+ this.controllerStatus = controllerStatus;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/4d998c12/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodeStatusHistoryDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodeStatusHistoryDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodeStatusHistoryDTO.java
new file mode 100644
index 0000000..c8b05f3
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/status/NodeStatusHistoryDTO.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.nifi.web.api.dto.status;
+
+import javax.xml.bind.annotation.XmlType;
+import org.apache.nifi.web.api.dto.NodeDTO;
+
+/**
+ * DTO for serializing the status history for a particular node.
+ */
+@XmlType(name = "nodeStatusHistory")
+public class NodeStatusHistoryDTO {
+
+ private NodeDTO node;
+ private StatusHistoryDTO statusHistory;
+
+ /**
+ * The node.
+ *
+ * @return
+ */
+ public NodeDTO getNode() {
+ return node;
+ }
+
+ public void setNode(NodeDTO node) {
+ this.node = node;
+ }
+
+ /**
+ * The processor status history.
+ *
+ * @return
+ */
+ public StatusHistoryDTO getStatusHistory() {
+ return statusHistory;
+ }
+
+ public void setStatusHistory(StatusHistoryDTO statusHistory) {
+ this.statusHistory = statusHistory;
+ }
+
+}