import com.att.cdp.pal.util.Time;\r
import com.att.cdp.zones.ContextFactory;\r
import com.att.cdp.zones.spi.RequestState;\r
+import com.att.eelf.configuration.EELFLogger;\r
+import com.att.eelf.configuration.EELFManager;\r
import com.woorea.openstack.base.client.OpenStackBaseException;\r
import com.woorea.openstack.base.client.OpenStackClientConnector;\r
import com.woorea.openstack.base.client.OpenStackSimpleTokenProvider;\r
import com.woorea.openstack.keystone.model.Authentication;\r
import com.woorea.openstack.keystone.model.Tenant;\r
import com.woorea.openstack.keystone.model.authentication.UsernamePassword;\r
+\r
import java.util.ArrayList;\r
import java.util.Calendar;\r
import java.util.Date;\r
*/\r
public class ServiceCatalogV2 extends ServiceCatalog {\r
\r
+ protected static final EELFLogger loggerV2 = EELFManager.getInstance().getLogger(ServiceCatalogV2.class);\r
+\r
/**\r
* The Openstack Access object that manages the authenticated token and access control\r
*/\r
connectorClass = Class.forName(CLIENT_CONNECTOR_CLASS);\r
connector = (OpenStackClientConnector) connectorClass.newInstance();\r
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {\r
- e.printStackTrace();\r
+ loggerV2.error(e.getMessage());\r
return;\r
}\r
Keystone keystone = new Keystone(identityURL, connector);\r
@Override\r
public String getVMRegion(VMURL url) {\r
String region = null;\r
+ if (url == null) {\r
+ return region;\r
+ }\r
+\r
Pattern urlPattern = Pattern.compile("[^:]+://([^:/]+)(?::([0-9]+)).*");\r
\r
- if (url != null) {\r
- for (Endpoint endpoint : getEndpoints(ServiceCatalog.COMPUTE_SERVICE)) {\r
- String endpointUrl = endpoint.getPublicURL();\r
- Matcher matcher = urlPattern.matcher(endpointUrl);\r
- if (matcher.matches()) {\r
- if (url.getHost().equals(matcher.group(1))) {\r
- if (url.getPort() != null) {\r
- if (!url.getPort().equals(matcher.group(2))) {\r
- continue;\r
- }\r
- }\r
-\r
- region = endpoint.getRegion();\r
- break;\r
- }\r
- }\r
+ for (Endpoint endpoint : getEndpoints(ServiceCatalog.COMPUTE_SERVICE)) {\r
+ String endpointUrl = endpoint.getPublicURL();\r
+ Matcher matcher = urlPattern.matcher(endpointUrl);\r
+ if (!matcher.matches() ||\r
+ !url.getHost().equals(matcher.group(1)) ||\r
+ (url.getPort() != null && url.getPort().equals(matcher.group(2))) ) {\r
+ continue;\r
}\r
+\r
+ region = endpoint.getRegion();\r
+ break;\r
}\r
+\r
return region;\r
}\r
\r
Lock lock = rwLock.readLock();\r
lock.lock();\r
try {\r
- builder.append(String.format("Service Catalog: tenant %s, id[%s], description[%s]\n", tenant.getName(), //$NON-NLS-1$\r
+ builder.append(String.format("Service Catalog: tenant %s, id[%s], description[%s]%n", tenant.getName(), //$NON-NLS-1$\r
tenant.getId(), tenant.getDescription()));\r
if (regions != null && !regions.isEmpty()) {\r
- builder.append(String.format("%d regions:\n", regions.size())); //$NON-NLS-1$\r
+ builder.append(String.format("%d regions:%n", regions.size())); //$NON-NLS-1$\r
for (String region : regions) {\r
- builder.append("\t" + region + "\n"); //$NON-NLS-1$ //$NON-NLS-2$\r
+ builder.append("\t" + region + "%n"); //$NON-NLS-1$ //$NON-NLS-2$\r
}\r
}\r
- builder.append(String.format("%d services:\n", serviceEndpoints.size())); //$NON-NLS-1$\r
+ builder.append(String.format("%d services:%n", serviceEndpoints.size())); //$NON-NLS-1$\r
for (String serviceType : serviceEndpoints.keySet()) {\r
List<Service.Endpoint> endpoints = serviceEndpoints.get(serviceType);\r
Service service = serviceTypes.get(serviceType);\r
\r
- builder.append(String.format("\t%s [%s] - %d endpoints\n", service.getType(), service.getName(), //$NON-NLS-1$\r
+ builder.append(String.format("\t%s [%s] - %d endpoints%n", service.getType(), service.getName(), //$NON-NLS-1$\r
endpoints.size()));\r
for (Service.Endpoint endpoint : endpoints) {\r
- builder.append(String.format("\t\tRegion [%s], public URL [%s]\n", endpoint.getRegion(), //$NON-NLS-1$\r
+ builder.append(String.format("\t\tRegion [%s], public URL [%s]%n", endpoint.getRegion(), //$NON-NLS-1$\r
endpoint.getPublicURL()));\r
}\r
}\r