Author: ashakirin Date: Tue Jan 22 15:34:52 2013 New Revision: 1436996 URL: http://svn.apache.org/viewvc?rev=1436996&view=rev Log: [SYNCOPE-231] Updated schema generic interface to understand abstract types
Modified: syncope/trunk/client/src/main/java/org/apache/syncope/client/services/proxy/SchemaServiceProxy.java syncope/trunk/common/src/main/java/org/apache/syncope/common/services/SchemaService.java syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/SchemaRestClient.java syncope/trunk/core/src/main/java/org/apache/syncope/core/services/SchemaServiceImpl.java syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/DerivedSchemaTestITCase.java syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/SchemaTestITCase.java syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/VirtualSchemaTestITCase.java Modified: syncope/trunk/client/src/main/java/org/apache/syncope/client/services/proxy/SchemaServiceProxy.java URL: http://svn.apache.org/viewvc/syncope/trunk/client/src/main/java/org/apache/syncope/client/services/proxy/SchemaServiceProxy.java?rev=1436996&r1=1436995&r2=1436996&view=diff ============================================================================== --- syncope/trunk/client/src/main/java/org/apache/syncope/client/services/proxy/SchemaServiceProxy.java (original) +++ syncope/trunk/client/src/main/java/org/apache/syncope/client/services/proxy/SchemaServiceProxy.java Tue Jan 22 15:34:52 2013 @@ -56,18 +56,18 @@ public class SchemaServiceProxy extends } @Override - public <T extends AbstractSchemaTO> List<T> list(final AttributableType kind, final SchemaType type) { + public List<? extends AbstractSchemaTO> list(final AttributableType kind, final SchemaType type) { switch (type) { case NORMAL: - return (List<T>) Arrays.asList(getRestTemplate().getForObject(baseUrl + type + "/{kind}/list.json", + return Arrays.asList(getRestTemplate().getForObject(baseUrl + type + "/{kind}/list.json", SchemaTO[].class, kind)); case DERIVED: - return (List<T>) Arrays.asList(getRestTemplate().getForObject(baseUrl + type + "/{kind}/list.json", + return Arrays.asList(getRestTemplate().getForObject(baseUrl + type + "/{kind}/list.json", DerivedSchemaTO[].class, kind)); case VIRTUAL: - return (List<T>) Arrays.asList(getRestTemplate().getForObject(baseUrl + type + "/{kind}/list.json", + return Arrays.asList(getRestTemplate().getForObject(baseUrl + type + "/{kind}/list.json", VirtualSchemaTO[].class, kind)); default: Modified: syncope/trunk/common/src/main/java/org/apache/syncope/common/services/SchemaService.java URL: http://svn.apache.org/viewvc/syncope/trunk/common/src/main/java/org/apache/syncope/common/services/SchemaService.java?rev=1436996&r1=1436995&r2=1436996&view=diff ============================================================================== --- syncope/trunk/common/src/main/java/org/apache/syncope/common/services/SchemaService.java (original) +++ syncope/trunk/common/src/main/java/org/apache/syncope/common/services/SchemaService.java Tue Jan 22 15:34:52 2013 @@ -68,7 +68,7 @@ public interface SchemaService { @PathParam("name") String schemaName); @GET - <T extends AbstractSchemaTO> List<T> list(@PathParam("kind") AttributableType kind, + List<? extends AbstractSchemaTO> list(@PathParam("kind") AttributableType kind, @PathParam("type") SchemaType type); @GET Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/SchemaRestClient.java URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/SchemaRestClient.java?rev=1436996&r1=1436995&r2=1436996&view=diff ============================================================================== --- syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/SchemaRestClient.java (original) +++ syncope/trunk/console/src/main/java/org/apache/syncope/console/rest/SchemaRestClient.java Tue Jan 22 15:34:52 2013 @@ -46,11 +46,12 @@ public class SchemaRestClient extends Ba * * @return List of schemas. */ + @SuppressWarnings("unchecked") public List<SchemaTO> getSchemas(final AttributableType type) { List<SchemaTO> schemas = null; try { - schemas = getService(SchemaService.class).list(type, SchemaType.NORMAL); + schemas = (List<SchemaTO>) getService(SchemaService.class).list(type, SchemaType.NORMAL); } catch (SyncopeClientCompositeErrorException e) { LOG.error("While getting all schemas", e); } @@ -67,7 +68,9 @@ public class SchemaRestClient extends Ba final List<String> schemaNames = new ArrayList<String>(); try { - final List<SchemaTO> schemas = getService(SchemaService.class).list(type, SchemaType.NORMAL); + @SuppressWarnings("unchecked") + final List<SchemaTO> schemas = (List<SchemaTO>) getService(SchemaService.class).list(type, + SchemaType.NORMAL); for (SchemaTO schemaTO : schemas) { schemaNames.add(schemaTO.getName()); } @@ -83,12 +86,13 @@ public class SchemaRestClient extends Ba * * @return List of derived schemas. */ + @SuppressWarnings("unchecked") public List<DerivedSchemaTO> getDerivedSchemas(final AttributableType type) { List<DerivedSchemaTO> userDerivedSchemas = null; try { - userDerivedSchemas = getService(SchemaService.class).list(type, SchemaType.DERIVED); + userDerivedSchemas = (List<DerivedSchemaTO>) getService(SchemaService.class).list(type, SchemaType.DERIVED); } catch (SyncopeClientCompositeErrorException e) { LOG.error("While getting all user derived schemas", e); } @@ -106,8 +110,9 @@ public class SchemaRestClient extends Ba final List<String> userDerivedSchemasNames = new ArrayList<String>(); try { - final List<DerivedSchemaTO> userDerivedSchemas = getService(SchemaService.class).list(type, - SchemaType.DERIVED); + @SuppressWarnings("unchecked") + final List<DerivedSchemaTO> userDerivedSchemas = (List<DerivedSchemaTO>) getService(SchemaService.class) + .list(type, SchemaType.DERIVED); for (DerivedSchemaTO schemaTO : userDerivedSchemas) { userDerivedSchemasNames.add(schemaTO.getName()); @@ -124,12 +129,13 @@ public class SchemaRestClient extends Ba * * @return List of derived schemas. */ + @SuppressWarnings("unchecked") public List<VirtualSchemaTO> getVirtualSchemas(final AttributableType type) { List<VirtualSchemaTO> userVirtualSchemas = null; try { - userVirtualSchemas = getService(SchemaService.class).list(type, SchemaType.VIRTUAL); + userVirtualSchemas = (List<VirtualSchemaTO>) getService(SchemaService.class).list(type, SchemaType.VIRTUAL); } catch (SyncopeClientCompositeErrorException e) { LOG.error("While getting all user derived schemas", e); } @@ -146,8 +152,9 @@ public class SchemaRestClient extends Ba final List<String> userVirtualSchemasNames = new ArrayList<String>(); try { - final List<VirtualSchemaTO> userVirtualSchemas = getService(SchemaService.class).list(type, - SchemaType.VIRTUAL); + @SuppressWarnings("unchecked") + final List<VirtualSchemaTO> userVirtualSchemas = (List<VirtualSchemaTO>) getService(SchemaService.class) + .list(type, SchemaType.VIRTUAL); for (VirtualSchemaTO schemaTO : userVirtualSchemas) { userVirtualSchemasNames.add(schemaTO.getName()); } Modified: syncope/trunk/core/src/main/java/org/apache/syncope/core/services/SchemaServiceImpl.java URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/main/java/org/apache/syncope/core/services/SchemaServiceImpl.java?rev=1436996&r1=1436995&r2=1436996&view=diff ============================================================================== --- syncope/trunk/core/src/main/java/org/apache/syncope/core/services/SchemaServiceImpl.java (original) +++ syncope/trunk/core/src/main/java/org/apache/syncope/core/services/SchemaServiceImpl.java Tue Jan 22 15:34:52 2013 @@ -103,16 +103,16 @@ public class SchemaServiceImpl implement @SuppressWarnings("unchecked") @Override - public <T extends AbstractSchemaTO> List<T> list(final AttributableType kind, final SchemaType type) { + public List<? extends AbstractSchemaTO> list(final AttributableType kind, final SchemaType type) { switch (type) { case NORMAL: - return (List<T>) normalSchemaController.list(kind.toString()); + return (List<? extends AbstractSchemaTO>) normalSchemaController.list(kind.toString()); case DERIVED: - return (List<T>) derivedSchemaController.list(kind.toString()); + return (List<? extends AbstractSchemaTO>) derivedSchemaController.list(kind.toString()); case VIRTUAL: - return (List<T>) virtualSchemaController.list(kind.toString()); + return (List<? extends AbstractSchemaTO>) virtualSchemaController.list(kind.toString()); default: throw new BadRequestException(); Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/DerivedSchemaTestITCase.java URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/DerivedSchemaTestITCase.java?rev=1436996&r1=1436995&r2=1436996&view=diff ============================================================================== --- syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/DerivedSchemaTestITCase.java (original) +++ syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/DerivedSchemaTestITCase.java Tue Jan 22 15:34:52 2013 @@ -41,7 +41,8 @@ public class DerivedSchemaTestITCase ext @Test public void list() { - List<DerivedSchemaTO> derivedSchemas = schemaService.list(AttributableType.USER, + @SuppressWarnings("unchecked") + List<DerivedSchemaTO> derivedSchemas = (List<DerivedSchemaTO>) schemaService.list(AttributableType.USER, SchemaService.SchemaType.DERIVED); assertFalse(derivedSchemas.isEmpty()); for (DerivedSchemaTO derivedSchemaTO : derivedSchemas) { Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/SchemaTestITCase.java URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/SchemaTestITCase.java?rev=1436996&r1=1436995&r2=1436996&view=diff ============================================================================== --- syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/SchemaTestITCase.java (original) +++ syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/SchemaTestITCase.java Tue Jan 22 15:34:52 2013 @@ -142,21 +142,22 @@ public class SchemaTestITCase extends Ab assertNull(firstname); } + @SuppressWarnings("unchecked") @Test public void list() { - List<SchemaTO> userSchemas = schemaService.list(AttributableType.USER, SchemaService.SchemaType.NORMAL); + List<SchemaTO> userSchemas = (List<SchemaTO>) schemaService.list(AttributableType.USER, SchemaService.SchemaType.NORMAL); assertFalse(userSchemas.isEmpty()); for (SchemaTO schemaTO : userSchemas) { assertNotNull(schemaTO); } - List<SchemaTO> roleSchemas = schemaService.list(AttributableType.ROLE, SchemaService.SchemaType.NORMAL); + List<SchemaTO> roleSchemas = (List<SchemaTO>) schemaService.list(AttributableType.ROLE, SchemaService.SchemaType.NORMAL); assertFalse(roleSchemas.isEmpty()); for (SchemaTO schemaTO : roleSchemas) { assertNotNull(schemaTO); } - List<SchemaTO> membershipSchemas = schemaService.list(AttributableType.MEMBERSHIP, + List<SchemaTO> membershipSchemas = (List<SchemaTO>) schemaService.list(AttributableType.MEMBERSHIP, SchemaService.SchemaType.NORMAL); assertFalse(membershipSchemas.isEmpty()); for (SchemaTO schemaTO : membershipSchemas) { Modified: syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/VirtualSchemaTestITCase.java URL: http://svn.apache.org/viewvc/syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/VirtualSchemaTestITCase.java?rev=1436996&r1=1436995&r2=1436996&view=diff ============================================================================== --- syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/VirtualSchemaTestITCase.java (original) +++ syncope/trunk/core/src/test/java/org/apache/syncope/core/rest/VirtualSchemaTestITCase.java Tue Jan 22 15:34:52 2013 @@ -39,7 +39,8 @@ public class VirtualSchemaTestITCase ext @Test public void list() { - List<VirtualSchemaTO> vSchemas = schemaService.list(AttributableType.USER, SchemaService.SchemaType.VIRTUAL); + @SuppressWarnings("unchecked") + List<VirtualSchemaTO> vSchemas = (List<VirtualSchemaTO>) schemaService.list(AttributableType.USER, SchemaService.SchemaType.VIRTUAL); assertFalse(vSchemas.isEmpty()); for (VirtualSchemaTO vSchemaTO : vSchemas) { assertNotNull(vSchemaTO);