/* * SoapUI, Copyright (C) 2004-2016 SmartBear Software * * Licensed under the EUPL, Version 1.1 or - as soon as they will be approved by the European Commission - subsequent * versions of the EUPL (the "Licence"); * You may not use this work except in compliance with the Licence. * You may obtain a copy of the Licence at: * * http://ec.europa.eu/idabc/eupl * * Unless required by applicable law or agreed to in writing, software distributed under the Licence is * distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the Licence for the specific language governing permissions and limitations * under the Licence. */ package com.eviware.soapui.security; import com.eviware.soapui.impl.wsdl.MutableTestPropertyHolder; import com.eviware.soapui.model.ModelItem; import com.eviware.soapui.model.testsuite.TestProperty; import com.eviware.soapui.model.testsuite.TestPropertyListener; import org.apache.xmlbeans.SchemaType; import javax.xml.namespace.QName; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class SensitiveInformationPropertyHolder implements MutableTestPropertyHolder { private Map<String, TestProperty> properties = new HashMap<String, TestProperty>(); @Override public void addTestPropertyListener(TestPropertyListener listener) { // TODO Auto-generated method stub } @Override public ModelItem getModelItem() { // TODO Auto-generated method stub return null; } @Override public Map<String, TestProperty> getProperties() { return properties; } @Override public String getPropertiesLabel() { // TODO Auto-generated method stub return null; } @Override public TestProperty getProperty(String name) { return properties.get(name); } @Override public TestProperty getPropertyAt(int index) { // TODO Auto-generated method stub return null; } @Override public int getPropertyCount() { // TODO Auto-generated method stub return properties.size(); } @Override public List<TestProperty> getPropertyList() { return new ArrayList<TestProperty>(properties.values()); } @Override public String[] getPropertyNames() { return properties.keySet().toArray(new String[properties.keySet().size()]); } @Override public String getPropertyValue(String name) { return properties.get(name).getValue(); } @Override public boolean hasProperty(String name) { return properties.containsKey(name); } @Override public void removeTestPropertyListener(TestPropertyListener listener) { // TODO Auto-generated method stub } @Override public void setPropertyValue(String name, String value) { if (properties.get(name) != null) { properties.get(name).setValue(value); } else { properties.put(name, new SensitiveTokenProperty(name, value)); } } @Override public TestProperty addProperty(String name) { return properties.put(name, new SensitiveTokenProperty(name, null)); } @Override public void moveProperty(String propertyName, int targetIndex) { // TODO Auto-generated method stub } @Override public TestProperty removeProperty(String propertyName) { return properties.remove(propertyName); } @Override public boolean renameProperty(String name, String newName) { TestProperty tp = properties.get(name); if (tp != null) { properties.put(newName, tp); properties.remove(name); return true; } else { return false; } } public class SensitiveTokenProperty implements TestProperty { private String name; private String value; public SensitiveTokenProperty(String name, String value) { this.name = name; this.value = value; } public String getDefaultValue() { return ""; } @Override public String getDescription() { // TODO Auto-generated method stub return null; } @Override public ModelItem getModelItem() { // TODO Auto-generated method stub return null; } @Override public String getName() { return name; } @Override public SchemaType getSchemaType() { // TODO Auto-generated method stub return null; } @Override public QName getType() { // TODO Auto-generated method stub return null; } @Override public String getValue() { return value; } @Override public boolean isReadOnly() { // TODO Auto-generated method stub return false; } @Override public boolean isRequestPart() { // TODO Auto-generated method stub return false; } @Override public void setValue(String value) { this.value = value; } public void setName(String aValue) { this.name = aValue; } } }