/* * � Copyright IBM Corp. 2015 * * 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. */ /* * Author: Maire Kehoe (mkehoe@ie.ibm.com) * Date: 17 Apr 2015 * DataService.java * Was a subpart of BluemixContext.java * with Author: Tony McGuckin (tony.mcguckin@ie.ibm.com) * and Date: 09 Apr 2015 (or earlier) * */ package com.ibm.xsp.bluemix.util.context; import java.util.Vector; import com.ibm.commons.util.PathUtil; import com.ibm.commons.util.io.json.JsonJavaObject; public class DataService{ private static final String _NAME_KEY = "name"; // $NON-NLS-1$ private static final String _LABEL_KEY = "label"; // $NON-NLS-1$ private static final String _PLAN_KEY = "plan"; // $NON-NLS-1$ private static final String _APPPATH_KEY = "apppath"; // $NON-NLS-1$ private static final String _USERNAME_KEY = "username"; // $NON-NLS-1$ private static final String _PASSWORD_KEY = "password"; // $NON-NLS-1$ private static final String _SERVERNAME_KEY = "servername"; // $NON-NLS-1$ private static final String _HOST_KEY = "host"; // $NON-NLS-1$ private static final String _ROOTDIR_KEY = "rootdir"; // $NON-NLS-1$ private String _NAME; private String _LABEL; private String _PLAN; private String _APPPATH; private String _USERNAME; private String _PASSWORD; private String _SERVERNAME; private String _HOST; private String _ROOTDIR; private JsonJavaObject instanceData; private JsonJavaObject credentialsData; // ------------------------------------------------ /*package-private*/ DataService(JsonJavaObject instanceData) { this.instanceData = instanceData; if (null != instanceData) { _NAME = instanceData.getAsString(_NAME_KEY); _LABEL = instanceData.getAsString(_LABEL_KEY); _PLAN = instanceData.getAsString(_PLAN_KEY); credentialsData = instanceData.getAsObject("credentials"); // $NON-NLS-1$ if (null != credentialsData) { _APPPATH = credentialsData.getAsString(_APPPATH_KEY); _USERNAME = credentialsData.getAsString(_USERNAME_KEY); _PASSWORD = credentialsData.getAsString(_PASSWORD_KEY); _SERVERNAME = credentialsData.getAsString(_SERVERNAME_KEY); _HOST = credentialsData.getAsString(_HOST_KEY); _ROOTDIR = credentialsData.getAsString(_ROOTDIR_KEY); } } } // ------------------------------------------------ public String getName() { return _NAME; } // ------------------------------------------------ public String getLabel() { return _LABEL; } // ------------------------------------------------ public String getPlan() { return _PLAN; } // ------------------------------------------------ public String getAppPath() { return _APPPATH; } // ------------------------------------------------ public String getUserName() { return _USERNAME; } // ------------------------------------------------ public String getPassword() { return _PASSWORD; } // ------------------------------------------------ public String getServerName() { return _SERVERNAME; } // ------------------------------------------------ public String getHost(){ return _HOST; } // ------------------------------------------------ public String getRootDir() { return _ROOTDIR; } // ------------------------------------------------ public String findDatabaseName(){ return getHost()+"!!"+getAppPath(); } public String findDatabaseByName(String dbPath){ String path1 = getHost()+"!!"+getRootDir(); String concatPath = PathUtil.concat(path1, dbPath, '/'); return concatPath; } public Vector<String> atDbName(){ Vector<String> v = new Vector<String>(); v.add(getHost()); v.add(getAppPath()); return v; } public Vector<String> atDbByName(String dbPath){ String path1 = getRootDir(); String concatPath = PathUtil.concat(path1, dbPath, '/'); Vector<String> v = new Vector<String>(); v.add(getHost()); v.add(concatPath); return v; } public String getValue(String name){ return instanceData.getAsString(name); } public String getCredentialsValue(String name){ // note, would throw a NPE if null credentialsData // but the XPagesData service doesn't return null credentials. return credentialsData.getAsString(name); } }