Transferable transferable = dtde.getTransferable();
Object transferData = transferable.getTransferData( transferable.getTransferDataFlavors()[0] );
if( transferData instanceof PropertyModelItem )
{
dtde.acceptDrop( dtde.getDropAction() );
PropertyModelItem modelItem = ( PropertyModelItem )transferData;
String xpath = modelItem.getXPath();
if( xpath == null && XmlUtils.seemsToBeXml( modelItem.getProperty().getValue() ) )
{
xpath = UISupport.selectXPath( "Create PropertyExpansion", "Select XPath below", modelItem
.getProperty().getValue(), null );
if( xpath != null )
xpath = PropertyExpansionUtils.shortenXPathForPropertyExpansion( xpath, modelItem.getProperty()
.getValue() );
}
PropertyExpansion propertyExpansion = new PropertyExpansionImpl( modelItem.getProperty(), xpath );
Point point = dtde.getLocation();
int column = getPropertiesTable().columnAtPoint( point );
int row = getPropertiesTable().rowAtPoint( point );
if( row == -1 )
{
if( holder instanceof MutableTestPropertyHolder )
{
MutableTestPropertyHolder mtph = ( MutableTestPropertyHolder )holder;
String name = UISupport.prompt( "Specify unique name of property", "Add Property", modelItem
.getProperty().getName() );
while( name != null && mtph.hasProperty( name ) )
{
name = UISupport.prompt( "Specify unique name of property", "Add Property", modelItem
.getProperty().getName() );
}
if( name != null )
mtph.addProperty( name ).setValue( propertyExpansion.toString() );