You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2013/09/24 16:21:58 UTC

svn commit: r1525895 - in /cxf/branches/2.6.x-fixes: ./ rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/fiql/FiqlParser.java rt/rs/extensions/search/src/test/java/org/apache/cxf/jaxrs/ext/search/SearchContextImplTest.java

Author: sergeyb
Date: Tue Sep 24 14:21:57 2013
New Revision: 1525895

URL: http://svn.apache.org/r1525895
Log:
Merged revisions 1525893 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/branches/2.7.x-fixes

................
  r1525893 | sergeyb | 2013-09-24 15:19:49 +0100 (Tue, 24 Sep 2013) | 9 lines
  
  Merged revisions 1525891 via svnmerge from 
  https://svn.apache.org/repos/asf/cxf/trunk
  
  ........
    r1525891 | sergeyb | 2013-09-24 15:17:29 +0100 (Tue, 24 Sep 2013) | 1 line
    
    [CXF-5299] SearchBean can not capture properties with dots, patch from Nikolay Blindov applied
  ........
................

Modified:
    cxf/branches/2.6.x-fixes/   (props changed)
    cxf/branches/2.6.x-fixes/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/fiql/FiqlParser.java
    cxf/branches/2.6.x-fixes/rt/rs/extensions/search/src/test/java/org/apache/cxf/jaxrs/ext/search/SearchContextImplTest.java

Propchange: cxf/branches/2.6.x-fixes/
------------------------------------------------------------------------------
  Merged /cxf/branches/2.7.x-fixes:r1525893
  Merged /cxf/trunk:r1525891

Propchange: cxf/branches/2.6.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: cxf/branches/2.6.x-fixes/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/fiql/FiqlParser.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/fiql/FiqlParser.java?rev=1525895&r1=1525894&r2=1525895&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/fiql/FiqlParser.java (original)
+++ cxf/branches/2.6.x-fixes/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/fiql/FiqlParser.java Tue Sep 24 14:21:57 2013
@@ -324,7 +324,7 @@ public class FiqlParser<T> implements Se
         boolean isCollection = InjectionUtils.isSupportedCollectionOrArray(valueType);
         Class<?> actualType = isCollection ? InjectionUtils.getActualType(typeInfo.getGenericType()) : valueType;
         
-        int index = setter.indexOf(".");
+        int index = getDotIndex(setter);
         if (index == -1) {
             Object castedValue = value;
             if (Date.class.isAssignableFrom(valueType)) {
@@ -478,8 +478,12 @@ public class FiqlParser<T> implements Se
         }
     }
     
+    private int getDotIndex(String setter) {
+        return this.conditionClass == SearchBean.class ? -1 : setter.indexOf(".");
+    }
+    
     private String getSetter(String setter) {
-        int index = setter.indexOf(".");
+        int index = getDotIndex(setter);
         if (index != -1) {
             return setter.substring(0, index).toLowerCase();
         } else {

Modified: cxf/branches/2.6.x-fixes/rt/rs/extensions/search/src/test/java/org/apache/cxf/jaxrs/ext/search/SearchContextImplTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/rs/extensions/search/src/test/java/org/apache/cxf/jaxrs/ext/search/SearchContextImplTest.java?rev=1525895&r1=1525894&r2=1525895&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/rt/rs/extensions/search/src/test/java/org/apache/cxf/jaxrs/ext/search/SearchContextImplTest.java (original)
+++ cxf/branches/2.6.x-fixes/rt/rs/extensions/search/src/test/java/org/apache/cxf/jaxrs/ext/search/SearchContextImplTest.java Tue Sep 24 14:21:57 2013
@@ -173,7 +173,7 @@ public class SearchContextImplTest exten
     }
     
     @Test
-    public void testPrimitiveStatement() {
+    public void testPrimitiveStatementSearchBean() {
         Message m = new MessageImpl();
         m.put(Message.QUERY_STRING, "_s=name==CXF");
         SearchContext context = new SearchContextImpl(m);
@@ -190,6 +190,23 @@ public class SearchContextImplTest exten
     }
     
     @Test
+    public void testPrimitiveStatementSearchBeanComlexName() {
+        Message m = new MessageImpl();
+        m.put(Message.QUERY_STRING, "_s=complex.name==CXF");
+        SearchContext context = new SearchContextImpl(m);
+        SearchCondition<SearchBean> sc = context.getCondition(SearchBean.class);
+        assertNotNull(sc);
+        
+        PrimitiveStatement ps = sc.getStatement();
+        assertNotNull(ps);
+        
+        assertEquals("complex.name", ps.getProperty());
+        assertEquals("CXF", ps.getValue());
+        assertEquals(ConditionType.EQUALS, ps.getCondition());
+        assertEquals(String.class, ps.getValueType());
+    }
+    
+    @Test
     public void testSingleEquals() {
         Message m = new MessageImpl();
         m.put(Message.QUERY_STRING, "_s=name=CXF");