Added missing CF target files
This commit is contained in:
@@ -8,13 +8,13 @@
|
||||
* Contributors:
|
||||
* Pivotal, Inc. - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package org.springframework.ide.vscode.commons.cloudfoundry.client.target;
|
||||
package org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.target.CFCredentials.CFCredentialType;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget.CFCredentials.CFCredentialType;
|
||||
import org.springframework.ide.vscode.commons.util.Assert;
|
||||
|
||||
/**
|
||||
@@ -8,7 +8,7 @@
|
||||
* Contributors:
|
||||
* Pivotal, Inc. - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package org.springframework.ide.vscode.commons.cloudfoundry.client.target;
|
||||
package org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -0,0 +1,68 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2017 Pivotal, Inc.
|
||||
* 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:
|
||||
* Pivotal, Inc. - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.CFBuildpack;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.v2.ClientRequests;
|
||||
|
||||
public class CFClientTarget {
|
||||
|
||||
private final CFClientParams params;
|
||||
private final ClientRequests requests;
|
||||
private final String targetName;
|
||||
|
||||
/*
|
||||
* Cached information
|
||||
*/
|
||||
private List<CFBuildpack> buildpacks;
|
||||
private final static Logger logger = Logger.getLogger(CFClientTarget.class.getName());
|
||||
|
||||
public CFClientTarget(CFClientParams params, ClientRequests requests, String targetName) {
|
||||
this.params = params;
|
||||
this.requests = requests;
|
||||
this.targetName = targetName;
|
||||
}
|
||||
|
||||
public CFClientParams getParams() {
|
||||
return params;
|
||||
}
|
||||
|
||||
|
||||
public List<CFBuildpack> getBuildpacks() {
|
||||
if (buildpacks == null) {
|
||||
try {
|
||||
buildpacks=getClientRequests().getBuildpacks();
|
||||
} catch (Exception e) {
|
||||
logger .log(Level.SEVERE, e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
return buildpacks;
|
||||
}
|
||||
|
||||
public ClientRequests getClientRequests() {
|
||||
return requests;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return this.targetName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CFClientTarget [params=" + params + ", targetName=" + targetName + "]";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2017 Pivotal, Inc.
|
||||
* 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:
|
||||
* Pivotal, Inc. - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.v2.ClientRequests;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.v2.CloudFoundryClientFactory;
|
||||
|
||||
public class CFClientTargets {
|
||||
|
||||
private final CFClientParamsFactory paramsFactory;
|
||||
private final CloudFoundryClientFactory clientFactory;
|
||||
|
||||
public CFClientTargets(CFClientParamsFactory paramsFactory, CloudFoundryClientFactory clientFactory) {
|
||||
this.paramsFactory = paramsFactory;
|
||||
this.clientFactory = clientFactory;
|
||||
}
|
||||
|
||||
public List<CFClientTarget> getTargets() throws Exception {
|
||||
List<CFClientParams> allParams = paramsFactory.getParams();
|
||||
List<CFClientTarget> targets = new ArrayList<>();
|
||||
if (allParams != null) {
|
||||
for (CFClientParams parameters : allParams) {
|
||||
ClientRequests requests = clientFactory.getClient(parameters);
|
||||
if (requests != null) {
|
||||
targets.add(new CFClientTarget(parameters, requests, getTargetName(parameters)));
|
||||
}
|
||||
}
|
||||
}
|
||||
return targets;
|
||||
}
|
||||
|
||||
protected String getTargetName(CFClientParams params) {
|
||||
return labelFromCfApi(params.getApiUrl());
|
||||
}
|
||||
|
||||
public static String labelFromCfApi(String cfApiUrl) {
|
||||
if (cfApiUrl.startsWith("https://")) {
|
||||
return cfApiUrl.substring("https://".length());
|
||||
} else if (cfApiUrl.startsWith("http://")) {
|
||||
return cfApiUrl.substring("http://".length());
|
||||
} else {
|
||||
return cfApiUrl;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -8,7 +8,7 @@
|
||||
* Contributors:
|
||||
* Pivotal, Inc. - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package org.springframework.ide.vscode.commons.cloudfoundry.client.target;
|
||||
package org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget;
|
||||
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.LoginMethod;
|
||||
import org.springframework.ide.vscode.commons.util.Assert;
|
||||
@@ -8,7 +8,7 @@
|
||||
* Contributors:
|
||||
* Pivotal, Inc. - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package org.springframework.ide.vscode.commons.cloudfoundry.client.target;
|
||||
package org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@@ -26,7 +26,7 @@ import org.cloudfoundry.reactor.tokenprovider.OneTimePasscodeTokenProvider;
|
||||
import org.cloudfoundry.reactor.tokenprovider.PasswordGrantTokenProvider;
|
||||
import org.cloudfoundry.reactor.tokenprovider.RefreshTokenGrantTokenProvider;
|
||||
import org.cloudfoundry.reactor.uaa.ReactorUaaClient;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.target.CFCredentials;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget.CFCredentials;
|
||||
|
||||
/**
|
||||
* TODO: Remove this class when the 'thread leak bug' in V2 client is fixed.
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
*******************************************************************************/
|
||||
package org.springframework.ide.vscode.commons.cloudfoundry.client.v2;
|
||||
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.target.CFClientParams;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget.CFClientParams;
|
||||
|
||||
public interface CloudFoundryClientFactory {
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ import org.springframework.ide.vscode.commons.cloudfoundry.client.CFSpace;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.CFStack;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.SshClientSupport;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.SshHost;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.target.CFClientParams;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget.CFClientParams;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.v2.CancelationTokens.CancelationToken;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.v2.CloudFoundryClientCache.CFClientProvider;
|
||||
import org.springframework.ide.vscode.commons.util.ExceptionUtil;
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
*******************************************************************************/
|
||||
package org.springframework.ide.vscode.commons.cloudfoundry.client.v2;
|
||||
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.target.CFClientParams;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget.CFClientParams;
|
||||
|
||||
public class DefaultCloudFoundryClientFactoryV2 implements CloudFoundryClientFactory {
|
||||
|
||||
|
||||
@@ -16,9 +16,9 @@ import java.util.List;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.target.CFClientParamsFactory;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.target.CFClientTarget;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.target.CFClientTargets;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget.CFClientParamsFactory;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget.CFClientTarget;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget.CFClientTargets;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.v2.CloudFoundryClientFactory;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.v2.DefaultCloudFoundryClientFactoryV2;
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ import java.util.logging.Logger;
|
||||
import javax.inject.Provider;
|
||||
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.CFBuildpack;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.target.CFClientTarget;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget.CFClientTarget;
|
||||
import org.springframework.ide.vscode.commons.yaml.schema.BasicYValueHint;
|
||||
import org.springframework.ide.vscode.commons.yaml.schema.YValueHint;
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ import java.util.logging.Logger;
|
||||
import javax.inject.Provider;
|
||||
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.CFServiceInstance;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.target.CFClientTarget;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget.CFClientTarget;
|
||||
import org.springframework.ide.vscode.commons.yaml.schema.BasicYValueHint;
|
||||
import org.springframework.ide.vscode.commons.yaml.schema.YValueHint;
|
||||
|
||||
|
||||
@@ -10,9 +10,9 @@ import javax.inject.Provider;
|
||||
import org.eclipse.lsp4j.CompletionOptions;
|
||||
import org.eclipse.lsp4j.ServerCapabilities;
|
||||
import org.eclipse.lsp4j.TextDocumentSyncKind;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.target.CFClientParamsFactory;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.target.CFClientTarget;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.target.CFClientTargets;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget.CFClientParamsFactory;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget.CFClientTarget;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.cftarget.CFClientTargets;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.v2.CloudFoundryClientFactory;
|
||||
import org.springframework.ide.vscode.commons.cloudfoundry.client.v2.DefaultCloudFoundryClientFactoryV2;
|
||||
import org.springframework.ide.vscode.commons.languageserver.completion.VscodeCompletionEngine;
|
||||
|
||||
Reference in New Issue
Block a user