Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: 5623557dbf23252f76f41259361e64f598dfc73e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
/*******************************************************************************
 * Copyright (c) 2016, 2018 Red Hat.
 * 
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *     Red Hat - Initial Contribution
 *******************************************************************************/
package org.eclipse.linuxtools.internal.docker.core;

import org.eclipse.linuxtools.docker.core.IDockerConnection;
import org.eclipse.linuxtools.docker.core.IDockerVersion;

import com.spotify.docker.client.DockerClient;
import com.spotify.docker.client.messages.Version;

public class DockerVersion implements IDockerVersion {

	private IDockerConnection parent;
	private String apiVersion;
	private String arch;
	private String gitCommit;
	private String goVersion;
	private String kernelVersion;
	private String os;
	private String version;

	/**
	 * Constructor.
	 * 
	 * @param connection
	 *            the Docker connection
	 * @param version
	 *            the underlying {@link Version} data returned by the
	 *            {@link DockerClient}
	 */
	public DockerVersion(final IDockerConnection connection,
			final Version version) {
		this.parent = connection;
		this.apiVersion = version.apiVersion();
		this.arch = version.arch();
		this.gitCommit = version.gitCommit();
		this.goVersion = version.goVersion();
		this.kernelVersion = version.kernelVersion();
		this.os = version.os();
		this.version = version.version();
	}

	@Override
	public IDockerConnection getConnection() {
		return parent;
	}

	@Override
	public String apiVersion() {
		return apiVersion;
	}

	@Override
	public String arch() {
		return arch;
	}

	@Override
	public String gitCommit() {
		return gitCommit;
	}

	@Override
	public String goVersion() {
		return goVersion;
	}

	@Override
	public String kernelVersion() {
		return kernelVersion;
	}

	@Override
	public String os() {
		return os;
	}

	@Override
	public String version() {
		return version;
	}

	@Override
	public boolean equals(final Object o) {
		if (this == o) {
			return true;
		}
		if (o == null || getClass() != o.getClass()) {
			return false;
		}

		final DockerVersion version1 = (DockerVersion) o;

		if (apiVersion != null ? !apiVersion.equals(version1.apiVersion)
				: version1.apiVersion != null) {
			return false;
		}
		if (arch != null ? !arch.equals(version1.arch)
				: version1.arch != null) {
			return false;
		}
		if (gitCommit != null ? !gitCommit.equals(version1.gitCommit)
				: version1.gitCommit != null) {
			return false;
		}
		if (goVersion != null ? !goVersion.equals(version1.goVersion)
				: version1.goVersion != null) {
			return false;
		}
		if (kernelVersion != null
				? !kernelVersion.equals(version1.kernelVersion)
				: version1.kernelVersion != null) {
			return false;
		}
		if (os != null ? !os.equals(version1.os) : version1.os != null) {
			return false;
		}
		if (version != null ? !version.equals(version1.version)
				: version1.version != null) {
			return false;
		}

		return true;
	}

	@Override
	public int hashCode() {
		int result = apiVersion != null ? apiVersion.hashCode() : 0;
		result = 31 * result + (arch != null ? arch.hashCode() : 0);
		result = 31 * result + (gitCommit != null ? gitCommit.hashCode() : 0);
		result = 31 * result + (goVersion != null ? goVersion.hashCode() : 0);
		result = 31 * result
				+ (kernelVersion != null ? kernelVersion.hashCode() : 0);
		result = 31 * result + (os != null ? os.hashCode() : 0);
		result = 31 * result + (version != null ? version.hashCode() : 0);
		return result;
	}

	@Override
	public String toString() {
		return "Version: apiVersion=" + apiVersion + "\n" + "arch" + arch + "\n"
				+ "gitCommit" + gitCommit + "\n" + "goVersion" + goVersion
				+ "\n" + "kernelVersion" + kernelVersion + "\n" + "os" + os
				+ "\n" + "version" + version + "\n";
	}

}

Back to the top