Hi

Just spotted couple of things on the commit mailing list of today:

http://git-wip-us.apache.org/repos/asf/camel/diff/000581e6

This commit now makes the following asserts passing:

  assertStartsWith((String[]) null, "foo");
  assertStartsWith(new String[] {}, "foo");
  assertStartsWith((Collection<String>) null, "foo");
  assertStartsWith(new ArrayList<String>(), "foo");

Which is actually wrong as that would be wrong to claim that e.g. the
String "foo" is an element of a given empty collection. Other than that
this change does not actually fix the failing test as the problem is
something else, namely there're elements inside the given array/collection
which do NOT start with the given prefix. So maybe a better approach would
be to change the asserts from:

  assertTrue(value.startsWith(prefix));

to:

  assertTrue("'" + value + "' does not start with the prefix: '" + prefix
+ "'!", value.startsWith(prefix));

So we get an idea about what actually is going wrong on ubuntu. See also
the note inside the checkProtocols() method of this test class.

http://git-wip-us.apache.org/repos/asf/camel/diff/8a080c97

- The following getters are missing: getProvider() / getSchemaLocation() /
getSchemaLocations() for the properties being newly introduced.
- Instead of:

  @SuppressWarnings("rawtypes")
  JSONProvider jsonProvider = new JSONProvider();

We could better do:

  JSONProvider<Object> jsonProvider = new JSONProvider<Object>();

- There's no benefit of the following generic List type newly introduced
by the API:

  public void setProviders(List<? extends Object> providers)...

As <?> is as good as <? extends Object> so maybe better do:

  public void setProviders(List<?> providers)...

See http://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.4

...Every type variable declared as a type parameter has a bound. If no
bound is declared for a type variable, Object is assumed.

Babak


Reply via email to