2013-12-18 2 views
1

String 유형 입력 매개 변수를 사용하는 규칙이 있습니다. 이 매개 변수가 BAL을 사용하여 보유하는 값에서 공백을 제거 할 수 있습니까?ILog에서 BAL을 사용하여 입력 문자열 유형 매개 변수 값에서 공백을 제거하십시오. Jrule

그렇지 않은 경우 어떻게해야합니까? 이 JRule에는 condition 컬럼이이 매개 변수 인 결정 테이블이 있으며 그 다음 출력은 action 컬럼입니다.

출력 규칙 세트 매개 변수 부울이고 당신이 규칙 IsDepartmentManager에 대한 String 형의 Rulset 있었던 파라미터 "이름"을 정의하는 말.

이제 의사 결정 테이블에서 이름 열의 값은 "존"말을하고 밖으로 마찬가지입니다. 그렇지 않으면 거짓.

이제이 규칙을 웹 서비스로 호출하면 입력 전송은 "John"입니다. 이름에 공백이 포함되고 의사 결정 테이블이 정확한 일치를 수행하므로 결과 반환은 거짓입니다.

답변

3

InputString.trim()을 실행할 수있는 규칙 태스크 (의사 결정 테이블 또는 규칙 포함)에 Initial Action을 추가 할 수 있습니다.

+0

그래, 그 또 다른 접근 방식이지만, 내 대답에 내 마지막 단락에서 말했듯이, 최선의 방법은 데이터를 정화하고 규칙을 통과하기 전에 트림, 그래서 규칙 (또는 귀하의 예제에서 규칙 흐름 작업), 돈을 데이터로 아무 것도하지 않아도됩니다. –

+0

네, 규칙 실행시 놀라움을 피하기 위해 입력 매개 변수의 유효성을 검사/수정하는 데 사용하는 또 다른 aproach입니다. –

4

규칙 예제를 게시 할 수 있습니까? 왜 처음에 문자열을 다듬어야하는지 알면 좋을 것입니다.

그러나 이것을 수행하고 BOM을 통해 노출시킬 수있는 함수를 작성할 수 있습니다. 이것은 두 가지 방법으로 수행 할 수 있습니다. 먼저 BOM에 가상 함수를 직접 작성하여 문자열을 가져 와서 잘라냅니다. Java XOM을 사용하는 경우 두 번째 옵션은 Java로 함수를 작성하고이를 BOM을 통해 노출하는 것입니다.

당신은 가상 함수 접근법을 사용하는 경우, 다음 코드는 IRL을 사용하여 작성됩니다,하지만 트림에 필요한 String 객체 메소드를 가지게됩니다 이것은 기본적으로 자바의 삭감 버전입니다. 예를 들어 :

  1. 오른쪽 이클립스 규칙 프로젝트에서 "BOM"폴더를 클릭

    return theString.trim(); 
    

    다음 단계는 마십시오 BOM 기능을 추가합니다.

  2. 메뉴에서 "BOM Entry"를 선택하십시오.
  3. "빈 BOM 항목 만들기"옵션을 선택하고 "마침"을 클릭하십시오.
  4. 새 BOM 항목을 두 번 클릭하여 BOM 편집기보기를 표시 한 다음 "새 클래스"를 클릭하십시오.
  5. 클래스 이름을 입력하고 "마침"을 클릭하십시오.
  6. 목록에서 새 BOM 클래스를 두 번 클릭 한 다음 "멤버"섹션에서 "새로 만들기"버튼을 클릭하십시오.
  7. 새 멤버 대화 상자에서 "메서드"옵션을 선택하고 메서드 이름을 입력 한 다음 매개 변수를 String 유형으로 추가합니다. 마지막으로 리턴 유형을 String 유형으로 설정하십시오. 그런 다음 "마침"버튼을 클릭하십시오.
  8. 그런 다음 "회원"섹션에서 새로운 방법을 두 번 클릭하고, "정적"과 "마지막"옵션을 선택하고 "회원 Verbalisation"섹션에서 기본 verbalisation을 만들 수 있습니다.
  9. "BOM to XOM 매핑"섹션에서 위의 원래 응답에 입력 한 코드를 입력하고 매개 변수 이름을 사용한 것과 일치하도록 코드를 변경하십시오.
  10. 클래스 수준 BOM 편집기로 돌아가서 "BOM에서 XOM으로 매핑"섹션에서 "실행 이름"을 값 "void"로 설정하십시오. BOM 클래스가 Java 클래스 (XOM)에 연결되어 있지 않기 때문에이 작업이 필요합니다.

이렇게하면 규칙에 대한 BAL 편집기에서 새 방법을 볼 수 있습니다.

그러나 내가 말하고자하는 것은 데이터를 규칙 집합에 전달하기 전에 데이터를 정리하고 준비해야한다는 것입니다. 규칙을 가능한 한 깨끗하게 유지하려면 가능한 한 규칙 세트에 약간의 사용자 정의 함수가 필요합니다.

+0

예제를 추가했습니다. 지금 솔루션을 제안 해 주시겠습니까? Jrule에는 BOM이 없습니다. – Manu

+0

IBM 문서에서 이와 같은 명확한 절차를 발견했으면 좋겠습니다. 많은 감사합니다! – kc2001

+1

@ kc2001 아 그래, IBM 문서. 더 말하지 마! –