com.eviware.soapui.impl.wsdl
Class WsdlProject
java.lang.Object
com.eviware.soapui.model.support.AbstractModelItem
com.eviware.soapui.model.support.AbstractAnimatableModelItem<com.eviware.soapui.config.ModelItemConfig>
com.eviware.soapui.impl.wsdl.AbstractWsdlModelItem<T>
com.eviware.soapui.impl.wsdl.AbstractTestPropertyHolderWsdlModelItem<com.eviware.soapui.config.ProjectConfig>
com.eviware.soapui.impl.wsdl.WsdlProject
- All Implemented Interfaces:
- MutableTestPropertyHolder, ModelItem, Project, PropertyExpansionContainer, TestModelItem, TestPropertyHolder, TestRunnable, PropertyChangeNotifier, java.beans.PropertyChangeListener, java.util.EventListener
public class WsdlProject
- extends AbstractTestPropertyHolderWsdlModelItem<com.eviware.soapui.config.ProjectConfig>
- implements Project, PropertyExpansionContainer, java.beans.PropertyChangeListener, TestRunnable
WSDL project implementation
- Author:
- Ole.Matzura
Method Summary |
AbstractInterface<?> |
addNewInterface(java.lang.String name,
java.lang.String type)
|
WsdlMockService |
addNewMockService(java.lang.String name)
|
WsdlTestSuite |
addNewTestSuite(java.lang.String name)
|
void |
addProjectListener(ProjectListener listener)
|
void |
addProjectRunListener(ProjectRunListener projectRunListener)
|
void |
addPropertyChangeListener(java.beans.PropertyChangeListener listener)
|
void |
afterLoad()
|
void |
beforeSave()
|
protected WsdlTestSuite |
buildTestSuite(com.eviware.soapui.config.TestSuiteConfig config)
|
protected int |
checkForEncodedData(com.eviware.soapui.config.ProjectConfig soapuiProject)
Decode encrypted data and restore user/pass |
protected void |
createBackup(java.io.File projectFile)
|
void |
fireInterfaceAdded(AbstractInterface<?> iface)
|
void |
fireInterfaceRemoved(AbstractInterface<?> iface)
|
void |
fireInterfaceUpdated(AbstractInterface<?> iface)
|
void |
fireMockServiceAdded(WsdlMockService mockService)
|
void |
fireMockServiceRemoved(WsdlMockService mockService)
|
void |
fireTestSuiteAdded(WsdlTestSuite testSuite)
|
void |
fireTestSuiteRemoved(WsdlTestSuite testSuite)
|
java.lang.String |
getAfterLoadScript()
|
java.lang.String |
getAfterRunScript()
|
protected java.io.File |
getBackupFile(java.io.File projectFile)
|
java.lang.String |
getBeforeRunScript()
|
java.lang.String |
getBeforeSaveScript()
|
java.util.List<? extends ModelItem> |
getChildren()
|
PropertyExpansionContext |
getContext()
|
java.lang.String |
getDefaultScriptLanguage()
|
java.lang.String |
getDescription()
|
int |
getEncrypted()
|
EndpointStrategy |
getEndpointStrategy()
|
java.lang.String |
getHermesConfig()
|
javax.swing.ImageIcon |
getIcon()
|
int |
getIndexOfTestSuite(TestSuite testSuite)
|
AbstractInterface<?> |
getInterfaceAt(int index)
|
AbstractInterface<?> |
getInterfaceByName(java.lang.String interfaceName)
|
AbstractInterface<?> |
getInterfaceByTechnicalId(java.lang.String technicalId)
|
int |
getInterfaceCount()
|
int |
getInterfaceCount(java.lang.String type)
|
java.util.List<Interface> |
getInterfaceList()
|
java.util.Map<java.lang.String,Interface> |
getInterfaces()
|
java.util.List<AbstractInterface<?>> |
getInterfaces(java.lang.String type)
|
WsdlMockService |
getMockServiceAt(int index)
|
WsdlMockService |
getMockServiceByName(java.lang.String mockServiceName)
|
int |
getMockServiceCount()
|
java.util.List<MockService> |
getMockServiceList()
|
java.util.Map<java.lang.String,MockService> |
getMockServices()
|
java.lang.String |
getPath()
|
com.eviware.soapui.config.SoapuiProjectDocumentConfig |
getProjectDocument()
|
ProjectRunListener[] |
getProjectRunListeners()
|
java.lang.String |
getPropertiesLabel()
|
protected java.beans.PropertyChangeSupport |
getPropertyChangeSupport()
|
PropertyExpansion[] |
getPropertyExpansions()
|
java.lang.String |
getResourceRoot()
|
TestSuite.TestSuiteRunType |
getRunType()
|
java.lang.String |
getShadowPassword()
|
WsdlTestSuite |
getTestSuiteAt(int index)
|
WsdlTestSuite |
getTestSuiteByName(java.lang.String testSuiteName)
|
int |
getTestSuiteCount()
|
java.util.List<TestSuite> |
getTestSuiteList()
|
java.util.Map<java.lang.String,TestSuite> |
getTestSuites()
|
long |
getTimeout()
|
WorkspaceImpl |
getWorkspace()
|
DefaultWssContainer |
getWssContainer()
|
boolean |
hasNature(java.lang.String natureId)
|
AbstractInterface<?> |
importInterface(AbstractInterface<?> iface,
boolean importEndpoints,
boolean createCopy)
|
void |
importMockService(java.io.File file)
|
WsdlMockService |
importMockService(WsdlMockService mockService,
java.lang.String name,
boolean createCopy,
java.lang.String description)
|
void |
importTestSuite(java.io.File file)
|
WsdlTestSuite |
importTestSuite(WsdlTestSuite testSuite,
java.lang.String name,
int index,
boolean createCopy,
java.lang.String description)
|
WsdlInterface[] |
importWsdl(java.lang.String url,
boolean createRequests)
Deprecated. |
WsdlInterface[] |
importWsdl(java.lang.String url,
boolean createRequests,
javax.xml.namespace.QName bindingName,
WsdlLoader wsdlLoader)
Deprecated. see WsdlInterfaceFactory |
WsdlInterface[] |
importWsdl(java.lang.String url,
boolean createRequests,
WsdlLoader wsdlLoader)
Deprecated. see WsdlInterfaceFactory |
void |
inspect()
|
boolean |
isAbortOnError()
|
boolean |
isCacheDefinitions()
|
boolean |
isDisabled()
|
boolean |
isOpen()
|
boolean |
isRemote()
|
void |
loadProject(java.net.URL file)
|
WsdlTestSuite |
moveTestSuite(int ix,
int offset)
|
void |
propertyChange(java.beans.PropertyChangeEvent evt)
|
void |
release()
|
void |
reload()
|
void |
reload(java.lang.String path)
|
protected void |
removeDefinitionCaches(com.eviware.soapui.config.SoapuiProjectDocumentConfig config)
|
void |
removeInterface(AbstractInterface<?> iface)
|
void |
removeMockService(WsdlMockService mockService)
|
void |
removeProjectListener(ProjectListener listener)
|
void |
removeProjectRunListener(ProjectRunListener projectRunListener)
|
void |
removeTestSuite(WsdlTestSuite testSuite)
|
void |
resolve(ResolveContext<?> context)
|
WsdlProjectRunner |
run(StringToObjectMap context,
boolean async)
|
java.lang.Object |
runAfterLoadScript()
|
java.lang.Object |
runAfterRunScript(ProjectRunContext context,
ProjectRunner runner)
|
java.lang.Object |
runBeforeRunScript(ProjectRunContext context,
ProjectRunner runner)
|
java.lang.Object |
runBeforeSaveScript()
|
boolean |
save()
|
boolean |
save(java.lang.String folder)
|
boolean |
saveAs(java.lang.String fileName)
|
boolean |
saveBackup()
|
boolean |
saveIn(java.io.File projectFile)
|
void |
setAbortOnError(boolean arg0)
|
void |
setAfterLoadScript(java.lang.String script)
|
void |
setAfterRunScript(java.lang.String script)
|
void |
setBeforeRunScript(java.lang.String script)
|
void |
setBeforeSaveScript(java.lang.String script)
|
void |
setCacheDefinitions(boolean cacheDefinitions)
|
void |
setDefaultScriptLanguage(java.lang.String id)
|
int |
setEncrypted(int code)
|
void |
setHermesConfig(java.lang.String hermesConfigPath)
|
protected void |
setProjectRoot(java.lang.String path)
|
void |
setResourceRoot(java.lang.String resourceRoot)
|
void |
setRunType(TestSuite.TestSuiteRunType runType)
|
void |
setShadowPassword(java.lang.String password)
|
void |
setTimeout(long timeout)
|
Methods inherited from class com.eviware.soapui.impl.wsdl.AbstractTestPropertyHolderWsdlModelItem |
addPropertiesFromFile, addProperty, addTestPropertyListener, getModelItem, getProperties, getProperty, getPropertyAt, getPropertyCount, getPropertyList, getPropertyNames, getPropertyValue, hasProperty, moveProperty, removeProperty, removeTestPropertyListener, renameProperty, setPropertiesConfig, setPropertyValue |
Methods inherited from class com.eviware.soapui.impl.wsdl.AbstractWsdlModelItem |
dependsOn, getConfig, getId, getName, getParent, getSettings, getWsdlModelItemByName, setConfig, setDescription, setIcon, setName, setSettings |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.eviware.soapui.model.TestPropertyHolder |
addTestPropertyListener, getModelItem, getProperties, getProperty, getPropertyAt, getPropertyCount, getPropertyList, getPropertyNames, getPropertyValue, hasProperty, removeTestPropertyListener, setPropertyValue |
AFTER_LOAD_SCRIPT_PROPERTY
public static final java.lang.String AFTER_LOAD_SCRIPT_PROPERTY
BEFORE_SAVE_SCRIPT_PROPERTY
public static final java.lang.String BEFORE_SAVE_SCRIPT_PROPERTY
RESOURCE_ROOT_PROPERTY
public static final java.lang.String RESOURCE_ROOT_PROPERTY
path
protected java.lang.String path
interfaces
protected java.util.List<AbstractInterface<?>> interfaces
testSuites
protected java.util.List<WsdlTestSuite> testSuites
mockServices
protected java.util.List<WsdlMockService> mockServices
projectDocument
protected com.eviware.soapui.config.SoapuiProjectDocumentConfig projectDocument
endpointStrategy
protected EndpointStrategy endpointStrategy
lastModified
protected long lastModified
wssContainer
protected DefaultWssContainer wssContainer
encrypted
protected int encrypted
pcs
protected final java.beans.PropertyChangeSupport pcs
log
protected static final org.apache.log4j.Logger log
WsdlProject
public WsdlProject()
throws org.apache.xmlbeans.XmlException,
java.io.IOException,
SoapUIException
- Throws:
org.apache.xmlbeans.XmlException
java.io.IOException
SoapUIException
WsdlProject
public WsdlProject(java.lang.String path)
throws org.apache.xmlbeans.XmlException,
java.io.IOException,
SoapUIException
- Throws:
org.apache.xmlbeans.XmlException
java.io.IOException
SoapUIException
WsdlProject
public WsdlProject(java.lang.String projectFile,
java.lang.String projectPassword)
WsdlProject
public WsdlProject(WorkspaceImpl workspace)
WsdlProject
public WsdlProject(java.lang.String path,
WorkspaceImpl workspace)
WsdlProject
public WsdlProject(java.lang.String path,
WorkspaceImpl workspace,
boolean create)
WsdlProject
public WsdlProject(java.lang.String path,
WorkspaceImpl workspace,
boolean create,
boolean open,
java.lang.String tempName,
java.lang.String projectPassword)
getPropertyChangeSupport
protected java.beans.PropertyChangeSupport getPropertyChangeSupport()
isRemote
public boolean isRemote()
loadProject
public void loadProject(java.net.URL file)
throws SoapUIException
- Throws:
SoapUIException
buildTestSuite
protected WsdlTestSuite buildTestSuite(com.eviware.soapui.config.TestSuiteConfig config)
checkForEncodedData
protected int checkForEncodedData(com.eviware.soapui.config.ProjectConfig soapuiProject)
throws java.io.IOException,
java.security.GeneralSecurityException
- Decode encrypted data and restore user/pass
- Parameters:
soapuiProject
-
- Returns:
- 0 - not encrypted, 1 - successfull decryption , -1 error while
decrypting, bad password, no password.
- Throws:
java.io.IOException
java.security.GeneralSecurityException
afterLoad
public void afterLoad()
- Overrides:
afterLoad
in class AbstractWsdlModelItem<com.eviware.soapui.config.ProjectConfig>
setProjectRoot
protected void setProjectRoot(java.lang.String path)
setResourceRoot
public void setResourceRoot(java.lang.String resourceRoot)
getResourceRoot
public java.lang.String getResourceRoot()
- Specified by:
getResourceRoot
in interface Project
getIcon
public javax.swing.ImageIcon getIcon()
- Specified by:
getIcon
in interface ModelItem
- Overrides:
getIcon
in class AbstractWsdlModelItem<com.eviware.soapui.config.ProjectConfig>
getDescription
public java.lang.String getDescription()
- Specified by:
getDescription
in interface ModelItem
- Overrides:
getDescription
in class AbstractWsdlModelItem<com.eviware.soapui.config.ProjectConfig>
getWorkspace
public WorkspaceImpl getWorkspace()
- Specified by:
getWorkspace
in interface Project
getInterfaceAt
public AbstractInterface<?> getInterfaceAt(int index)
- Specified by:
getInterfaceAt
in interface Project
getInterfaceByName
public AbstractInterface<?> getInterfaceByName(java.lang.String interfaceName)
- Specified by:
getInterfaceByName
in interface Project
getInterfaceByTechnicalId
public AbstractInterface<?> getInterfaceByTechnicalId(java.lang.String technicalId)
getInterfaceCount
public int getInterfaceCount()
- Specified by:
getInterfaceCount
in interface Project
getPath
public java.lang.String getPath()
- Specified by:
getPath
in interface Project
save
public boolean save()
throws java.io.IOException
- Specified by:
save
in interface Project
- Throws:
java.io.IOException
save
public boolean save(java.lang.String folder)
throws java.io.IOException
- Throws:
java.io.IOException
saveBackup
public boolean saveBackup()
throws java.io.IOException
- Throws:
java.io.IOException
saveIn
public boolean saveIn(java.io.File projectFile)
throws java.io.IOException
- Throws:
java.io.IOException
beforeSave
public void beforeSave()
- Overrides:
beforeSave
in class AbstractWsdlModelItem<com.eviware.soapui.config.ProjectConfig>
createBackup
protected void createBackup(java.io.File projectFile)
throws java.io.IOException
- Throws:
java.io.IOException
getBackupFile
protected java.io.File getBackupFile(java.io.File projectFile)
removeDefinitionCaches
protected void removeDefinitionCaches(com.eviware.soapui.config.SoapuiProjectDocumentConfig config)
addNewInterface
public AbstractInterface<?> addNewInterface(java.lang.String name,
java.lang.String type)
addProjectListener
public void addProjectListener(ProjectListener listener)
- Specified by:
addProjectListener
in interface Project
removeProjectListener
public void removeProjectListener(ProjectListener listener)
- Specified by:
removeProjectListener
in interface Project
fireInterfaceAdded
public void fireInterfaceAdded(AbstractInterface<?> iface)
fireInterfaceRemoved
public void fireInterfaceRemoved(AbstractInterface<?> iface)
fireInterfaceUpdated
public void fireInterfaceUpdated(AbstractInterface<?> iface)
fireTestSuiteAdded
public void fireTestSuiteAdded(WsdlTestSuite testSuite)
fireTestSuiteRemoved
public void fireTestSuiteRemoved(WsdlTestSuite testSuite)
fireMockServiceAdded
public void fireMockServiceAdded(WsdlMockService mockService)
fireMockServiceRemoved
public void fireMockServiceRemoved(WsdlMockService mockService)
removeInterface
public void removeInterface(AbstractInterface<?> iface)
removeTestSuite
public void removeTestSuite(WsdlTestSuite testSuite)
isDisabled
public boolean isDisabled()
- Specified by:
isDisabled
in interface Project
getTestSuiteCount
public int getTestSuiteCount()
- Specified by:
getTestSuiteCount
in interface Project
getTestSuiteAt
public WsdlTestSuite getTestSuiteAt(int index)
- Specified by:
getTestSuiteAt
in interface Project
getTestSuiteByName
public WsdlTestSuite getTestSuiteByName(java.lang.String testSuiteName)
- Specified by:
getTestSuiteByName
in interface Project
addNewTestSuite
public WsdlTestSuite addNewTestSuite(java.lang.String name)
- Specified by:
addNewTestSuite
in interface Project
isCacheDefinitions
public boolean isCacheDefinitions()
setCacheDefinitions
public void setCacheDefinitions(boolean cacheDefinitions)
saveAs
public boolean saveAs(java.lang.String fileName)
throws java.io.IOException
- Throws:
java.io.IOException
release
public void release()
- Specified by:
release
in interface Project
- Overrides:
release
in class AbstractWsdlModelItem<com.eviware.soapui.config.ProjectConfig>
addNewMockService
public WsdlMockService addNewMockService(java.lang.String name)
- Specified by:
addNewMockService
in interface Project
getMockServiceAt
public WsdlMockService getMockServiceAt(int index)
- Specified by:
getMockServiceAt
in interface Project
getMockServiceByName
public WsdlMockService getMockServiceByName(java.lang.String mockServiceName)
- Specified by:
getMockServiceByName
in interface Project
getMockServiceCount
public int getMockServiceCount()
- Specified by:
getMockServiceCount
in interface Project
removeMockService
public void removeMockService(WsdlMockService mockService)
getTestSuiteList
public java.util.List<TestSuite> getTestSuiteList()
- Specified by:
getTestSuiteList
in interface Project
getMockServiceList
public java.util.List<MockService> getMockServiceList()
- Specified by:
getMockServiceList
in interface Project
getInterfaceList
public java.util.List<Interface> getInterfaceList()
- Specified by:
getInterfaceList
in interface Project
getInterfaces
public java.util.Map<java.lang.String,Interface> getInterfaces()
getTestSuites
public java.util.Map<java.lang.String,TestSuite> getTestSuites()
getMockServices
public java.util.Map<java.lang.String,MockService> getMockServices()
reload
public void reload()
throws SoapUIException
- Throws:
SoapUIException
reload
public void reload(java.lang.String path)
throws SoapUIException
- Throws:
SoapUIException
hasNature
public boolean hasNature(java.lang.String natureId)
- Specified by:
hasNature
in interface Project
importInterface
public AbstractInterface<?> importInterface(AbstractInterface<?> iface,
boolean importEndpoints,
boolean createCopy)
importTestSuite
public WsdlTestSuite importTestSuite(WsdlTestSuite testSuite,
java.lang.String name,
int index,
boolean createCopy,
java.lang.String description)
importMockService
public WsdlMockService importMockService(WsdlMockService mockService,
java.lang.String name,
boolean createCopy,
java.lang.String description)
getEndpointStrategy
public EndpointStrategy getEndpointStrategy()
- Specified by:
getEndpointStrategy
in interface Project
isOpen
public boolean isOpen()
- Specified by:
isOpen
in interface Project
getChildren
public java.util.List<? extends ModelItem> getChildren()
- Specified by:
getChildren
in interface ModelItem
- Overrides:
getChildren
in class AbstractModelItem
setAfterLoadScript
public void setAfterLoadScript(java.lang.String script)
getAfterLoadScript
public java.lang.String getAfterLoadScript()
setBeforeSaveScript
public void setBeforeSaveScript(java.lang.String script)
getBeforeSaveScript
public java.lang.String getBeforeSaveScript()
runAfterLoadScript
public java.lang.Object runAfterLoadScript()
throws java.lang.Exception
- Throws:
java.lang.Exception
runBeforeSaveScript
public java.lang.Object runBeforeSaveScript()
throws java.lang.Exception
- Throws:
java.lang.Exception
getContext
public PropertyExpansionContext getContext()
getWssContainer
public DefaultWssContainer getWssContainer()
resolve
public void resolve(ResolveContext<?> context)
- Overrides:
resolve
in class AbstractWsdlModelItem<com.eviware.soapui.config.ProjectConfig>
getPropertyExpansions
public PropertyExpansion[] getPropertyExpansions()
- Specified by:
getPropertyExpansions
in interface PropertyExpansionContainer
getPropertiesLabel
public java.lang.String getPropertiesLabel()
- Specified by:
getPropertiesLabel
in interface TestPropertyHolder
- Overrides:
getPropertiesLabel
in class AbstractTestPropertyHolderWsdlModelItem<com.eviware.soapui.config.ProjectConfig>
getShadowPassword
public java.lang.String getShadowPassword()
- Specified by:
getShadowPassword
in interface Project
setShadowPassword
public void setShadowPassword(java.lang.String password)
- Specified by:
setShadowPassword
in interface Project
getHermesConfig
public java.lang.String getHermesConfig()
setHermesConfig
public void setHermesConfig(java.lang.String hermesConfigPath)
inspect
public void inspect()
- Specified by:
inspect
in interface Project
getEncrypted
public int getEncrypted()
setEncrypted
public int setEncrypted(int code)
addPropertyChangeListener
public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
- Specified by:
addPropertyChangeListener
in interface PropertyChangeNotifier
- Overrides:
addPropertyChangeListener
in class AbstractModelItem
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent evt)
- Specified by:
propertyChange
in interface java.beans.PropertyChangeListener
getProjectDocument
public com.eviware.soapui.config.SoapuiProjectDocumentConfig getProjectDocument()
getInterfaceCount
public int getInterfaceCount(java.lang.String type)
getInterfaces
public java.util.List<AbstractInterface<?>> getInterfaces(java.lang.String type)
importTestSuite
public void importTestSuite(java.io.File file)
importWsdl
public WsdlInterface[] importWsdl(java.lang.String url,
boolean createRequests)
throws SoapUIException
- Deprecated.
- Throws:
SoapUIException
- See Also:
com.eviware.soapui.impl.WsdlInterfaceFactory.importWsdl
importWsdl
public WsdlInterface[] importWsdl(java.lang.String url,
boolean createRequests,
WsdlLoader wsdlLoader)
throws SoapUIException
- Deprecated. see WsdlInterfaceFactory
- Throws:
SoapUIException
- See Also:
com.eviware.soapui.impl.WsdlInterfaceFactory.importWsdl
importWsdl
public WsdlInterface[] importWsdl(java.lang.String url,
boolean createRequests,
javax.xml.namespace.QName bindingName,
WsdlLoader wsdlLoader)
throws SoapUIException
- Deprecated. see WsdlInterfaceFactory
- Throws:
SoapUIException
- See Also:
com.eviware.soapui.impl.WsdlInterfaceFactory.importWsdl
setDefaultScriptLanguage
public void setDefaultScriptLanguage(java.lang.String id)
getDefaultScriptLanguage
public java.lang.String getDefaultScriptLanguage()
getIndexOfTestSuite
public int getIndexOfTestSuite(TestSuite testSuite)
- Specified by:
getIndexOfTestSuite
in interface Project
getBeforeRunScript
public java.lang.String getBeforeRunScript()
setBeforeRunScript
public void setBeforeRunScript(java.lang.String script)
runBeforeRunScript
public java.lang.Object runBeforeRunScript(ProjectRunContext context,
ProjectRunner runner)
throws java.lang.Exception
- Throws:
java.lang.Exception
getAfterRunScript
public java.lang.String getAfterRunScript()
setAfterRunScript
public void setAfterRunScript(java.lang.String script)
runAfterRunScript
public java.lang.Object runAfterRunScript(ProjectRunContext context,
ProjectRunner runner)
throws java.lang.Exception
- Throws:
java.lang.Exception
addProjectRunListener
public void addProjectRunListener(ProjectRunListener projectRunListener)
removeProjectRunListener
public void removeProjectRunListener(ProjectRunListener projectRunListener)
run
public WsdlProjectRunner run(StringToObjectMap context,
boolean async)
- Specified by:
run
in interface TestRunnable
isAbortOnError
public boolean isAbortOnError()
setAbortOnError
public void setAbortOnError(boolean arg0)
getTimeout
public long getTimeout()
setTimeout
public void setTimeout(long timeout)
getProjectRunListeners
public ProjectRunListener[] getProjectRunListeners()
getRunType
public TestSuite.TestSuiteRunType getRunType()
setRunType
public void setRunType(TestSuite.TestSuiteRunType runType)
moveTestSuite
public WsdlTestSuite moveTestSuite(int ix,
int offset)
importMockService
public void importMockService(java.io.File file)
Copyright © 2005-2010 eviware.com. All Rights Reserved.