각 자원은 서버에 대해 고유하게 식별되는 위치를 가지고 있습니다. Rational® CM API StpLocation 오브젝트는 자원의 위치를 나타내며 자원의 프록시를 생성하는 데 필요합니다. 제공자는 위치의 문자열 표시에서 StpLocation 오브젝트를 생성합니다. Rational CM API는 StpLocation에 대한 Javadoc 정보를 통해 이러한 문자열 표시로 자원 위치를 지정하는 데 사용되는 구문을 정의합니다. Provider.location(...), StpProvider.stpLocation(...) 및 StpPovider.buildProxy(...) 오퍼레이션에 대한 문자열 인수는 StpLocation에 지정된 구문을 준수해야 합니다. CM API 위치 문자열 구문은 ClearCase® 오브젝트 선택기 구문의 확장입니다.
예를 들어, 클라이언트 시스템의 자원 파일 또는 디렉토리에 대한 위치 문자열은 파일 경로 이름입니다. 이 형식은 다음 코드 단편에서 sample_file.txt 파일을 체크아웃하는 데 사용됩니다.
// Given a CcProvider object, m_provider, which must first be instantiated, // create a Location object from a unique file pathname. // Use "C:\\sample_view\\sample_dir\\sample_file.txt" on Windows, // or "/sample_view/sample_dir/sample_file.txt" on UNIX. StpLocation fileLoc = m_provider.stpLocation("C:\\sample_view\\sample_dir\\sample_file.txt"); // Create the ControllableResource proxy for the client - a versioned file // is a ControllableResource CcControllableResource my_ctresource = m_provider.ccControllableResource(fileLoc); // Use the proxy to work with the controllable resource. // For example, check out the file: my_ctresource.doCheckout();
예제에서 보듯이, provider.stpLocation() 메소드는 위치 스펙에 대응하는 StpLocation 오브젝트를 리턴합니다. 그런 다음, StpLocation 오브젝트(fileLoc)를 Provider.ccControllableResource()로 전달하여 해당 위치의 자원에 대한 프록시를 생성합니다.
StpLocation activityLoc = provider.stpLocation("cc.activity:my_fix_a_bug@/vobs/projects"); CcActivity act = provider.ccProvider().ccActivity(activityLoc);
StpLocation loc = provider.stpLocation("cq.record:Defect/SAMPL00000234@2003.06.00/SAMPL"); CqRecord record = provider.cqProvider().cqRecord(loc);
StpLocation 인터페이스도 위치 스펙이 포함된 문자열을 구문 분석하고 작성하는 메소드를 제공합니다.
프록시에서 참조한 오브젝트 위치에 대응하는 해당 각 프록시에서 StpLocation 오브젝트를 사용할 수 있습니다. StpLocation은 StpLocation 오브젝트에 대한 제공자를 제공하도록 확장됩니다. StpLocation 오브젝트 및 위치 스펙 구문에 대한 자세한 정보는 위치 구문을 참조하십시오.위치 문자열 사용 및 특성 설정에 대한 추가 예제는 쓰기 특성을 참조하십시오.