/* * 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.impl.wsdl.support.wsrm; import com.eviware.soapui.config.WsrmConfigConfig; import com.eviware.soapui.config.WsrmVersionTypeConfig; import com.eviware.soapui.support.PropertyChangeNotifier; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; import java.math.BigInteger; public class WsrmConfig implements PropertyChangeNotifier { private WsrmConfigConfig wsrmConfig; private String sequenceIdentifier; private Long lastMessageId; private String uuid; private PropertyChangeSupport propertyChangeSupport; private final WsrmContainer container; public WsrmConfig(WsrmConfigConfig wsrmConfig, WsrmContainer container) { this.setWsrmConfig(wsrmConfig); this.container = container; this.setPropertyChangeSupport(new PropertyChangeSupport(this)); lastMessageId = 1l; if (!wsrmConfig.isSetVersion()) { wsrmConfig.setVersion(WsrmVersionTypeConfig.X_1_2); } } public void addPropertyChangeListener(PropertyChangeListener listener) { propertyChangeSupport.addPropertyChangeListener(listener); } public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) { propertyChangeSupport.addPropertyChangeListener(propertyName, listener); } public void removePropertyChangeListener(PropertyChangeListener listener) { propertyChangeSupport.removePropertyChangeListener(listener); } public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener) { propertyChangeSupport.removePropertyChangeListener(propertyName, listener); } public void setWsrmConfig(WsrmConfigConfig wsrmConfig) { this.wsrmConfig = wsrmConfig; } public WsrmConfigConfig getWsrmConfig() { return wsrmConfig; } public void setPropertyChangeSupport(PropertyChangeSupport propertyChangeSupport) { this.propertyChangeSupport = propertyChangeSupport; } public PropertyChangeSupport getPropertyChangeSupport() { return propertyChangeSupport; } public WsrmContainer getContainer() { return container; } public void setAckTo(String newAckTo) { String oldValue = wsrmConfig.getAckTo(); wsrmConfig.setAckTo(newAckTo); propertyChangeSupport.firePropertyChange("ackTo", oldValue, newAckTo); } public String getAckTo() { return wsrmConfig.getAckTo(); } public String getOfferEndpoint() { return wsrmConfig.getOfferEndpoint(); } public void setSequenceExpires(BigInteger newTimeout) { BigInteger oldValue = wsrmConfig.getSequenceExpires(); wsrmConfig.setSequenceExpires(newTimeout); propertyChangeSupport.firePropertyChange("sequenceExpires", oldValue, newTimeout); } public void setOfferEndpoint(String endpointUri) { String oldValue = wsrmConfig.getOfferEndpoint(); wsrmConfig.setOfferEndpoint(endpointUri); propertyChangeSupport.firePropertyChange("offerEndpoint", oldValue, endpointUri); } public BigInteger getSequenceExpires() { return wsrmConfig.getSequenceExpires(); } public void setWsrmEnabled(boolean enable) { boolean oldValue = isWsrmEnabled(); container.setWsrmEnabled(enable); propertyChangeSupport.firePropertyChange("wsrmEnabled", oldValue, enable); } public boolean isWsrmEnabled() { return container.isWsrmEnabled(); } public void setVersion(String arg0) { String oldValue = getVersion(); wsrmConfig.setVersion(WsrmVersionTypeConfig.Enum.forString(arg0)); propertyChangeSupport.firePropertyChange("version", oldValue, arg0); } public String getVersion() { return wsrmConfig.getVersion().toString(); } public void setSequenceIdentifier(String sequenceIdentifier) { this.sequenceIdentifier = sequenceIdentifier; } public String getSequenceIdentifier() { return sequenceIdentifier; } public Long nextMessageId() { this.lastMessageId++; return lastMessageId; } public Long getLastMessageId() { return lastMessageId; } public void setLastMessageId(long msgId) { lastMessageId = msgId; } public void setUuid(String uuid) { this.uuid = uuid; } public String getUuid() { return uuid; } public String getVersionNameSpace() { return WsrmUtils.getWsrmVersionNamespace(wsrmConfig.getVersion()); } }