/******************************************************************************* * Copyright (c) 2016 Red Hat. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Red Hat - Initial Contribution *******************************************************************************/ package org.eclipse.linuxtools.internal.docker.core; import java.net.MalformedURLException; import java.net.URL; import org.eclipse.linuxtools.docker.core.AbstractRegistry; public class RegistryInfo extends AbstractRegistry { /** the registry address. */ private final String serverAddress; /** flag to indicate if the registry is the Docker Hub platform. */ private final boolean dockerHubRegistry; public RegistryInfo(final String serverAddress, final boolean dockerHubRegistry) { this.serverAddress = serverAddress; this.dockerHubRegistry = dockerHubRegistry; } public String getRegistryId() { return "getServerAddress()=" + getServerAddress(); //$NON-NLS-1$ } @Override public String getServerAddress() { return serverAddress; } @Override public String getServerHost() { try { final URL serverAddress = new URL(getServerAddress()); final String serverHost = serverAddress.getHost() + (serverAddress.getPort() != -1 ? ":" + serverAddress.getPort() : ""); //$NON-NLS-1$ return serverHost; } catch (MalformedURLException e) { // assume there was no scheme, so just use the plain // server address return getServerAddress(); } } @Override public boolean isDockerHubRegistry() { return this.dockerHubRegistry; } @Override public boolean isAuthProvided() { return false; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + (dockerHubRegistry ? 1231 : 1237); result = prime * result + ((serverAddress == null) ? 0 : serverAddress.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } RegistryInfo other = (RegistryInfo) obj; if (dockerHubRegistry != other.dockerHubRegistry) { return false; } if (serverAddress == null) { if (other.serverAddress != null) { return false; } } else if (!serverAddress.equals(other.serverAddress)) { return false; } return true; } @Override public String toString() { return serverAddress; } @Override protected void enableDockerAuthenticator() { return; } @Override protected void restoreAuthenticator() { return; } }