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; + } +}