2012-11-15 4 views
1

두 개의 BooleanExpression을 추가하려고합니다. 하나는 조절 BooleanExpression이고, 다른 하나는 Path 밖으로 생성됩니다. Path의 사용법이 잘못되었다고 생각합니다. 내 코드 :경로로 기존 BooleanExpression에 부울 식을 추가하는 DSL 쿼리 <?>

public static Path<?> getPathByColumnName(String columnName) { 
    Path<?> retval = null;  

    QProfile p = QProfile.profile; 

    if (columnName.equals("name")) { 
     retval = p.name; 
    } else if (columnName.equals("account")) { 
     retval = p.account.name;  
    } else if (columnName.equals("isPublic")) { 
     retval = p.isPublic; 
    } else if (columnName.equals("datavendors")) { 
     retval = p.dataVendors.any().name; 
    } 

    return retval; 
} 

경로는 다음 방법으로 전송된다

공용 static BooleanExpression getFilterPredicateByFilterAndPath (패스 경로 FilerType 타입 필터 문자열) { BooleanExpression RETVAL = NULL;

if (path instanceof StringPath) { 
     if (FilerType.CONTAIN.equals(type)) { 
      retval = ((StringPath)path).like(filter); 
     }    
    } else if (path instanceof BooleanPath) { 
     if (FilerType.EQUAL.equals(type)) { 
      retval = ((BooleanPath)path).eq(Boolean.valueOf(filter)); 
     } 
    }  

    return retval; 
} 

다음으로 나는 recived BooleanExpression을 regulare로 abbend하려고합니다. 이것은 작동하지 않습니다. 어떤 아이디어라도 환영 할 것입니다.

+0

어떻게 작동하지 않습니까? 예외가 있습니까? 또한 어떻게 그들을 결합하려고합니까? –

답변

0

나쁨. 경로의 사용법은 코드의 다른 부분에서 오류가 발생했습니다.