InputStream in = getClass().getResourceAsStream( DROOLS_ASSETEDITOR_CONFIG );
XMLEventReader eventReader = inputFactory.createXMLEventReader( in );
AssetEditorConfiguration configuration = null;
while ( eventReader.hasNext() ) {
XMLEvent event = eventReader.nextEvent();
if ( event.isStartElement() ) {
final AssetEditorConfigElement element = AssetEditorConfigElement.forName( event.asStartElement().getName().getLocalPart() );
switch ( element ) {
case ASSET_EDITOR : {
configuration = new AssetEditorConfiguration();
break;
}
case FORMAT : {
event = eventReader.nextEvent();
if ( event.isCharacters() ) {
configuration.setFormat( event.asCharacters().getData() );
} else if ( event.isEndElement() ) {
configuration.setFormat( "" );
}
break;
}
case TITLE : {
event = eventReader.nextEvent();
if ( event.isCharacters() ) {
configuration.setTitle( event.asCharacters().getData() );
} else if ( event.isEndElement() ) {
configuration.setTitle( "" );
}
break;
}
case ICON : {
event = eventReader.nextEvent();
if ( event.isCharacters() ) {
configuration.setIcon( event.asCharacters().getData() );
} else if ( event.isEndElement() ) {
configuration.setIcon( "" );
}
break;
}
case CLASS : {
event = eventReader.nextEvent();
if ( event.isCharacters() ) {
configuration.setEditorClass( event.asCharacters().getData() );
} else if ( event.isEndElement() ) {
configuration.setEditorClass( "" );
}
break;
}
}
}
if ( event.isEndElement() ) {
final AssetEditorConfigElement element = AssetEditorConfigElement.forName( event
.asEndElement().getName().getLocalPart() );
if ( element == AssetEditorConfigElement.ASSET_EDITOR ) {
assetEditors.add( configuration );
}
}