replaced NullPointerException with IllegalArguementException (checkstyle warning) replaced RuntimeExcpetion with UnsupportedOperationException (checkstyle warning) modified JavaDoc for Exception handling checked instanceof for wrong variable in line 318
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/349fcde6 Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/349fcde6 Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/349fcde6 Branch: refs/heads/master Commit: 349fcde6ca971c7451af9979a9830e0a4a4ab111 Parents: 1358dad Author: jotpe <[email protected]> Authored: Mon Dec 21 14:54:03 2015 +0100 Committer: jotpe <[email protected]> Committed: Mon Dec 21 14:54:03 2015 +0100 ---------------------------------------------------------------------- .../java/org/apache/cayenne/CayenneDataObject.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cayenne/blob/349fcde6/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java b/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java index b950257..8508692 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java @@ -291,29 +291,34 @@ public class CayenneDataObject extends PersistentObject implements DataObject, V * @return <code>List<? extends DataObject></code> of unrelated * DataObjects. If no relationship was removed an empty List is * returned. - * @throws NullPointerException + * @throws IllegalArgumentException * if no relationship could be read by relName, or if the passed * <code>Collection</code> is null. To clear all relationships * use an empty <code>Collection</code> + * @throws UnsupportedOperationException + * if the relation Collection Type is neither + * <code>java.util.Collection</code> nor + * <code>java.util.Map</code> * @since 4.0.M3 */ + @SuppressWarnings("unchecked") public List<? extends DataObject> setToManyTarget(String relName, Collection<? extends DataObject> values, boolean setReverse) { if (values == null) { - throw new NullPointerException(); + throw new IllegalArgumentException("values Collection is null. To clear all relationships use an empty Collection"); } Object property = readProperty(relName); if(property == null) { - throw new NullPointerException("unknown relName " + relName); + throw new IllegalArgumentException("unknown relName " + relName); } Collection<DataObject> old = null; if (property instanceof Map) { old = ((Map) property).values(); - } else if (dataObjects instanceof Collection) { + } else if (property instanceof Collection) { old = (Collection) property; } else { - throw new RuntimeException("setToManyTarget only operates with Map and Collection types"); + throw new UnsupportedOperationException("setToManyTarget operates only with Map or Collection types"); } // operate on a copy of passed collection
