}
else if (Constants.SV_VALUE.equals(lname))
{
// apply property value to the current property
propertyValue.close();
TransientValueData vdata;
if (propertyType == PropertyType.NAME)
{
vdata =
new TransientValueData(currentProperty.getValues().size(), locationFactory.parseJCRName(
propertyValue.getText()).getInternalName());
}
else if (propertyType == PropertyType.PATH)
{
vdata =
new TransientValueData(currentProperty.getValues().size(), locationFactory.parseJCRPath(
propertyValue.getText()).getInternalPath());
}
else if (propertyType == PropertyType.DATE)
{
vdata =
new TransientValueData(currentProperty.getValues().size(), JCRDateFormat
.parse(propertyValue.getText()));
}
else if (propertyType == PropertyType.BINARY)
{
if (propertyValue.isText())
{
vdata =
new TransientValueData(currentProperty.getValues().size(), propertyValue.getText());
}
else
{
File pfile = propertyValue.getFile();
if (pfile != null)
{
vdata =
new TransientValueData(currentProperty.getValues().size(), null, null, pfile,
fileCleaner, maxBufferSize, null, true);
}
else
{
vdata = new TransientValueData(currentProperty.getValues().size(), new byte[]{});
}
}
}
else
{
vdata = new TransientValueData(currentProperty.getValues().size(), propertyValue.getText()); // other like String
}
currentProperty.getValues().add(vdata);
// reset value context