@ -51,14 +51,18 @@ public class SqliteDb extends BaseDb implements StockDb {
@@ -51,14 +51,18 @@ public class SqliteDb extends BaseDb implements StockDb {
}
@Override
public Property add Property( long ownerId , long itemId , long existingPropId , Object value ) {
public Property set Property( long ownerId , long itemId , long existingPropId , Object value ) {
try {
Property prop = null ;
var rs = select ( ALL ) . from ( TABLE_PROPERTIES ) . where ( ID , equal ( existingPropId ) ) . exec ( db ) ;
if ( rs . next ( ) ) prop = Property . of ( rs ) ;
rs . close ( ) ;
if ( prop = = null ) throw databaseException ( "Failed to add new property to item {0}" , itemId ) ;
replaceInto ( TABLE_ITEM_PROPERTIES , OWNER , ITEM_ID , PROPERTY_ID , VALUE ) . values ( ownerId , itemId , existingPropId , value ) . execute ( db ) ;
if ( "" . equals ( value ) ) {
delete ( ) . from ( TABLE_ITEM_PROPERTIES ) . where ( OWNER , equal ( ownerId ) ) . where ( ITEM_ID , equal ( itemId ) ) . where ( PROPERTY_ID , equal ( existingPropId ) ) . execute ( db ) ;
} else {
replaceInto ( TABLE_ITEM_PROPERTIES , OWNER , ITEM_ID , PROPERTY_ID , VALUE ) . values ( ownerId , itemId , existingPropId , value ) . execute ( db ) ;
}
return prop . value ( value ) ;
} catch ( SQLException e ) {
throw databaseException ( "Failed to add new property to item {0}" , itemId ) ;