Github user phrocker commented on a diff in the pull request:
https://github.com/apache/nifi-minifi/pull/118#discussion_r175205789
--- Diff:
minifi-c2/minifi-c2-commons/src/main/java/org/apache/nifi/minifi/c2/model/extension/Bundle.java
---
@@ -0,0 +1,106 @@
+/*
+ * 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.minifi.c2.model.extension;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Objects;
+
+@ApiModel
+public class Bundle {
+
+ public static final String DEFAULT_GROUP = "default";
+ public static final String DEFAULT_ARTIFACT = "unknown";
+ public static final String DEFAULT_VERSION = "unversioned";
+
+ private String group;
+ private String artifact;
+ private String version;
+ // TODO md5sum?
+ private BundleManifest bundleManifest;
+
+ public Bundle() {}
+
+ public Bundle(String group, String artifact, String version) {
+ this.group = group;
+ this.artifact = artifact;
+ this.version = version;
+ }
+
+ public static Bundle defaultBundle() {
+ return new Bundle(DEFAULT_GROUP, DEFAULT_ARTIFACT,
DEFAULT_VERSION);
+ }
+
+ @ApiModelProperty(
+ value = "The group id of the bundle",
+ notes = "A globally unique group namespace, e.g.,
org.apache.nifi",
+ required = true)
+ public String getGroup() {
+ return group;
+ }
+
+ public void setGroup(String group) {
+ this.group = group;
+ }
+
+ @ApiModelProperty(
+ value = "The artifact id of the bundle",
+ notes = "Unique within the group",
+ required = true)
+ public String getArtifact() {
+ return artifact;
+ }
+
+ public void setArtifact(String artifact) {
+ this.artifact = artifact;
+ }
+
+ @ApiModelProperty("The version of the bundle artifact")
+ public String getVersion() {
+ return version;
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ @ApiModelProperty(value = "The full specification of the bundle
contents",
+ notes = "This is optional, as the group, artifact, and version
are " +
+ "also enough to reference a bundle in the case the
bundle " +
+ "specification has been published to a registry.")
+ public BundleManifest getBundleManifest() {
+ return bundleManifest;
+ }
+
+ public void setBundleManifest(BundleManifest bundleManifest) {
+ this.bundleManifest = bundleManifest;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
--- End diff --
Equals builder can make this a little cleaner. I see that commons-lang is
in the root pom.
---