@Override public boolean equals(Object other) { if (other == null) { return false; } if (this == other) { return true; } if (!(other instanceof ServerConfig)) { return false; } ServerConfig sc = (ServerConfig) other; return sc.getServerId().equals(getServerId()); }
@Override public int hashCode() { return getServerId().hashCode(); }
/** Should be called for application-level invocations. */ @NotNull private Optional<ServerConnectionState> getAppStateFor(@NotNull ServerConfig config) { ServerConnectionState state; synchronized (stateCache) { state = stateCache.get(config.getServerId()); } return Optional.ofNullable(state); }
public boolean isIn(@NotNull ServerConfig config) { return getServerConfig().getServerId().equals(config.getServerId()); }
private ServerStatusImpl getServerConfigState(@NotNull ServerConfig config) { ServerRef ref; synchronized (registeredServers) { ref = registeredServers.get(config.getServerId()); } if (ref != null && !ref.state.isDisposed()) { return ref.state; } return null; }
/** * Should be called for project-level invocations only, because it will create a project-level reference to * the server config. * * @param config config * @return state for the config */ @NotNull private ServerConnectionState getProjectStateFor(@NotNull ServerConfig config) { ServerConnectionState state; synchronized (stateCache) { state = stateCache.get(config.getServerId()); if (state == null) { state = new ServerConnectionState(config); stateCache.put(config.getServerId(), state); } } return state; }
private void deregisterServerForConfig(ClientConfig config) { synchronized (registeredServers) { ServerRef ref = registeredServers.get(config.getServerConfig().getServerId()); if (ref != null) { if (ref.removeClientConfig()) { registeredServers.remove(config.getServerConfig().getServerId()); ref.state.dispose(); } } } }
@Override protected void onServerConnected(@NotNull ServerConnectedMessage.ServerConnectedEvent e) { // Note: does not check disposed state. getServersFor(e.getServerConfig().getServerName()).forEach((state) -> { state.setServerHostProblem(false); // If the connectivity and login all lines up, then the login works. if (e.isLoggedIn() && e.getServerConfig().getServerId().equals(state.getServerConfig().getServerId())) { state.setServerLoginProblem(false); } }); }
private ClientConfigRootImpl createClientConfigState(@NotNull ClientConfig inpConfig, @NotNull VirtualFile vcsRootDir) { ServerStatusImpl serverState; synchronized (registeredServers) { ServerRef ref = registeredServers.get(inpConfig.getServerConfig().getServerId()); if (ref == null || ref.state.isDisposed()) { ref = new ServerRef(createServerConfigState(inpConfig.getServerConfig())); registeredServers.put(inpConfig.getServerConfig().getServerId(), ref); } ref.addClientConfigRef(); serverState = ref.state; } ClientConfig config; synchronized (registeredClients) { ClientRef ref = registeredClients.get(inpConfig.getClientServerRef()); if (ref == null || ref.isDisposed()) { ref = new ClientRef(inpConfig); registeredClients.put(inpConfig.getClientServerRef(), ref); } ref.addClientConfigRootRef(); config = ref.state; } return new ClientConfigRootImpl(config, serverState, vcsRootDir); }
: null; this.clientServerUniqueId = serverConfig.getServerId() + SEP + this.clientName + SEP + this.clientHostName + SEP +
assertThat(cc.getConfigVersion(), greaterThan(0)); assertEquals( sc.getServerId() + SEP + "lclient" + SEP + null + SEP +
@Test void createFrom_empty() { ServerConfig sc = ServerConfig.createFrom( new MockConfigPart() .withUsername("username") .withServerName("servername") ); assertEquals(P4ServerName.forPort("servername"), sc.getServerName()); assertEquals("username", sc.getUsername()); assertNull(sc.getServerFingerprint()); assertNull(sc.getAuthTicket()); assertNull(sc.getTrustTicket()); assertNull(sc.getLoginSso()); assertThat(sc.getConfigVersion(), greaterThan(0)); assertFalse(sc.hasServerFingerprint()); assertFalse(sc.hasAuthTicket()); assertFalse(sc.hasTrustTicket()); assertFalse(sc.hasLoginSso()); assertFalse(sc.usesStoredPassword()); assertEquals("localhost:servername" + SEP + "username" + SEP + "null" + SEP + "null" + SEP + "null", sc.getServerId()); }