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);


Reply via email to