public P4LocalFileContentRevision(@NotNull ClientConfig clientConfig, @NotNull P4LocalFile file, @Nullable HistoryContentLoader loader) { super(file.getFilePath(), file.getFilePath().getPath(), file.getHaveRevision(), loader, null); assert clientConfig.getClientname() != null: "null client name will cause issues when calling to Perforce."; this.clientConfig = clientConfig; this.file = file; }
@NotNull public static Map<String, String> toProperties(@NotNull ClientConfig config, @Nullable String valueIfUnset, @Nullable String valueIfPasswordStored, @Nullable String valueIfPasswordNotStored) { Map<String, String> props = toProperties(config.getServerConfig(), valueIfUnset, valueIfPasswordStored, valueIfPasswordNotStored); props.put(PerforceEnvironment.P4CHARSET, config.getDefaultCharSet() == null ? valueIfUnset : config.getDefaultCharSet()); props.put(PerforceEnvironment.P4IGNORE, config.getIgnoreFileName() == null ? valueIfUnset : config.getIgnoreFileName()); props.put(PerforceEnvironment.P4CLIENT, config.getClientname() == null ? valueIfUnset : config.getClientname()); props.put(PerforceEnvironment.P4HOST, config.getClientHostName() == null ? valueIfUnset : config.getClientHostName()); return props; }
@Nullable @Override public String getContent() throws VcsException { ClientConfig config = clientConfigFactory.get(); if (getLoader() == null || config == null || config.getClientname() == null) { return null; } return ContentRevisionUtil.getContent(config.getServerConfig(), config.getClientname(), getLoader(), getFile(), getIntRevisionNumber().getValue(), getCharset()); }
@NotNull public static RepositoryLocation getLocationFor(@NotNull FilePath root, @NotNull ClientConfigRoot clientRoot, @NotNull ListFilesDetailsResult details) { if (details.getFiles().isEmpty()) { String clientName = clientRoot.getClientConfig().getClientname(); if (clientName == null) { // TODO bundle string clientName = "<unknown>"; } return new LocalRepositoryLocation(clientRoot.getClientConfig().getClientServerRef(), clientName, root); } return new P4RepositoryLocationImpl(clientRoot.getClientConfig().getClientServerRef(), details.getFiles().get(0)); } }
@Nullable @Override public String getContent() throws VcsException { if (getLoader() == null || clientConfig.getClientname() == null) { return null; } return ContentRevisionUtil.getContent(clientConfig.getServerConfig(), clientConfig.getClientname(), getLoader(), getFile(), getIntRevisionNumber().getValue(), getCharset()); } }
props.setProperty(PropertyDefs.DEFAULT_CHARSET_KEY, clientConfig.getDefaultCharSet()); if (clientConfig.getClientname() != null) { props.setProperty(PropertyDefs.CLIENT_NAME_KEY, clientConfig.getClientname());
@NotNull @Override public Collection<P4LocalChangelist> getCachedOpenedChangelists(@NotNull ClientConfig config) { return openChangelists.computeIfAbsent( new ClientServerRef(config.getServerConfig().getServerName(), config.getClientname()), k -> new ArrayList<>() ); }
private IClient setupClient(@NotNull ClientConfig config) throws P4JavaException { IOptionsServer s = setupServer(config.getServerConfig()); IClient c = client; if (clientConfig != null) { c = clientConfig.configure(config, c); } when(c.getServer()).thenReturn(s); when(c.getName()).thenReturn(config.getClientname()); return c; }
public static Answer<SimpleConnectionManager> setupClient(final ClientConfig config, final TemporaryFolder tmpDir, File clientRoot, P4RequestErrorHandler errorHandler) { if (!clientRoot.isDirectory()) { if (!clientRoot.mkdirs()) { fail("Could not create " + clientRoot); } } return withConnection(config.getServerConfig(), tmpDir, errorHandler) .mapAsync(mgr -> mgr.withConnection(config.getServerConfig(), server -> { CoreFactory.createClient(server, config.getClientname(), "new client from CoreFactory", clientRoot.getAbsolutePath(), new String[]{"//depot/... //" + config.getClientname() + "/..."}, true); return mgr; })); }
private static Collection<P4LocalChangelist> createOpenedChanges( @NotNull ClientConfig clientConfig, @NotNull List<IChangelist> changes, @NotNull List<IExtendedFileSpec> pendingChangelistFiles, @NotNull Map<Integer, List<IFileSpec>> shelvedFiles, @NotNull List<IExtendedFileSpec> openedDefaultChangelistFiles) { List<P4LocalChangelist> ret = new ArrayList<>(changes.size() + 1); // Default changelist ret.add(new P4LocalChangelistImpl.Builder() .withDefaultChangelist(clientConfig.getClientServerRef()) .withClientname(clientConfig.getClientname()) .withUsername(clientConfig.getServerConfig().getUsername()) .withComment("") .withContainedFiles(getLocalFiles(openedDefaultChangelistFiles)) .build()); for (IChangelist change : changes) { ret.add( new P4LocalChangelistImpl.Builder() .withChangelistId(clientConfig.getClientServerRef(), change.getId()) .withClientname(clientConfig.getClientname()) .withUsername(clientConfig.getServerConfig().getUsername()) .withComment(change.getDescription()) .withShelvedFiles(toShelvedFiles(shelvedFiles.get(change.getId()))) .withDeleted(false) .withContainedFiles(toFiles(change, pendingChangelistFiles)) .build() ); } return ret; }
createProperties(config, cwd)); try { IClient client = server.getClient(config.getClientname()); if (client == null) { throw new ConfigException("Client does not exist: " + config.getClientname());
changelist.changelistId.id = p4ChangelistId; changelist.changelistId.ref = new ClientServerRefStore.State(); changelist.changelistId.ref.clientName = root.getClientConfig().getClientname(); changelist.changelistId.ref.serverPort = root.getServerConfig().getServerName().getFullPort(); changelist.type = P4ChangelistType.PUBLIC; changelist.deleted = false; changelist.username = root.getServerConfig().getUsername(); changelist.clientname = root.getClientConfig().getClientname(); changelist.shelvedFiles = new ArrayList<>(); changelist.containedFiles = new ArrayList<>();
String clientName = root.getClientConfig().getClientname(); if (clientName == null) { if (LOG.isDebugEnabled()) {
public void linkP4ChangelistToIdeChangelist(ClientConfigRoot root, P4ChangelistId p4cl, LocalChangeList ide) { CacheComponent cc = CacheComponent.getInstance(idea.getMockProject()); // Use the state object to avoid all the work to populate the cache. ProjectCacheStore.State state = cc.getState(); assertNotNull(state); IdeChangelistCacheStore.LinkedChangelistState linkedState = new IdeChangelistCacheStore.LinkedChangelistState(); linkedState.changelistId = new P4ChangelistIdStore.State(); linkedState.changelistId.id = p4cl.getChangelistId(); linkedState.changelistId.ref = new ClientServerRefStore.State(); linkedState.changelistId.ref.clientName = root.getClientConfig().getClientname(); linkedState.changelistId.ref.serverPort = root.getServerConfig().getServerName().getFullPort(); linkedState.linkedLocalChangeId = ide.getId(); state.changelistState.linkedChangelistMap.add(linkedState); cc.loadState(state); }
cmd.getFilesOpenInDefaultChangelist(client.getServer(), clientConfig.getClientname(), 100);
@Test void getCachedOpenedChangelists_noActions() { MockConfigPart configPart = createConfigPart(); ServerConfig serverConfig = ServerConfig.createFrom(configPart); ClientConfig clientConfig = ClientConfig.createFrom(serverConfig, configPart); ProjectCacheStore projectStore = new ProjectCacheStore(); CacheQueryHandlerImpl query = new CacheQueryHandlerImpl(idea.getMockProject(), projectStore); ClientQueryCacheStore clientStore = new ClientQueryCacheStore(clientConfig.getClientServerRef()); P4LocalChangelist cl1 = new P4LocalChangelistImpl.Builder() .withChangelistId(new P4ChangelistIdImpl(1, clientConfig.getClientServerRef())) .withComment("comment 1") .withClientname(clientConfig.getClientname()) .withUsername(serverConfig.getUsername()) .build(); clientStore.setChangelists(cl1); projectStore.addCache(clientStore); Collection<P4LocalChangelist> changes = query.getCachedOpenedChangelists(clientConfig); assertSize(1, changes); assertEqualChangelists(cl1, changes.iterator().next()); }
null + SEP, cc.getClientServerUniqueId()); assertEquals("lclient", cc.getClientname()); assertNull(cc.getClientHostName()); assertNull(cc.getIgnoreFileName()); assertEquals("lclient", cc.getClientname());
.withChangelistId(new P4ChangelistIdImpl(1, clientConfig.getClientServerRef())) .withComment("comment 1") .withClientname(clientConfig.getClientname()) .withUsername(serverConfig.getUsername()) .build(); res2.getChangelistId().getChangelistId()); assertEquals("my comment", res2.getComment()); assertEquals(clientConfig.getClientname(), res2.getClientname());
@Test void getCachedOpenedChangelists_deleteAction() { MockConfigPart configPart = createConfigPart(); ServerConfig serverConfig = ServerConfig.createFrom(configPart); ClientConfig clientConfig = ClientConfig.createFrom(serverConfig, configPart); ProjectCacheStore projectStore = new ProjectCacheStore(); CacheQueryHandlerImpl query = new CacheQueryHandlerImpl(idea.getMockProject(), projectStore); ClientQueryCacheStore clientStore = new ClientQueryCacheStore(clientConfig.getClientServerRef()); P4LocalChangelist cl1 = new P4LocalChangelistImpl.Builder() .withChangelistId(new P4ChangelistIdImpl(1, clientConfig.getClientServerRef())) .withComment("comment 1") .withClientname(clientConfig.getClientname()) .withUsername(serverConfig.getUsername()) .build(); projectStore.addPendingAction(ActionStore.createPendingAction( clientConfig.getClientServerRef(), new DeleteChangelistAction(cl1.getChangelistId()))); clientStore.setChangelists(cl1); projectStore.addCache(clientStore); Collection<P4LocalChangelist> changes = query.getCachedOpenedChangelists(clientConfig); assertSize(0, changes); }
assertEmpty(remote.getFiles()); assertNotNull(remote.getSubmittedDate()); assertEquals(clientConfig.getClientname(), remote.getClientname()); assertEquals(serverConfig.getUsername(), remote.getUsername());