/*
* Licensed to csti consulting
* You may obtain a copy of the License at
*
* http://www.csticonsulting.com
* Copyright (c) 2006-Aug 24, 2010 Consultation CS-TI inc.
*
* 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.
*/
package com.salesmanager.core.util;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.StringTokenizer;
import org.apache.commons.lang.StringUtils;
import com.salesmanager.core.service.common.model.IntegrationKeys;
import com.salesmanager.core.service.common.model.IntegrationProperties;
public class MerchantConfigurationUtil {
/**
* Strips all delimiters
*
* @param configurationLine
* @return
*/
public static Collection getConfigurationList(String configurationLine,
String delimiter) {
List returnlist = new ArrayList();
StringTokenizer st = new StringTokenizer(configurationLine, delimiter);
while (st.hasMoreTokens()) {
String token = st.nextToken();
returnlist.add(token);
}
return returnlist;
}
/**
* Build a line with delimiter
*
* @param configs
* @param delimiter
* @return
*/
public static String buildConfigurationLine(Collection<String> configs,
String delimiter) {
StringBuffer keyLine = new StringBuffer();
if (configs != null && configs.size() > 0) {
int count = 1;
Iterator i = configs.iterator();
while (i.hasNext()) {
String s = (String) i.next();
keyLine.append(s);
if (count < configs.size()) {
keyLine.append(delimiter);
}
count++;
}
}
return keyLine.toString();
}
public static IntegrationProperties getIntegrationProperties(
String configurationValue, String delimiter) {
if (configurationValue == null)
return new IntegrationProperties();
StringTokenizer st = new StringTokenizer(configurationValue, delimiter);
int i = 1;
IntegrationProperties keys = new IntegrationProperties();
while (st.hasMoreTokens()) {
String value = st.nextToken();
if (i == 1) {
keys.setProperties1(value);
} else if (i == 2) {
keys.setProperties2(value);
} else if (i == 3) {
keys.setProperties3(value);
} else if (i == 4) {
keys.setProperties4(value);
} else {
keys.setProperties5(value);
}
i++;
}
return keys;
}
public static IntegrationKeys getIntegrationKeys(String configvalue, String delimiter)
throws Exception {
if (configvalue == null)
return new IntegrationKeys();
StringTokenizer st = new StringTokenizer(configvalue, delimiter);
int i = 1;
int j = 1;
IntegrationKeys keys = new IntegrationKeys();
while (st.hasMoreTokens()) {
String value = st.nextToken();
if (i == 1) {
// decrypt
keys.setUserid(value);
} else if (i == 2) {
// decrypt
keys.setPassword(value);
} else if (i == 3) {
// decrypt
keys.setTransactionKey(value);
} else {
if (j == 1) {
keys.setKey1(value);
} else if (j == 2) {
keys.setKey2(value);
} else if (j == 3) {
keys.setKey3(value);
}
j++;
}
i++;
}
return keys;
}
public static String getConfigurationValue(Collection<String> values,
String delimiter) {
if (values == null || values.size() == 0) {
return "";
}
int count = 1;
Iterator i = values.iterator();
StringBuffer b = new StringBuffer();
while (i.hasNext()) {
String value = (String) i.next();
b.append(value);
if (values.size() > count) {
b.append(delimiter);
}
count++;
}
return b.toString();
}
public static String getConfigurationValue(IntegrationProperties keys,
String delimiter) {
if (StringUtils.isBlank(keys.getProperties1())
&& StringUtils.isBlank(keys.getProperties2())
&& StringUtils.isBlank(keys.getProperties3())
&& StringUtils.isBlank(keys.getProperties4())
&& StringUtils.isBlank(keys.getProperties5())) {
return "";
}
StringBuffer b = new StringBuffer();
b.append(keys.getProperties1());
if (!StringUtils.isBlank(keys.getProperties2())) {
b.append(delimiter);
b.append(keys.getProperties2());
if (!StringUtils.isBlank(keys.getProperties3())) {
b.append(delimiter);
b.append(keys.getProperties3());
if (!StringUtils.isBlank(keys.getProperties4())) {
b.append(delimiter);
b.append(keys.getProperties4());
if (!StringUtils.isBlank(keys.getProperties5())) {
b.append(delimiter);
b.append(keys.getProperties5());
}
}
}
}
return b.toString();
}
}