diff options
Diffstat (limited to 'adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud')
10 files changed, 312 insertions, 44 deletions
diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfig.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfig.java index 275241f768..2c15391c81 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfig.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfig.java @@ -7,9 +7,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -27,18 +27,22 @@ import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Optional; -import org.codehaus.jackson.annotate.JsonProperty; -import org.codehaus.jackson.map.DeserializationConfig; -import org.codehaus.jackson.map.ObjectMapper; -import org.codehaus.jackson.map.annotate.JsonRootName; + import org.openecomp.mso.logger.MsoLogger; import org.openecomp.mso.openstack.exceptions.MsoCloudIdentityNotFound; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonRootName; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.ObjectMapper; + /** * JavaBean JSON class for a CloudConfig. This bean maps a JSON-format cloud * configuration file to Java. The CloudConfig contains information about - * Openstack cloud configurations. It includes: - * - CloudIdentity objects,representing DCP nodes (Openstack Identity Service) + * Openstack cloud configurations. It includes: + * - CloudIdentity objects,representing DCP nodes (Openstack Identity Service) * - CloudSite objects, representing LCP nodes (Openstack Compute & other services) * * Note that this is only used to access Cloud Configurations loaded from a JSON @@ -46,6 +50,7 @@ import org.openecomp.mso.openstack.exceptions.MsoCloudIdentityNotFound; * * This class also contains methods to query cloud sites and/or identity * services by ID. + * */ @JsonRootName("cloud_config") @@ -61,11 +66,13 @@ public class CloudConfig { @JsonProperty("identity_services") private Map<String, CloudIdentity> identityServices = new HashMap<>(); @JsonProperty("cloud_sites") - private Map<String, CloudSite> cloudSites = new HashMap<>(); + private Map <String, CloudSite> cloudSites = new HashMap <String, CloudSite> (); + @JsonProperty("cloudify_managers") + private Map <String, CloudifyManager> cloudifyManagers = new HashMap <String, CloudifyManager> (); public CloudConfig() { - mapper.enable(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE); - mapper.enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY); + mapper.enable(DeserializationFeature.UNWRAP_ROOT_VALUE); + mapper.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY); } /** @@ -82,6 +89,14 @@ public class CloudConfig { return Collections.unmodifiableMap(cloudSites); } + /** + * Get a Map of all CloudifyManagers that have been loaded. + * @return the Map + */ + public synchronized Map <String, CloudifyManager> getCloudifyManagers () { + return cloudifyManagers; + } + /** * Get a specific CloudSites, based on an ID. The ID is first checked * against the regions, and if no match is found there, then against @@ -98,11 +113,10 @@ public class CloudConfig { if (cloudSites.containsKey(id)) { return Optional.ofNullable(cloudSites.get(id)); } - return Optional.ofNullable(getCloudSiteWithClli(id)); + return null; } - - private CloudSite getCloudSiteWithClli(String clli) { + private CloudSite getCloudSiteWithClli(String clli) { Optional <CloudSite> cloudSiteOptional = cloudSites.values().stream().filter(cs -> cs.getClli() != null && clli.equals(cs.getClli()) && (CLOUD_SITE_VERSION.equals(cs.getAic_version()))) .findAny(); @@ -124,7 +138,7 @@ public class CloudConfig { /** * Get a specific CloudIdentity, based on an ID. - * + * * @param id * the ID to match * @return a CloudIdentity, or null of no match found @@ -136,6 +150,18 @@ public class CloudConfig { return null; } + /** + * Get a specific CloudifyManager, based on an ID. + * @param id the ID to match + * @return a CloudifyManager, or null of no match found + */ + public synchronized CloudifyManager getCloudifyManager (String id) { + if (cloudifyManagers.containsKey (id)) { + return cloudifyManagers.get (id); + } + return null; + } + protected synchronized void reloadPropertiesFile() throws IOException, MsoCloudIdentityNotFound { this.loadCloudConfig(this.configFilePath, this.refreshTimerInMinutes); } @@ -156,12 +182,18 @@ public class CloudConfig { this.cloudSites = cloudConfig.cloudSites; this.identityServices = cloudConfig.identityServices; + this.cloudifyManagers = cloudConfig.cloudifyManagers; // Copy Cloud Identity IDs to CloudIdentity objects for (Entry<String, CloudIdentity> entry : cloudConfig.getIdentityServices().entrySet()) { entry.getValue().setId(entry.getKey()); } + // Copy Cloduify IDs to CloudifyManager objects + for (Entry <String, CloudifyManager> entry : cloudConfig.getCloudifyManagers ().entrySet ()) { + entry.getValue ().setId (entry.getKey ()); + } + // Copy Cloud Site IDs to CloudSite objects, and set up internal // pointers to their corresponding identity service. for (Entry<String, CloudSite> entry : cloudConfig.getCloudSites().entrySet()) { @@ -172,9 +204,11 @@ public class CloudConfig { if (cloudIdentity == null) { throw new MsoCloudIdentityNotFound(s.getId()+" Cloud site refers to a non-existing identity service: "+s.getIdentityServiceId()); } + CloudifyManager cloudifyManager = cloudConfig.getCloudifyManager(s.getCloudifyId()); + s.setCloudifyManager(cloudifyManager); } this.validCloudConfig=true; - + } finally { try { if (reader != null) { @@ -201,11 +235,20 @@ public class CloudConfig { public synchronized CloudConfig clone() { CloudConfig ccCopy = new CloudConfig(); for (Entry<String, CloudIdentity> e : identityServices.entrySet()) { + ccCopy.identityServices.put(e.getKey(), e.getValue().clone()); } + for (Entry<String, CloudSite> e : cloudSites.entrySet()) { + ccCopy.cloudSites.put(e.getKey(), e.getValue().clone()); } + + for (Entry<String,CloudifyManager> e:cloudifyManagers.entrySet()) { + + ccCopy.cloudifyManagers.put(e.getKey(), e.getValue().clone()); + } + ccCopy.configFilePath = this.configFilePath; ccCopy.refreshTimerInMinutes = this.refreshTimerInMinutes; ccCopy.validCloudConfig = this.validCloudConfig; @@ -261,5 +304,5 @@ public class CloudConfig { return true; } - + } diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfigFactory.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfigFactory.java index 144506c3bd..9f6520cf7e 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfigFactory.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfigFactory.java @@ -34,8 +34,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.Response; -import org.codehaus.jackson.JsonParseException; -import org.codehaus.jackson.map.JsonMappingException; + import org.openecomp.mso.logger.MessageEnum; import org.openecomp.mso.logger.MsoLogger; import org.openecomp.mso.openstack.exceptions.MsoCloudIdentityNotFound; @@ -43,6 +42,9 @@ import org.openecomp.mso.openstack.utils.MsoHeatUtils; import org.openecomp.mso.openstack.utils.MsoKeystoneUtils; import org.openecomp.mso.openstack.utils.MsoNeutronUtils; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.databind.JsonMappingException; + /** * This class returns a cloud Config instances */ diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudIdentity.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudIdentity.java index 3dd4cbfc9c..07f0546256 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudIdentity.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudIdentity.java @@ -23,12 +23,12 @@ package org.openecomp.mso.cloud; +import java.security.GeneralSecurityException; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.woorea.openstack.keystone.model.Authentication; import com.woorea.openstack.keystone.model.authentication.UsernamePassword; -import java.security.GeneralSecurityException; -import org.codehaus.jackson.annotate.JsonProperty; -import org.codehaus.jackson.map.annotate.JsonDeserialize; -import org.codehaus.jackson.map.annotate.JsonSerialize; import org.openecomp.mso.cloud.authentication.AuthenticationMethodFactory; import org.openecomp.mso.cloud.authentication.AuthenticationWrapper; import org.openecomp.mso.cloud.authentication.wrappers.RackspaceAPIKeyWrapper; diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudSite.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudSite.java index 193931ecca..1d013ebc60 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudSite.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudSite.java @@ -21,7 +21,7 @@ package org.openecomp.mso.cloud; -import org.codehaus.jackson.annotate.JsonProperty; +import com.fasterxml.jackson.annotation.JsonProperty; /** * JavaBean JSON class for a CloudSite. This bean represents a cloud location @@ -44,9 +44,17 @@ public class CloudSite { private String aic_version; @JsonProperty("clli") private String clli; + @JsonProperty("cloudify_id") + private String cloudifyId; + @JsonProperty("platform") + private String platform; + @JsonProperty("orchestrator") + private String orchestrator; // Derived property (set by CloudConfig loader based on identityServiceId) private CloudIdentity identityService; + // Derived property (set by CloudConfig loader based on cloudifyId) + private CloudifyManager cloudifyManager; public CloudSite() {} @@ -93,13 +101,48 @@ public class CloudSite { this.clli = clli; } + public String getCloudifyId() { + return cloudifyId; + } + + public void setCloudifyId (String id) { + this.cloudifyId = id; + } + + public CloudifyManager getCloudifyManager () { + return cloudifyManager; + } + + public void setCloudifyManager (CloudifyManager cloudify) { + this.cloudifyManager = cloudify; + } + + public String getPlatform() { + return platform; + } + + public void setPlatform(String platform) { + this.platform = platform; + } + + public String getOrchestrator() { + return orchestrator; + } + + public void setOrchestrator(String orchestrator) { + this.orchestrator = orchestrator; + } + @Override public String toString() { return "CloudSite: id=" + id + ", regionId=" + regionId + ", identityServiceId=" + identityServiceId + ", aic_version=" + aic_version + - ", clli=" + clli; + ", clli=" + clli + + ", cloudifyId=" + cloudifyId + + ", platform=" + platform + + ", orchestrator=" + orchestrator; } @Override @@ -111,6 +154,11 @@ public class CloudSite { cloudSiteCopy.aic_version = this.aic_version; cloudSiteCopy.clli = this.clli; cloudSiteCopy.identityService = this.identityService.clone(); + cloudSiteCopy.cloudifyId = this.cloudifyId; + if (this.cloudifyManager != null) cloudSiteCopy.cloudifyManager = this.cloudifyManager.clone(); + cloudSiteCopy.platform = this.platform; + cloudSiteCopy.orchestrator = this.orchestrator; + return cloudSiteCopy; } diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudifyManager.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudifyManager.java new file mode 100644 index 0000000000..98f2266216 --- /dev/null +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudifyManager.java @@ -0,0 +1,169 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.cloud; + +import java.security.GeneralSecurityException; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import org.openecomp.mso.utils.CryptoUtils; +import org.openecomp.mso.logger.MessageEnum; +import org.openecomp.mso.logger.MsoLogger; + +/** + * JavaBean JSON class for a Cloudify Manager. This bean represents a Cloudify + * node through which TOSCA-based VNFs may be deployed. Each CloudSite in the + * CloudConfig may have a Cloudify Manager for deployments using TOSCA blueprints. + * Cloudify Managers may support multiple Cloud Sites, but each site will have + * at most one Cloudify Manager. + * + * This does not replace the ability to use the CloudSite directly via Openstack. + * + * Note that this is only used to access Cloud Configurations loaded from a + * JSON config file, so there are no explicit setters. + * + * @author JC1348 + */ +public class CloudifyManager { + + private static MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.RA); + + @JsonProperty + private String id; + @JsonProperty ("cloudify_url") + private String cloudifyUrl; + @JsonProperty("username") + private String username; + @JsonProperty("password") + private String password; + @JsonProperty("version") + private String version; + + private static String cloudKey = "aa3871669d893c7fb8abbcda31b88b4f"; + + public CloudifyManager() {} + + public String getId() { + return id; + } + public void setId(String id) { + this.id = id; + } + + public String getCloudifyUrl() { + return cloudifyUrl; + } + + public void setCloudifyUrl(String cloudifyUrl) { + this.cloudifyUrl = cloudifyUrl; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + try { + return CryptoUtils.decrypt (password, cloudKey); + } catch (GeneralSecurityException e) { + LOGGER.error (MessageEnum.RA_GENERAL_EXCEPTION, "", "", MsoLogger.ErrorCode.BusinessProcesssError, "Exception in getMsoPass", e); + return null; + } + } + + public void setPassword(String password) { + this.password = password; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + + @Override + public String toString() { + return "CloudifyManager: id=" + id + + ", cloudifyUrl=" + cloudifyUrl + + ", username=" + username + + ", password=" + password + + ", version=" + version; + } + + @Override + public CloudifyManager clone() { + CloudifyManager cloudifyManagerCopy = new CloudifyManager(); + cloudifyManagerCopy.id = this.id; + cloudifyManagerCopy.cloudifyUrl = this.cloudifyUrl; + cloudifyManagerCopy.username = this.username; + cloudifyManagerCopy.password = this.password; + cloudifyManagerCopy.version = this.version; + return cloudifyManagerCopy; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((id == null) ? 0 : id.hashCode()); + result = prime * result + ((cloudifyUrl == null) ? 0 : cloudifyUrl.hashCode()); + result = prime * result + ((username == null) ? 0 : username.hashCode()); + result = prime * result + ((password == null) ? 0 : password.hashCode()); + result = prime * result + ((version == null) ? 0 : version.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; + CloudifyManager other = (CloudifyManager) obj; + if (!cmp(id, other.id)) + return false; + if (!cmp(cloudifyUrl, other.cloudifyUrl)) + return false; + if (!cmp(username, other.username)) + return false; + if (!cmp(version, other.version)) + return false; + if (!cmp(password, other.password)) + return false; + return true; + } + private boolean cmp(Object a, Object b) { + if (a == null) { + return (b == null); + } else { + return a.equals(b); + } + } +} diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/IdentityAuthenticationTypeJsonDeserializer.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/IdentityAuthenticationTypeJsonDeserializer.java index dcd8de79aa..2b50c2690c 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/IdentityAuthenticationTypeJsonDeserializer.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/IdentityAuthenticationTypeJsonDeserializer.java @@ -21,16 +21,17 @@ package org.openecomp.mso.cloud; import java.io.IOException;
-import org.codehaus.jackson.JsonParser;
-import org.codehaus.jackson.JsonToken;
-import org.codehaus.jackson.map.DeserializationContext;
-import org.codehaus.jackson.map.JsonDeserializer;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonDeserializer;
public class IdentityAuthenticationTypeJsonDeserializer extends JsonDeserializer<IdentityAuthenticationTypeAbstract> {
@Override
public IdentityAuthenticationTypeAbstract deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
- throws IOException {
+ throws IOException, JsonProcessingException {
JsonToken token = jsonParser.getCurrentToken();
if (JsonToken.VALUE_STRING.equals(token)) {
return IdentityAuthenticationTypeAbstract.valueOf(jsonParser.getText());
diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/IdentityAuthenticationTypeJsonSerializer.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/IdentityAuthenticationTypeJsonSerializer.java index 052f09ab85..065010035c 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/IdentityAuthenticationTypeJsonSerializer.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/IdentityAuthenticationTypeJsonSerializer.java @@ -21,9 +21,9 @@ package org.openecomp.mso.cloud; import java.io.IOException;
-import org.codehaus.jackson.JsonGenerator;
-import org.codehaus.jackson.map.JsonSerializer;
-import org.codehaus.jackson.map.SerializerProvider;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.SerializerProvider;
public class IdentityAuthenticationTypeJsonSerializer extends JsonSerializer<IdentityAuthenticationTypeAbstract> {
diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/IdentityServerTypeJsonDeserializer.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/IdentityServerTypeJsonDeserializer.java index bb8a3f1fd9..093f7ff38b 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/IdentityServerTypeJsonDeserializer.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/IdentityServerTypeJsonDeserializer.java @@ -23,16 +23,18 @@ package org.openecomp.mso.cloud; import java.io.IOException;
-import org.codehaus.jackson.JsonParser;
-import org.codehaus.jackson.JsonToken;
-import org.codehaus.jackson.map.DeserializationContext;
-import org.codehaus.jackson.map.JsonDeserializer;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonDeserializer;
+
public class IdentityServerTypeJsonDeserializer extends JsonDeserializer<IdentityServerTypeAbstract> {
@Override
public IdentityServerTypeAbstract deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
- throws IOException {
+ throws IOException, JsonProcessingException {
JsonToken token = jsonParser.getCurrentToken();
if (JsonToken.VALUE_STRING.equals(token)) {
return IdentityServerTypeAbstract.valueOf(jsonParser.getText());
diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/IdentityServerTypeJsonSerializer.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/IdentityServerTypeJsonSerializer.java index a05d0b8872..d2662a1622 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/IdentityServerTypeJsonSerializer.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/IdentityServerTypeJsonSerializer.java @@ -21,15 +21,17 @@ package org.openecomp.mso.cloud; import java.io.IOException;
-import org.codehaus.jackson.JsonGenerator;
-import org.codehaus.jackson.map.JsonSerializer;
-import org.codehaus.jackson.map.SerializerProvider;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.SerializerProvider;
+
public class IdentityServerTypeJsonSerializer extends JsonSerializer<IdentityServerTypeAbstract> {
@Override
public void serialize(IdentityServerTypeAbstract tmpObj, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)
- throws IOException {
+ throws IOException, JsonProcessingException {
jsonGenerator.writeObject(tmpObj.toString());
}
}
diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/authentication/models/RackspaceAuthentication.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/authentication/models/RackspaceAuthentication.java index c96b809ff9..6c00349b85 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/authentication/models/RackspaceAuthentication.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/authentication/models/RackspaceAuthentication.java @@ -23,8 +23,9 @@ package org.openecomp.mso.cloud.authentication.models; -import org.codehaus.jackson.annotate.JsonProperty; -import org.codehaus.jackson.map.annotate.JsonRootName; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonRootName; import com.woorea.openstack.keystone.model.Authentication; @JsonRootName("auth") |