IEclipsePreferences node = projectScope.getNode(ForceIdeCorePlugin.getPluginId());
return node;
}
public ForceProject getForceProject(IProject project) {
ForceProject forceProject = new ForceProject();
IEclipsePreferences preferences = getPreferences(project);
if (preferences == null) {
return forceProject;
}
forceProject.setProject(project);
forceProject.setUserName(preferences.get(Constants.PROP_USERNAME, null));
forceProject.setNamespacePrefix(preferences.get(Constants.PROP_NAMESPACE_PREFIX, null));
// previous versions (<154) stored the full endpoint
String endpoint = preferences.get(Constants.PROP_ENDPOINT, null);
String endpointServer = preferences.get(Constants.PROP_ENDPOINT_SERVER, null);
if (Utils.isNotEmpty(endpoint) && Utils.isEmpty(endpointServer)) {
endpointServer = Utils.getServerNameFromUrl(endpoint);
}
forceProject.setPackageName(preferences.get(Constants.PROP_PACKAGE_NAME, null));
forceProject.setEndpointServer(endpointServer);
forceProject.setEndpointEnvironment(preferences.get(Constants.PROP_ENDPOINT_ENVIRONMENT, null));
forceProject.setEndpointApiVersion(preferences.get(Constants.PROP_ENDPOINT_API_VERSION,
getLastSupportedEndpointVersion()));
forceProject.setMetadataFormatVersion(preferences.get(Constants.PROP_METADATA_FORMAT_VERSION,
getLastSupportedEndpointVersion()));
forceProject.setIdeVersion(preferences.get(Constants.PROP_IDE_VERSION, Constants.EMPTY_STRING));
forceProject.setProjectIdentifier(preferences.get(Constants.PROP_PROJECT_IDENTIFIER, Constants.EMPTY_STRING));
forceProject.setKeepEndpoint(preferences.getBoolean(Constants.PROP_KEEP_ENDPOINT, false));
forceProject.setPreferToolingDeployment(preferences.getBoolean(Constants.PROP_PREFER_TOOLING_DEPLOYMENT, true));
forceProject.setHttpsProtocol(preferences.getBoolean(Constants.PROP_HTTPS_PROTOCOL, true));
forceProject.setReadTimeoutSecs(preferences.getInt(Constants.PROP_READ_TIMEOUT,
Constants.READ_TIMEOUT_IN_SECONDS_DEFAULT));
if (Utils.isEmpty(forceProject.getEndpointServer())) {
logger.warn("Unable to get authorization info - endpoint is null or empty");
return forceProject;
}
URL url = null;
try {
url = new URL(AUTH_URL);
} catch (MalformedURLException e) {
logger.error("Invalid URL ", e);
}
Map<?, ?> credentialMap = getAuthorizationService().getCredentialMap(url, project.getName(), AUTH_TYPE);
if (credentialMap != null) {
String password = (String) credentialMap.get(Constants.PROP_PASSWORD);
String token = (String) credentialMap.get(Constants.PROP_TOKEN);
// identification of old storage
if (password.equals("") && token.equals("")) {
Map oldCrendtialMap = migrateOldAuthInfoAndGetNewCredentials(url, project, AUTH_TYPE);
if (oldCrendtialMap != null) {
password = (String) oldCrendtialMap.get(Constants.PROP_PASSWORD);
token = (String) oldCrendtialMap.get(Constants.PROP_TOKEN);
}
}
forceProject.setPassword(password);
forceProject.setToken(token);
}
defaultApiVersionCheck(forceProject);
return forceProject;