}
private CmisObject createCmisObjectFromElement( Element element, int depth ) {
CmisObject object = new CmisObjectImpl();
CmisProperties properties = new CmisProperties();
List<CmisProperty> propList = properties.getProperties();
// is this a folder or a file?
boolean isDirectory = false;
Attribute attr = element.attribute( "isDirectory" ); //$NON-NLS-1$
if ( attr != null ) {
isDirectory = "true".equalsIgnoreCase( attr.getText() ); //$NON-NLS-1$
}
// set the base properties
String objectId = getObjectId( element );
Calendar lastModifiedDate = getLastModifiedDate( element );
String name = getName( element );
String localizedName = getLocalizedName( element );
String extension = getExtension( element );
boolean visible = getVisible( element );
propList.add( new PropertyId( PropertiesBase.OBJECTID, objectId ) );
propList.add( new PropertyDateTime( PropertiesBase.LASTMODIFICATIONDATE, lastModifiedDate ) );
if ( isDirectory ) {
propList.add( new PropertyString( PropertiesBase.OBJECTTYPEID, CmisObject.OBJECT_TYPE_FOLDER ) );
} else {
propList.add( new PropertyString( PropertiesBase.OBJECTTYPEID, extension ) );
propList.add( new PropertyBoolean( PropertiesDocument.CONTENTSTREAMALLOWED, true ) );
}
propList.add( new PropertyString( CmisObject.NAME, name ) );
propList.add( new PropertyString( CmisObject.LOCALIZEDNAME, localizedName ) );
propList.add( new PropertyBoolean( CmisObject.VISIBLE, visible ) );
object.setProperties( properties );
return object;
}