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:46 UTC
[23/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/SystemDiagnosticsDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/SystemDiagnosticsDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/SystemDiagnosticsDTO.java
new file mode 100644
index 0000000..0b20852
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/SystemDiagnosticsDTO.java
@@ -0,0 +1,461 @@
+/*
+ * 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;
+
+import java.util.Date;
+import java.util.Set;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import org.apache.nifi.web.api.dto.util.TimeAdapter;
+
+/**
+ * The diagnostics of the system this NiFi is running on.
+ */
+@XmlType(name = "systemDiagnostics")
+public class SystemDiagnosticsDTO {
+
+ private String totalNonHeap;
+ private String usedNonHeap;
+ private String freeNonHeap;
+ private String maxNonHeap;
+ private String nonHeapUtilization;
+
+ private String totalHeap;
+ private String usedHeap;
+ private String freeHeap;
+ private String maxHeap;
+ private String heapUtilization;
+
+ private Integer availableProcessors;
+ private Double processorLoadAverage;
+
+ private Integer totalThreads;
+ private Integer daemonThreads;
+
+ private StorageUsageDTO flowFileRepositoryStorageUsage;
+ private Set<StorageUsageDTO> contentRepositoryStorageUsage;
+ private Set<GarbageCollectionDTO> garbageCollection;
+
+ private Date statsLastRefreshed;
+
+ /* getters / setters */
+ /**
+ * The number of available processors, if supported.
+ *
+ * @return
+ */
+ public Integer getAvailableProcessors() {
+ return availableProcessors;
+ }
+
+ public void setAvailableProcessors(Integer availableProcessors) {
+ this.availableProcessors = availableProcessors;
+ }
+
+ /**
+ * The number of daemon threads.
+ *
+ * @return
+ */
+ public Integer getDaemonThreads() {
+ return daemonThreads;
+ }
+
+ public void setDaemonThreads(Integer daemonThreads) {
+ this.daemonThreads = daemonThreads;
+ }
+
+ /**
+ * The amount of free heap.
+ *
+ * @return
+ */
+ public String getFreeHeap() {
+ return freeHeap;
+ }
+
+ public void setFreeHeap(String freeHeap) {
+ this.freeHeap = freeHeap;
+ }
+
+ /**
+ * The amount of free non-heap.
+ *
+ * @return
+ */
+ public String getFreeNonHeap() {
+ return freeNonHeap;
+ }
+
+ public void setFreeNonHeap(String freeNonHeap) {
+ this.freeNonHeap = freeNonHeap;
+ }
+
+ /**
+ * The max size of the heap.
+ *
+ * @return
+ */
+ public String getMaxHeap() {
+ return maxHeap;
+ }
+
+ public void setMaxHeap(String maxHeap) {
+ this.maxHeap = maxHeap;
+ }
+
+ /**
+ * The max size of the non-heap.
+ *
+ * @return
+ */
+ public String getMaxNonHeap() {
+ return maxNonHeap;
+ }
+
+ public void setMaxNonHeap(String maxNonHeap) {
+ this.maxNonHeap = maxNonHeap;
+ }
+
+ /**
+ * The processor load average, if supported.
+ *
+ * @return
+ */
+ public Double getProcessorLoadAverage() {
+ return processorLoadAverage;
+ }
+
+ public void setProcessorLoadAverage(Double processorLoadAverage) {
+ this.processorLoadAverage = processorLoadAverage;
+ }
+
+ /**
+ * The total size of the heap.
+ *
+ * @return
+ */
+ public String getTotalHeap() {
+ return totalHeap;
+ }
+
+ public void setTotalHeap(String totalHeap) {
+ this.totalHeap = totalHeap;
+ }
+
+ /**
+ * The total size of non-heap.
+ *
+ * @return
+ */
+ public String getTotalNonHeap() {
+ return totalNonHeap;
+ }
+
+ public void setTotalNonHeap(String totalNonHeap) {
+ this.totalNonHeap = totalNonHeap;
+ }
+
+ /**
+ * The total number of threads.
+ *
+ * @return
+ */
+ public Integer getTotalThreads() {
+ return totalThreads;
+ }
+
+ public void setTotalThreads(Integer totalThreads) {
+ this.totalThreads = totalThreads;
+ }
+
+ /**
+ * The amount of used heap.
+ *
+ * @return
+ */
+ public String getUsedHeap() {
+ return usedHeap;
+ }
+
+ public void setUsedHeap(String usedHeap) {
+ this.usedHeap = usedHeap;
+ }
+
+ /**
+ * The amount of used non-heap.
+ *
+ * @return
+ */
+ public String getUsedNonHeap() {
+ return usedNonHeap;
+ }
+
+ public void setUsedNonHeap(String usedNonHeap) {
+ this.usedNonHeap = usedNonHeap;
+ }
+
+ /**
+ * The heap utilization.
+ *
+ * @return
+ */
+ public String getHeapUtilization() {
+ return heapUtilization;
+ }
+
+ public void setHeapUtilization(String heapUtilization) {
+ this.heapUtilization = heapUtilization;
+ }
+
+ /**
+ * The non-heap utilization.
+ *
+ * @return
+ */
+ public String getNonHeapUtilization() {
+ return nonHeapUtilization;
+ }
+
+ public void setNonHeapUtilization(String nonHeapUsage) {
+ this.nonHeapUtilization = nonHeapUsage;
+ }
+
+ /**
+ * The content repository storage usage.
+ *
+ * @return
+ */
+ public Set<StorageUsageDTO> getContentRepositoryStorageUsage() {
+ return contentRepositoryStorageUsage;
+ }
+
+ public void setContentRepositoryStorageUsage(Set<StorageUsageDTO> contentRepositoryStorageUsage) {
+ this.contentRepositoryStorageUsage = contentRepositoryStorageUsage;
+ }
+
+ /**
+ * The flowfile repository storage usage.
+ *
+ * @return
+ */
+ public StorageUsageDTO getFlowFileRepositoryStorageUsage() {
+ return flowFileRepositoryStorageUsage;
+ }
+
+ public void setFlowFileRepositoryStorageUsage(StorageUsageDTO flowFileRepositoryStorageUsage) {
+ this.flowFileRepositoryStorageUsage = flowFileRepositoryStorageUsage;
+ }
+
+ /**
+ * Garbage collection details.
+ *
+ * @return
+ */
+ public Set<GarbageCollectionDTO> getGarbageCollection() {
+ return garbageCollection;
+ }
+
+ public void setGarbageCollection(Set<GarbageCollectionDTO> garbageCollection) {
+ this.garbageCollection = garbageCollection;
+ }
+
+ /**
+ * When these diagnostics were generated.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(TimeAdapter.class)
+ public Date getStatsLastRefreshed() {
+ return statsLastRefreshed;
+ }
+
+ public void setStatsLastRefreshed(Date statsLastRefreshed) {
+ this.statsLastRefreshed = statsLastRefreshed;
+ }
+
+ /**
+ * Details of storage usage.
+ */
+ @XmlType(name = "storageUsage")
+ public static class StorageUsageDTO {
+
+ private String identifier;
+ private String freeSpace;
+ private String totalSpace;
+ private String usedSpace;
+ private Long freeSpaceBytes;
+ private Long totalSpaceBytes;
+ private Long usedSpaceBytes;
+ private String utilization;
+
+ /**
+ * The identifier for this storage location.
+ *
+ * @return
+ */
+ public String getIdentifier() {
+ return identifier;
+ }
+
+ public void setIdentifier(String identifier) {
+ this.identifier = identifier;
+ }
+
+ /**
+ * The amount of free space.
+ *
+ * @return
+ */
+ public String getFreeSpace() {
+ return freeSpace;
+ }
+
+ public void setFreeSpace(String freeSpace) {
+ this.freeSpace = freeSpace;
+ }
+
+ /**
+ * The amount of total space.
+ *
+ * @param freeSpace
+ */
+ public String getTotalSpace() {
+ return totalSpace;
+ }
+
+ public void setTotalSpace(String totalSpace) {
+ this.totalSpace = totalSpace;
+ }
+
+ /**
+ * The amount of used space.
+ *
+ * @return
+ */
+ public String getUsedSpace() {
+ return usedSpace;
+ }
+
+ public void setUsedSpace(String usedSpace) {
+ this.usedSpace = usedSpace;
+ }
+
+ /**
+ * The utilization of this storage location.
+ *
+ * @return
+ */
+ public String getUtilization() {
+ return utilization;
+ }
+
+ public void setUtilization(String utilization) {
+ this.utilization = utilization;
+ }
+
+ /**
+ * The number of bytes of free space.
+ *
+ * @return
+ */
+ public Long getFreeSpaceBytes() {
+ return freeSpaceBytes;
+ }
+
+ public void setFreeSpaceBytes(Long freeSpaceBytes) {
+ this.freeSpaceBytes = freeSpaceBytes;
+ }
+
+ /**
+ * The number of bytes of total space.
+ *
+ * @return
+ */
+ public Long getTotalSpaceBytes() {
+ return totalSpaceBytes;
+ }
+
+ public void setTotalSpaceBytes(Long totalSpaceBytes) {
+ this.totalSpaceBytes = totalSpaceBytes;
+ }
+
+ /**
+ * The number of bytes of used space.
+ *
+ * @return
+ */
+ public Long getUsedSpaceBytes() {
+ return usedSpaceBytes;
+ }
+
+ public void setUsedSpaceBytes(Long usedSpaceBytes) {
+ this.usedSpaceBytes = usedSpaceBytes;
+ }
+ }
+
+ /**
+ * Details for garbage collection.
+ */
+ @XmlType(name = "garbageCollection")
+ public static class GarbageCollectionDTO {
+
+ private String name;
+ private long collectionCount;
+ private String collectionTime;
+
+ /**
+ * The name of the garbage collector.
+ *
+ * @return
+ */
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public long getCollectionCount() {
+ return collectionCount;
+ }
+
+ /**
+ * The number of times garbage collection has run.
+ *
+ * @param collectionCount
+ */
+ public void setCollectionCount(long collectionCount) {
+ this.collectionCount = collectionCount;
+ }
+
+ /**
+ * The total amount of time spent garbage collecting.
+ *
+ * @return
+ */
+ public String getCollectionTime() {
+ return collectionTime;
+ }
+
+ public void setCollectionTime(String collectionTime) {
+ this.collectionTime = collectionTime;
+ }
+
+ }
+}
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/TemplateDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/TemplateDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/TemplateDTO.java
new file mode 100644
index 0000000..156a6e9
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/TemplateDTO.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;
+
+import java.util.Date;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import org.apache.nifi.web.api.dto.util.DateTimeAdapter;
+
+/**
+ * Defines a template.
+ */
+@XmlRootElement(name = "template")
+public class TemplateDTO {
+
+ private String uri;
+
+ private String id;
+ private String name;
+ private String description;
+ private Date timestamp;
+
+ private FlowSnippetDTO snippet;
+
+ /**
+ * The id for this template.
+ *
+ * @return
+ */
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ /**
+ * The uri for this template.
+ *
+ * @return
+ */
+ public String getUri() {
+ return uri;
+ }
+
+ public void setUri(String uri) {
+ this.uri = uri;
+ }
+
+ /**
+ * The name of this template.
+ *
+ * @return
+ */
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * The description of this template.
+ *
+ * @return
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ /**
+ * The timestamp when this template was created.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(DateTimeAdapter.class)
+ public Date getTimestamp() {
+ return timestamp;
+ }
+
+ public void setTimestamp(Date timestamp) {
+ this.timestamp = timestamp;
+ }
+
+ /**
+ * The snippet in this template.
+ *
+ * @return
+ */
+ public FlowSnippetDTO getSnippet() {
+ return snippet;
+ }
+
+ public void setSnippet(FlowSnippetDTO snippet) {
+ this.snippet = snippet;
+ }
+}
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/UserDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/UserDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/UserDTO.java
new file mode 100644
index 0000000..85c82dc
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/UserDTO.java
@@ -0,0 +1,177 @@
+/*
+ * 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;
+
+import java.util.Date;
+import java.util.Set;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import org.apache.nifi.web.api.dto.util.DateTimeAdapter;
+
+/**
+ * A user of this NiFi.
+ */
+@XmlType(name = "user")
+public class UserDTO {
+
+ private String id;
+ private String dn;
+ private String userName;
+ private String userGroup;
+ private String justification;
+ private Date creation;
+ private String status;
+
+ private Date lastVerified;
+ private Date lastAccessed;
+ private Set<String> authorities;
+
+ /**
+ * The user id.
+ *
+ * @return
+ */
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ /**
+ * The users authorities.
+ *
+ * @return
+ */
+ public Set<String> getAuthorities() {
+ return authorities;
+ }
+
+ public void setAuthorities(Set<String> authorities) {
+ this.authorities = authorities;
+ }
+
+ /**
+ * The creation time for this users account.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(DateTimeAdapter.class)
+ public Date getCreation() {
+ return creation;
+ }
+
+ public void setCreation(Date creation) {
+ this.creation = creation;
+ }
+
+ /**
+ * The users DN.
+ *
+ * @return
+ */
+ public String getDn() {
+ return dn;
+ }
+
+ public void setDn(String dn) {
+ this.dn = dn;
+ }
+
+ /**
+ * The users name. If the name could not be extracted from the DN, this
+ * value will be the entire DN.
+ *
+ * @return
+ */
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ /**
+ * The user group.
+ *
+ * @return
+ */
+ public String getUserGroup() {
+ return userGroup;
+ }
+
+ public void setUserGroup(String userGroup) {
+ this.userGroup = userGroup;
+ }
+
+ /**
+ * The users account justification.
+ *
+ * @return
+ */
+ public String getJustification() {
+ return justification;
+ }
+
+ public void setJustification(String justification) {
+ this.justification = justification;
+ }
+
+ /**
+ * The time that the user last accessed the system.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(DateTimeAdapter.class)
+ public Date getLastAccessed() {
+ return lastAccessed;
+ }
+
+ public void setLastAccessed(Date lastAccessed) {
+ this.lastAccessed = lastAccessed;
+ }
+
+ /**
+ * The time that the users credentials were last verified.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(DateTimeAdapter.class)
+ public Date getLastVerified() {
+ return lastVerified;
+ }
+
+ public void setLastVerified(Date lastVerified) {
+ this.lastVerified = lastVerified;
+ }
+
+ /**
+ * The status of the users account.
+ *
+ * @return
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+}
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/UserGroupDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/UserGroupDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/UserGroupDTO.java
new file mode 100644
index 0000000..285c355
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/UserGroupDTO.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;
+
+import java.util.Set;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * A user group in this NiFi.
+ */
+@XmlType(name = "userGroup")
+public class UserGroupDTO {
+
+ private String group;
+ private Set<String> userIds;
+ private Set<String> authorities;
+ private String status;
+
+ /**
+ * The user group.
+ *
+ * @return
+ */
+ public String getGroup() {
+ return group;
+ }
+
+ public void setGroup(String group) {
+ this.group = group;
+ }
+
+ /**
+ * The users in this group.
+ *
+ * @return
+ */
+ public Set<String> getUserIds() {
+ return userIds;
+ }
+
+ public void setUserIds(Set<String> userIds) {
+ this.userIds = userIds;
+ }
+
+ /**
+ * The status of the users account.
+ *
+ * @return
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ /**
+ * The users authorities.
+ *
+ * @return
+ */
+ public Set<String> getAuthorities() {
+ return authorities;
+ }
+
+ public void setAuthorities(Set<String> authorities) {
+ this.authorities = authorities;
+ }
+}
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/action/ActionDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/ActionDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/ActionDTO.java
new file mode 100644
index 0000000..8402480
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/ActionDTO.java
@@ -0,0 +1,176 @@
+/*
+ * 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.action;
+
+import java.util.Date;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import org.apache.nifi.web.api.dto.action.component.details.ComponentDetailsDTO;
+import org.apache.nifi.web.api.dto.action.details.ActionDetailsDTO;
+import org.apache.nifi.web.api.dto.util.DateTimeAdapter;
+
+/**
+ * An action performed in this NiFi.
+ */
+@XmlType(name = "action")
+public class ActionDTO {
+
+ private Integer id;
+ private String userDn;
+ private String userName;
+ private Date timestamp;
+
+ private String sourceId;
+ private String sourceName;
+ private String sourceType;
+ private ComponentDetailsDTO componentDetails;
+
+ private String operation;
+ private ActionDetailsDTO actionDetails;
+
+ /**
+ * The action id.
+ *
+ * @return
+ */
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ /**
+ * The user dn who perform this action.
+ *
+ * @return
+ */
+ public String getUserDn() {
+ return userDn;
+ }
+
+ public void setUserDn(String userDn) {
+ this.userDn = userDn;
+ }
+
+ /**
+ * The user name who perform this action.
+ *
+ * @return
+ */
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ /**
+ * This action's timestamp.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(DateTimeAdapter.class)
+ public Date getTimestamp() {
+ return timestamp;
+ }
+
+ public void setTimestamp(Date timestamp) {
+ this.timestamp = timestamp;
+ }
+
+ /**
+ * The id of the source component of this action.
+ *
+ * @return
+ */
+ public String getSourceId() {
+ return sourceId;
+ }
+
+ public void setSourceId(String sourceId) {
+ this.sourceId = sourceId;
+ }
+
+ /**
+ * The name of the source component of this action.
+ *
+ * @return
+ */
+ public String getSourceName() {
+ return sourceName;
+ }
+
+ public void setSourceName(String sourceName) {
+ this.sourceName = sourceName;
+ }
+
+ /**
+ * The type of the source component of this action.
+ *
+ * @return
+ */
+ public String getSourceType() {
+ return sourceType;
+ }
+
+ public void setSourceType(String sourceType) {
+ this.sourceType = sourceType;
+ }
+
+ /**
+ * The component details (if any) for this action.
+ *
+ * @return
+ */
+ public ComponentDetailsDTO getComponentDetails() {
+ return componentDetails;
+ }
+
+ public void setComponentDetails(ComponentDetailsDTO componentDetails) {
+ this.componentDetails = componentDetails;
+ }
+
+ /**
+ * The operation being performed in this action.
+ *
+ * @return
+ */
+ public String getOperation() {
+ return operation;
+ }
+
+ public void setOperation(String operation) {
+ this.operation = operation;
+ }
+
+ /**
+ * The action details (if any) for this action.
+ *
+ * @return
+ */
+ public ActionDetailsDTO getActionDetails() {
+ return actionDetails;
+ }
+
+ public void setActionDetails(ActionDetailsDTO actionDetails) {
+ this.actionDetails = actionDetails;
+ }
+
+}
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/action/HistoryDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/HistoryDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/HistoryDTO.java
new file mode 100644
index 0000000..9ab47ed
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/HistoryDTO.java
@@ -0,0 +1,74 @@
+/*
+ * 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.action;
+
+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;
+
+/**
+ * NiFi action history.
+ */
+@XmlType(name = "history")
+public class HistoryDTO {
+
+ private Integer total;
+ private Date lastRefreshed;
+ private Collection<ActionDTO> actions;
+
+ /**
+ * The total number of actions.
+ *
+ * @return
+ */
+ public Integer getTotal() {
+ return total;
+ }
+
+ public void setTotal(Integer total) {
+ this.total = total;
+ }
+
+ /**
+ * Timestamp when these records were returned.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(TimeAdapter.class)
+ public Date getLastRefreshed() {
+ return lastRefreshed;
+ }
+
+ public void setLastRefreshed(Date lastRefreshed) {
+ this.lastRefreshed = lastRefreshed;
+ }
+
+ /**
+ * The actions for this range.
+ *
+ * @return
+ */
+ public Collection<ActionDTO> getActions() {
+ return actions;
+ }
+
+ public void setActions(Collection<ActionDTO> actions) {
+ this.actions = actions;
+ }
+}
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/action/HistoryQueryDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/HistoryQueryDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/HistoryQueryDTO.java
new file mode 100644
index 0000000..e8e11e5
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/HistoryQueryDTO.java
@@ -0,0 +1,144 @@
+/*
+ * 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.action;
+
+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.DateTimeAdapter;
+
+/**
+ * A history query to find desired actions.
+ */
+@XmlType(name = "historyQuery")
+public class HistoryQueryDTO {
+
+ private String userName;
+ private String sourceId;
+ private Date startDate;
+ private Date endDate;
+ private Integer offset;
+ private Integer count;
+ private String sortColumn;
+ private String sortOrder;
+
+ /**
+ * The user name.
+ *
+ * @return
+ */
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ /**
+ * The source component id.
+ *
+ * @return
+ */
+ public String getSourceId() {
+ return sourceId;
+ }
+
+ public void setSourceId(String sourceId) {
+ this.sourceId = sourceId;
+ }
+
+ /**
+ * The start date.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(DateTimeAdapter.class)
+ public Date getStartDate() {
+ return startDate;
+ }
+
+ public void setStartDate(Date startDate) {
+ this.startDate = startDate;
+ }
+
+ /**
+ * The end date.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(DateTimeAdapter.class)
+ public Date getEndDate() {
+ return endDate;
+ }
+
+ public void setEndDate(Date endDate) {
+ this.endDate = endDate;
+ }
+
+ /**
+ * The offset.
+ *
+ * @return
+ */
+ public Integer getOffset() {
+ return offset;
+ }
+
+ public void setOffset(Integer offset) {
+ this.offset = offset;
+ }
+
+ /**
+ * The desired row count.
+ *
+ * @return
+ */
+ public Integer getCount() {
+ return count;
+ }
+
+ public void setCount(Integer count) {
+ this.count = count;
+ }
+
+ /**
+ * The desired sort column.
+ *
+ * @return
+ */
+ public String getSortColumn() {
+ return sortColumn;
+ }
+
+ public void setSortColumn(String sortColumn) {
+ this.sortColumn = sortColumn;
+ }
+
+ /**
+ * The desired sort order.
+ *
+ * @return
+ */
+ public String getSortOrder() {
+ return sortOrder;
+ }
+
+ public void setSortOrder(String sortOrder) {
+ this.sortOrder = sortOrder;
+ }
+}
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/action/component/details/ComponentDetailsDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/component/details/ComponentDetailsDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/component/details/ComponentDetailsDTO.java
new file mode 100644
index 0000000..58086ce
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/component/details/ComponentDetailsDTO.java
@@ -0,0 +1,32 @@
+/*
+ * 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.action.component.details;
+
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ *
+ */
+@XmlType(name = "componentDetails")
+@XmlSeeAlso({
+ ProcessorDetailsDTO.class,
+ RemoteProcessGroupDetailsDTO.class
+})
+public class ComponentDetailsDTO {
+
+}
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/action/component/details/ProcessorDetailsDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/component/details/ProcessorDetailsDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/component/details/ProcessorDetailsDTO.java
new file mode 100644
index 0000000..3523f62
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/component/details/ProcessorDetailsDTO.java
@@ -0,0 +1,41 @@
+/*
+ * 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.action.component.details;
+
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * Processor details for an action.
+ */
+@XmlType(name = "processorDetails")
+public class ProcessorDetailsDTO extends ComponentDetailsDTO {
+
+ private String type;
+
+ /**
+ * The processors type.
+ *
+ * @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/action/component/details/RemoteProcessGroupDetailsDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/component/details/RemoteProcessGroupDetailsDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/component/details/RemoteProcessGroupDetailsDTO.java
new file mode 100644
index 0000000..2809398
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/component/details/RemoteProcessGroupDetailsDTO.java
@@ -0,0 +1,41 @@
+/*
+ * 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.action.component.details;
+
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * Remote process group details for an action.
+ */
+@XmlType(name = "remoteProcessGroupDetails")
+public class RemoteProcessGroupDetailsDTO extends ComponentDetailsDTO {
+
+ private String uri;
+
+ /**
+ * The URI of the remote process group.
+ *
+ * @return
+ */
+ public String getUri() {
+ return uri;
+ }
+
+ public void setUri(String uri) {
+ this.uri = uri;
+ }
+}
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/action/details/ActionDetailsDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/details/ActionDetailsDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/details/ActionDetailsDTO.java
new file mode 100644
index 0000000..4074cba
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/details/ActionDetailsDTO.java
@@ -0,0 +1,34 @@
+/*
+ * 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.action.details;
+
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ *
+ */
+@XmlType(name = "details")
+@XmlSeeAlso({
+ ConfigureDetailsDTO.class,
+ MoveDetailsDTO.class,
+ ConnectDetailsDTO.class,
+ PurgeDetailsDTO.class
+})
+public class ActionDetailsDTO {
+
+}
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/action/details/ConfigureDetailsDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/details/ConfigureDetailsDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/details/ConfigureDetailsDTO.java
new file mode 100644
index 0000000..4011b00
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/details/ConfigureDetailsDTO.java
@@ -0,0 +1,69 @@
+/*
+ * 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.action.details;
+
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * Configuration details for an Action.
+ */
+@XmlType(name = "configureDetails")
+public class ConfigureDetailsDTO extends ActionDetailsDTO {
+
+ private String name;
+ private String previousValue;
+ private String value;
+
+ /**
+ * The name of the property that was modified.
+ *
+ * @return
+ */
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * The previous value.
+ *
+ * @return
+ */
+ public String getPreviousValue() {
+ return previousValue;
+ }
+
+ public void setPreviousValue(String previousValue) {
+ this.previousValue = previousValue;
+ }
+
+ /**
+ * The new value.
+ *
+ * @return
+ */
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+}
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/action/details/ConnectDetailsDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/details/ConnectDetailsDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/details/ConnectDetailsDTO.java
new file mode 100644
index 0000000..ba88bd1
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/details/ConnectDetailsDTO.java
@@ -0,0 +1,126 @@
+/*
+ * 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.action.details;
+
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * Details for connect Actions.
+ */
+@XmlType(name = "connectDetails")
+public class ConnectDetailsDTO extends ActionDetailsDTO {
+
+ private String sourceId;
+ private String sourceName;
+ private String sourceType;
+ private String relationship;
+ private String destinationId;
+ private String destinationName;
+ private String destinationType;
+
+ /**
+ * The id of the source of the connection.
+ *
+ * @return
+ */
+ public String getSourceId() {
+ return sourceId;
+ }
+
+ public void setSourceId(String sourceId) {
+ this.sourceId = sourceId;
+ }
+
+ /**
+ * The name of the source of the connection.
+ *
+ * @return
+ */
+ public String getSourceName() {
+ return sourceName;
+ }
+
+ public void setSourceName(String sourceName) {
+ this.sourceName = sourceName;
+ }
+
+ /**
+ * The type of the source of the connection.
+ *
+ * @return
+ */
+ public String getSourceType() {
+ return sourceType;
+ }
+
+ public void setSourceType(String sourceType) {
+ this.sourceType = sourceType;
+ }
+
+ /**
+ * The name of the relationship that was connected.
+ *
+ * @return
+ */
+ public String getRelationship() {
+ return relationship;
+ }
+
+ public void setRelationship(String relationship) {
+ this.relationship = relationship;
+ }
+
+ /**
+ * The id of the destination of the connection.
+ *
+ * @return
+ */
+ public String getDestinationId() {
+ return destinationId;
+ }
+
+ public void setDestinationId(String destinationId) {
+ this.destinationId = destinationId;
+ }
+
+ /**
+ * The name of the destination of the connection.
+ *
+ * @return
+ */
+ public String getDestinationName() {
+ return destinationName;
+ }
+
+ public void setDestinationName(String destinationName) {
+ this.destinationName = destinationName;
+ }
+
+ /**
+ * The type of the destination of the connection.
+ *
+ * @return
+ */
+ public String getDestinationType() {
+ return destinationType;
+ }
+
+ public void setDestinationType(String destinationType) {
+ this.destinationType = destinationType;
+ }
+
+}
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/action/details/MoveDetailsDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/details/MoveDetailsDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/details/MoveDetailsDTO.java
new file mode 100644
index 0000000..c6f0450
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/details/MoveDetailsDTO.java
@@ -0,0 +1,83 @@
+/*
+ * 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.action.details;
+
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * Details of the move operation.
+ */
+@XmlType(name = "moveDetails")
+public class MoveDetailsDTO extends ActionDetailsDTO {
+
+ private String previousGroupId;
+ private String previousGroup;
+ private String groupId;
+ private String group;
+
+ /**
+ * The id of the group the components previously belonged to.
+ *
+ * @return
+ */
+ public String getPreviousGroupId() {
+ return previousGroupId;
+ }
+
+ public void setPreviousGroupId(String previousGroupId) {
+ this.previousGroupId = previousGroupId;
+ }
+
+ /**
+ * The name of the group of the components previously belonged to.
+ *
+ * @return
+ */
+ public String getPreviousGroup() {
+ return previousGroup;
+ }
+
+ public void setPreviousGroup(String previousGroup) {
+ this.previousGroup = previousGroup;
+ }
+
+ /**
+ * The id of the group the components belong to.
+ *
+ * @return
+ */
+ public String getGroupId() {
+ return groupId;
+ }
+
+ public void setGroupId(String groupId) {
+ this.groupId = groupId;
+ }
+
+ /**
+ * The name of the group the components belong to.
+ *
+ * @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/action/details/PurgeDetailsDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/details/PurgeDetailsDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/details/PurgeDetailsDTO.java
new file mode 100644
index 0000000..b5a5bcb
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/action/details/PurgeDetailsDTO.java
@@ -0,0 +1,45 @@
+/*
+ * 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.action.details;
+
+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.DateTimeAdapter;
+
+/**
+ * Details of a purge operation.
+ */
+@XmlType(name = "purgeDetails")
+public class PurgeDetailsDTO extends ActionDetailsDTO {
+
+ private Date endDate;
+
+ /**
+ * The end date for this purge action.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(DateTimeAdapter.class)
+ public Date getEndDate() {
+ return endDate;
+ }
+
+ public void setEndDate(Date endDate) {
+ this.endDate = endDate;
+ }
+}
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/AttributeDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/AttributeDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/AttributeDTO.java
new file mode 100644
index 0000000..ed58077
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/AttributeDTO.java
@@ -0,0 +1,69 @@
+/*
+ * 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;
+
+/**
+ * Represents a processor's attribute for a provenance event.
+ */
+@XmlType(name = "attribute")
+public class AttributeDTO {
+
+ private String name;
+ private String value;
+ private String previousValue;
+
+ /**
+ * The attribute name.
+ *
+ * @return
+ */
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * The attribute value.
+ *
+ * @return
+ */
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * The value of this attribute before the event took place.
+ *
+ * @return
+ */
+ public String getPreviousValue() {
+ return previousValue;
+ }
+
+ public void setPreviousValue(String previousValue) {
+ this.previousValue = previousValue;
+ }
+}
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/ProvenanceDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/ProvenanceDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/ProvenanceDTO.java
new file mode 100644
index 0000000..90dd119
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/ProvenanceDTO.java
@@ -0,0 +1,165 @@
+/*
+ * 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 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 provenance submission. Incorporates the request, its current status, and
+ * the results.
+ */
+@XmlType(name = "provenance")
+public class ProvenanceDTO {
+
+ private String id;
+ private String uri;
+ private String clusterNodeId;
+
+ private Date submissionTime;
+ private Date expiration;
+
+ private Integer percentCompleted;
+ private Boolean finished;
+
+ private ProvenanceRequestDTO request;
+ private ProvenanceResultsDTO results;
+
+ /**
+ * The id of this provenance query.
+ *
+ * @return
+ */
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ /**
+ * The URI for this query. Used for obtaining the requests at a later time.
+ *
+ * @return
+ */
+ public String getUri() {
+ return uri;
+ }
+
+ public void setUri(String uri) {
+ this.uri = uri;
+ }
+
+ /**
+ * The id of the node in the cluster where this provenance originated.
+ *
+ * @return
+ */
+ public String getClusterNodeId() {
+ return clusterNodeId;
+ }
+
+ public void setClusterNodeId(String clusterNodeId) {
+ this.clusterNodeId = clusterNodeId;
+ }
+
+ /**
+ * The time the query was submitted.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(TimestampAdapter.class)
+ public Date getSubmissionTime() {
+ return submissionTime;
+ }
+
+ public void setSubmissionTime(Date submissionTime) {
+ this.submissionTime = submissionTime;
+ }
+
+ /**
+ * The expiration time of the query results.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(TimestampAdapter.class)
+ public Date getExpiration() {
+ return expiration;
+ }
+
+ public void setExpiration(Date expiration) {
+ this.expiration = expiration;
+ }
+
+ /**
+ * The percent completed.
+ *
+ * @return
+ */
+ public Integer getPercentCompleted() {
+ return percentCompleted;
+ }
+
+ public void setPercentCompleted(Integer percentCompleted) {
+ this.percentCompleted = percentCompleted;
+ }
+
+ /**
+ * Whether the query has finished.
+ *
+ * @return
+ */
+ public Boolean isFinished() {
+ return finished;
+ }
+
+ public void setFinished(Boolean finished) {
+ this.finished = finished;
+ }
+
+ /**
+ * The provenance request.
+ *
+ * @return
+ */
+ public ProvenanceRequestDTO getRequest() {
+ return request;
+ }
+
+ public void setRequest(ProvenanceRequestDTO request) {
+ this.request = request;
+ }
+
+ /**
+ * The results of this query.
+ *
+ * @return
+ */
+ public ProvenanceResultsDTO getResults() {
+ return results;
+ }
+
+ public void setResults(ProvenanceResultsDTO 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/ProvenanceEventDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/ProvenanceEventDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/ProvenanceEventDTO.java
new file mode 100644
index 0000000..b1ead42
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/ProvenanceEventDTO.java
@@ -0,0 +1,630 @@
+/*
+ * 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 java.util.Collection;
+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 provenance event.
+ */
+@XmlType(name = "provenanceEvent")
+public class ProvenanceEventDTO {
+
+ private String id;
+
+ // in search results table
+ private Long eventId;
+ private Date eventTime;
+ private Long eventDuration;
+ private Long lineageDuration;
+ private String eventType;
+ private String flowFileUuid;
+ private String fileSize;
+ private Long fileSizeBytes;
+ private String clusterNodeId; // include when clustered
+ private String clusterNodeAddress; // include when clustered
+
+ private String groupId;
+ private String componentId;
+ private String componentType;
+ private String componentName;
+ private String sourceSystemFlowFileId;
+ private String alternateIdentifierUri;
+ private Collection<AttributeDTO> attributes;
+ private List<String> parentUuids;
+ private List<String> childUuids;
+
+ private String transitUri;
+
+ private String relationship;
+ private String details;
+
+ // content
+ private Boolean contentEqual;
+ private Boolean inputContentAvailable;
+ private String inputContentClaimSection;
+ private String inputContentClaimContainer;
+ private String inputContentClaimIdentifier;
+ private Long inputContentClaimOffset;
+ private String inputContentClaimFileSize;
+ private Long inputContentClaimFileSizeBytes;
+ private Boolean outputContentAvailable;
+ private String outputContentClaimSection;
+ private String outputContentClaimContainer;
+ private String outputContentClaimIdentifier;
+ private Long outputContentClaimOffset;
+ private String outputContentClaimFileSize;
+ private Long outputContentClaimFileSizeBytes;
+
+ // replay
+ private Boolean replayAvailable;
+ private String replayExplanation;
+ private String sourceConnectionIdentifier;
+
+ /**
+ * The event uuid.
+ *
+ * @return
+ */
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ /**
+ * The event id.
+ *
+ * @return
+ */
+ public Long getEventId() {
+ return eventId;
+ }
+
+ public void setEventId(Long eventId) {
+ this.eventId = eventId;
+ }
+
+ /**
+ * The time the event occurred.
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(TimestampAdapter.class)
+ public Date getEventTime() {
+ return eventTime;
+ }
+
+ public void setEventTime(Date eventTime) {
+ this.eventTime = eventTime;
+ }
+
+ /**
+ * The UUID of the FlowFile for this event.
+ *
+ * @return
+ */
+ public String getFlowFileUuid() {
+ return flowFileUuid;
+ }
+
+ public void setFlowFileUuid(String flowFileUuid) {
+ this.flowFileUuid = flowFileUuid;
+ }
+
+ /**
+ * The size of the FlowFile for this event.
+ *
+ * @return
+ */
+ public String getFileSize() {
+ return fileSize;
+ }
+
+ public void setFileSize(String fileSize) {
+ this.fileSize = fileSize;
+ }
+
+ /**
+ * The size of the FlowFile in bytes for this event.
+ *
+ * @return
+ */
+ public Long getFileSizeBytes() {
+ return fileSizeBytes;
+ }
+
+ public void setFileSizeBytes(Long fileSizeBytes) {
+ this.fileSizeBytes = fileSizeBytes;
+ }
+
+ /**
+ * The type of this event.
+ *
+ * @return
+ */
+ public String getEventType() {
+ return eventType;
+ }
+
+ public void setEventType(String eventType) {
+ this.eventType = eventType;
+ }
+
+ /**
+ * The attributes for the FlowFile for this event.
+ *
+ * @return
+ */
+ public Collection<AttributeDTO> getAttributes() {
+ return attributes;
+ }
+
+ public void setAttributes(Collection<AttributeDTO> attributes) {
+ this.attributes = attributes;
+ }
+
+ /**
+ * The id of the group that this component resides in. If the component is
+ * no longer in the flow, the group id will not be set.
+ *
+ * @return
+ */
+ public String getGroupId() {
+ return groupId;
+ }
+
+ public void setGroupId(String groupId) {
+ this.groupId = groupId;
+ }
+
+ /**
+ * The id of the component that generated this event.
+ *
+ * @return
+ */
+ public String getComponentId() {
+ return componentId;
+ }
+
+ public void setComponentId(String componentId) {
+ this.componentId = componentId;
+ }
+
+ /**
+ * The name of the component that generated this event.
+ *
+ * @return
+ */
+ public String getComponentName() {
+ return componentName;
+ }
+
+ public void setComponentName(String componentName) {
+ this.componentName = componentName;
+ }
+
+ /**
+ * The type of the component that generated this event.
+ *
+ * @return
+ */
+ public String getComponentType() {
+ return componentType;
+ }
+
+ public void setComponentType(String componentType) {
+ this.componentType = componentType;
+ }
+
+ /**
+ * The source/destination system URI if the event was a RECEIVE/SEND.
+ *
+ * @return
+ */
+ public String getTransitUri() {
+ return transitUri;
+ }
+
+ public void setTransitUri(String transitUri) {
+ this.transitUri = transitUri;
+ }
+
+ /**
+ * The alternate identifier URI for the FlowFile for this event.
+ *
+ * @return
+ */
+ public String getAlternateIdentifierUri() {
+ return alternateIdentifierUri;
+ }
+
+ public void setAlternateIdentifierUri(String alternateIdentifierUri) {
+ this.alternateIdentifierUri = alternateIdentifierUri;
+ }
+
+ /**
+ * The identifier of the node where this event originated.
+ *
+ * @return
+ */
+ public String getClusterNodeId() {
+ return clusterNodeId;
+ }
+
+ public void setClusterNodeId(String clusterNodeId) {
+ this.clusterNodeId = clusterNodeId;
+ }
+
+ /**
+ * The label to use to show which node this event originated from.
+ *
+ * @return
+ */
+ public String getClusterNodeAddress() {
+ return clusterNodeAddress;
+ }
+
+ public void setClusterNodeAddress(String clusterNodeAddress) {
+ this.clusterNodeAddress = clusterNodeAddress;
+ }
+
+ /**
+ * The parent uuids for this event.
+ *
+ * @return
+ */
+ public List<String> getParentUuids() {
+ return parentUuids;
+ }
+
+ public void setParentUuids(List<String> parentUuids) {
+ this.parentUuids = parentUuids;
+ }
+
+ /**
+ * The child uuids for this event.
+ *
+ * @return
+ */
+ public List<String> getChildUuids() {
+ return childUuids;
+ }
+
+ public void setChildUuids(List<String> childUuids) {
+ this.childUuids = childUuids;
+ }
+
+ /**
+ * The duration of the event, in milliseconds.
+ *
+ * @return
+ */
+ public Long getEventDuration() {
+ return eventDuration;
+ }
+
+ public void setEventDuration(Long eventDuration) {
+ this.eventDuration = eventDuration;
+ }
+
+ /**
+ * The duration since the lineage began, in milliseconds.
+ *
+ * @return
+ */
+ public Long getLineageDuration() {
+ return lineageDuration;
+ }
+
+ public void setLineageDuration(Long lineageDuration) {
+ this.lineageDuration = lineageDuration;
+ }
+
+ /**
+ * The source system FlowFile id.
+ *
+ * @return
+ */
+ public String getSourceSystemFlowFileId() {
+ return sourceSystemFlowFileId;
+ }
+
+ public void setSourceSystemFlowFileId(String sourceSystemFlowFileId) {
+ this.sourceSystemFlowFileId = sourceSystemFlowFileId;
+ }
+
+ /**
+ * If this represents a route event, this is the relationship to which the
+ * flowfile was routed.
+ *
+ * @return
+ */
+ public String getRelationship() {
+ return relationship;
+ }
+
+ public void setRelationship(String relationship) {
+ this.relationship = relationship;
+ }
+
+ /**
+ * The event details.
+ *
+ * @return
+ */
+ public String getDetails() {
+ return details;
+ }
+
+ public void setDetails(String details) {
+ this.details = details;
+ }
+
+ /**
+ * Whether or not the input and output content claim is the same.
+ *
+ * @return
+ */
+ public Boolean getContentEqual() {
+ return contentEqual;
+ }
+
+ public void setContentEqual(Boolean contentEqual) {
+ this.contentEqual = contentEqual;
+ }
+
+ /**
+ * Returns whether or not the output content is still available.
+ *
+ * @return
+ */
+ public Boolean getOutputContentAvailable() {
+ return outputContentAvailable;
+ }
+
+ public void setOutputContentAvailable(Boolean outputContentAvailable) {
+ this.outputContentAvailable = outputContentAvailable;
+ }
+
+ /**
+ * Returns the Section in which the output Content Claim lives, or
+ * <code>null</code> if no Content Claim exists.
+ *
+ * @return
+ */
+ public String getOutputContentClaimSection() {
+ return outputContentClaimSection;
+ }
+
+ public void setOutputContentClaimSection(String contentClaimSection) {
+ this.outputContentClaimSection = contentClaimSection;
+ }
+
+ /**
+ * Returns the Container in which the output Content Claim lives, or
+ * <code>null</code> if no Content Claim exists.
+ *
+ * @return
+ */
+ public String getOutputContentClaimContainer() {
+ return outputContentClaimContainer;
+ }
+
+ public void setOutputContentClaimContainer(String outputContentClaimContainer) {
+ this.outputContentClaimContainer = outputContentClaimContainer;
+ }
+
+ /**
+ * Returns the Identifier of the output Content Claim, or <code>null</code>
+ * if no Content Claim exists.
+ *
+ * @return
+ */
+ public String getOutputContentClaimIdentifier() {
+ return outputContentClaimIdentifier;
+ }
+
+ public void setOutputContentClaimIdentifier(String outputContentClaimIdentifier) {
+ this.outputContentClaimIdentifier = outputContentClaimIdentifier;
+ }
+
+ /**
+ * Returns the offset into the the output Content Claim where the FlowFile's
+ * content begins, or <code>null</code> if no Content Claim exists.
+ *
+ * @return
+ */
+ public Long getOutputContentClaimOffset() {
+ return outputContentClaimOffset;
+ }
+
+ public void setOutputContentClaimOffset(Long outputContentClaimOffset) {
+ this.outputContentClaimOffset = outputContentClaimOffset;
+ }
+
+ /**
+ * Returns the formatted file size of the input content claim.
+ *
+ * @return
+ */
+ public String getOutputContentClaimFileSize() {
+ return outputContentClaimFileSize;
+ }
+
+ public void setOutputContentClaimFileSize(String outputContentClaimFileSize) {
+ this.outputContentClaimFileSize = outputContentClaimFileSize;
+ }
+
+ /**
+ * Returns the number of bytes of the input content claim.
+ *
+ * @return
+ */
+ public Long getOutputContentClaimFileSizeBytes() {
+ return outputContentClaimFileSizeBytes;
+ }
+
+ public void setOutputContentClaimFileSizeBytes(Long outputContentClaimFileSizeBytes) {
+ this.outputContentClaimFileSizeBytes = outputContentClaimFileSizeBytes;
+ }
+
+ /**
+ * Returns whether or not the input content is still available.
+ *
+ * @return
+ */
+ public Boolean getInputContentAvailable() {
+ return inputContentAvailable;
+ }
+
+ public void setInputContentAvailable(Boolean inputContentAvailable) {
+ this.inputContentAvailable = inputContentAvailable;
+ }
+
+ /**
+ * Returns the Section in which the input Content Claim lives, or
+ * <code>null</code> if no Content Claim exists.
+ *
+ * @return
+ */
+ public String getInputContentClaimSection() {
+ return inputContentClaimSection;
+ }
+
+ public void setInputContentClaimSection(String inputContentClaimSection) {
+ this.inputContentClaimSection = inputContentClaimSection;
+ }
+
+ /**
+ * Returns the Container in which the input Content Claim lives, or
+ * <code>null</code> if no Content Claim exists.
+ *
+ * @return
+ */
+ public String getInputContentClaimContainer() {
+ return inputContentClaimContainer;
+ }
+
+ public void setInputContentClaimContainer(String inputContentClaimContainer) {
+ this.inputContentClaimContainer = inputContentClaimContainer;
+ }
+
+ /**
+ * Returns the Identifier of the input Content Claim, or <code>null</code>
+ * if no Content Claim exists.
+ *
+ * @return
+ */
+ public String getInputContentClaimIdentifier() {
+ return inputContentClaimIdentifier;
+ }
+
+ public void setInputContentClaimIdentifier(String inputContentClaimIdentifier) {
+ this.inputContentClaimIdentifier = inputContentClaimIdentifier;
+ }
+
+ /**
+ * Returns the offset into the the input Content Claim where the FlowFile's
+ * content begins, or <code>null</code> if no Content Claim exists.
+ *
+ * @return
+ */
+ public Long getInputContentClaimOffset() {
+ return inputContentClaimOffset;
+ }
+
+ public void setInputContentClaimOffset(Long inputContentClaimOffset) {
+ this.inputContentClaimOffset = inputContentClaimOffset;
+ }
+
+ /**
+ * Returns the formatted file size of the input content claim.
+ *
+ * @return
+ */
+ public String getInputContentClaimFileSize() {
+ return inputContentClaimFileSize;
+ }
+
+ public void setInputContentClaimFileSize(String inputContentClaimFileSize) {
+ this.inputContentClaimFileSize = inputContentClaimFileSize;
+ }
+
+ /**
+ * Returns the number of bytes of the input content claim.
+ *
+ * @return
+ */
+ public Long getInputContentClaimFileSizeBytes() {
+ return inputContentClaimFileSizeBytes;
+ }
+
+ public void setInputContentClaimFileSizeBytes(Long inputContentClaimFileSizeBytes) {
+ this.inputContentClaimFileSizeBytes = inputContentClaimFileSizeBytes;
+ }
+
+ /**
+ * Returns whether or not replay is available.
+ *
+ * @return
+ */
+ public Boolean getReplayAvailable() {
+ return replayAvailable;
+ }
+
+ public void setReplayAvailable(Boolean replayAvailable) {
+ this.replayAvailable = replayAvailable;
+ }
+
+ /**
+ * Returns the explanation as to why replay is unavailable.
+ *
+ * @return
+ */
+ public String getReplayExplanation() {
+ return replayExplanation;
+ }
+
+ public void setReplayExplanation(String replayExplanation) {
+ this.replayExplanation = replayExplanation;
+ }
+
+ /**
+ * Returns identifier of the FlowFile Queue / Connection from which the
+ * FlowFile was pulled to generate this event, or <code>null</code> if
+ * either the queue is unknown or the FlowFile was created by this event.
+ *
+ * @return
+ */
+ public String getSourceConnectionIdentifier() {
+ return sourceConnectionIdentifier;
+ }
+
+ public void setSourceConnectionIdentifier(String sourceConnectionIdentifier) {
+ this.sourceConnectionIdentifier = sourceConnectionIdentifier;
+ }
+}
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/ProvenanceOptionsDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/ProvenanceOptionsDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/ProvenanceOptionsDTO.java
new file mode 100644
index 0000000..7f939b9
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/ProvenanceOptionsDTO.java
@@ -0,0 +1,43 @@
+/*
+ * 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 java.util.List;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * A provenance search options.
+ */
+@XmlType(name = "provenanceOptions")
+public class ProvenanceOptionsDTO {
+
+ private List<ProvenanceSearchableFieldDTO> searchableFields;
+
+ /**
+ * The available searchable fields for this NiFi instance.
+ *
+ * @return
+ */
+ public List<ProvenanceSearchableFieldDTO> getSearchableFields() {
+ return searchableFields;
+ }
+
+ public void setSearchableFields(List<ProvenanceSearchableFieldDTO> searchableFields) {
+ this.searchableFields = searchableFields;
+ }
+
+}
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/ProvenanceRequestDTO.java
----------------------------------------------------------------------
diff --git a/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/ProvenanceRequestDTO.java b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/ProvenanceRequestDTO.java
new file mode 100644
index 0000000..e9e5453
--- /dev/null
+++ b/nar-bundles/framework-bundle/framework/client-dto/src/main/java/org/apache/nifi/web/api/dto/provenance/ProvenanceRequestDTO.java
@@ -0,0 +1,118 @@
+/*
+ * 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 java.util.Date;
+import java.util.Map;
+
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import org.apache.nifi.web.api.dto.util.DateTimeAdapter;
+
+/**
+ * A request for provenance.
+ */
+@XmlType(name = "provenanceRequest")
+public class ProvenanceRequestDTO {
+
+ private Map<String, String> searchTerms;
+ private Date startDate;
+ private Date endDate;
+ private String minimumFileSize;
+ private String maximumFileSize;
+ private Integer maxResults;
+
+ /**
+ * Returns the search terms to use for this search
+ *
+ * @return
+ */
+ public Map<String, String> getSearchTerms() {
+ return searchTerms;
+ }
+
+ public void setSearchTerms(final Map<String, String> searchTerms) {
+ this.searchTerms = searchTerms;
+ }
+
+ /**
+ * The earliest event time to include in the query
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(DateTimeAdapter.class)
+ public Date getStartDate() {
+ return startDate;
+ }
+
+ public void setStartDate(Date startDate) {
+ this.startDate = startDate;
+ }
+
+ /**
+ * The latest event time to include in the query
+ *
+ * @return
+ */
+ @XmlJavaTypeAdapter(DateTimeAdapter.class)
+ public Date getEndDate() {
+ return endDate;
+ }
+
+ public void setEndDate(Date endDate) {
+ this.endDate = endDate;
+ }
+
+ /**
+ * The minimum file size to include in the query.
+ *
+ * @return
+ */
+ public String getMinimumFileSize() {
+ return minimumFileSize;
+ }
+
+ public void setMinimumFileSize(String minimumFileSize) {
+ this.minimumFileSize = minimumFileSize;
+ }
+
+ /**
+ * The maximum file size to include in the query.
+ *
+ * @return
+ */
+ public String getMaximumFileSize() {
+ return maximumFileSize;
+ }
+
+ public void setMaximumFileSize(String maximumFileSize) {
+ this.maximumFileSize = maximumFileSize;
+ }
+
+ /**
+ * The number of max results.
+ *
+ * @return
+ */
+ public Integer getMaxResults() {
+ return maxResults;
+ }
+
+ public void setMaxResults(Integer maxResults) {
+ this.maxResults = maxResults;
+ }
+}