bluemagicsource / magic-config-service

RESTful remote property repository
5 stars 5 forks source link

Refactor DatabaseRepository to save properties with (PUBLIC) tags #14

Open sdobberstein opened 12 years ago

sdobberstein commented 12 years ago

1) In the DatabaseRepository class ("put" method), we are stripping out the tags before we save the property to the database. This will cause an issue later on down the road when we want to add hierarchical properties. For example:

1st: Property: abc Key: 123

...this will go to the properties table and save it as: name: abc value: 123

2) The second problem is that while we want to save the tags...we only want to save the PUBLIC tags, all the other tags (PRIVATE, USER) should be stripped off before being saved to the table. In order to do this, we need to check the tags in the tags table first, then save the property to the properties table. Then assume we get another property...

2nd: Property: abc?tags=#test Key: 456

...this will go to the properties table and save it as: name: abc value: 456

The problem is that it will consider these two properties to be the same and will override the first one, when really they should be considered to be two separate properties.

So really the second one should be saved as: name: abc?tags=#test value: 456