I have opened SYNCOPE-323 for this.

Regards.

On 22/02/2013 12:43, Francesco Chicchiriccò wrote:
Hi all,
I have recently found that some REST create requests are treated as update.

For example, try to create a new schema on the admin console and provide a name of another existing schema: you won't get any warning; only, the existing schema definition will be completely replaced by the newly inserted entry.

After some investigations, I've found that this happens for external resources, schema, derived schema and virtual schema.
Such entities have in common the fact that the JPA @Id is non-generated.
The way how saving is handled (via EntityManager#merge()) finally turns an expected create into an update.

I don't find such behavior as correct, hence I would propose to throw an exception, in the REST create methods for the entities named above, in case the key of the entity being created is already present.

Do you see any problem with this?

--
Francesco Chicchiriccò

ASF Member, Apache Syncope PMC chair, Apache Cocoon PMC Member
http://people.apache.org/~ilgrosso/

Reply via email to