if ( !loginRequest.name().equals("user") ) if (loginRequest.hasNameType()) loginStatus.nameType(loginRequest.nameType()); event.provider().submit( loginStatus.name(loginRequest.name()). state(OmmState.StreamState.CLOSED, OmmState.DataState.SUSPECT, OmmState.StatusCode.NOT_AUTHORIZED, "Login denied"). message(), event.handle() ); if(loginRequest.hasAllowSuspectData()) loginRefresh.allowSuspectData(loginRequest.allowSuspectData()); if(loginRequest.hasSingleOpen()) loginRefresh.singleOpen(loginRequest.singleOpen()); if(loginRequest.hasPosition()) loginRefresh.position(loginRequest.position()); if(loginRequest.hasApplicationId()) loginRefresh.applicationId(loginRequest.applicationId()); if (loginRequest.hasNameType()) loginRefresh.nameType(loginRequest.nameType()); event.provider().submit( loginRefresh.name(loginRequest.name()). state(OmmState.StreamState.OPEN, OmmState.DataState.OK, OmmState.StatusCode.NONE, "Login accepted").message(), event.handle() );
public void onRefreshMsg(RefreshMsg refreshMsg, OmmProviderEvent event) { System.out.println("Received Login Refresh Message\n"); System.out.println( refreshMsg ); System.out.println(); /* Get the handle from the event and save it for a future reissue */ handle = event.handle(); LoginRefresh loginRefresh = EmaFactory.Domain.createLoginRefresh().message(refreshMsg); if(loginRefresh.hasAuthenticationTTReissue()) ttReissue = loginRefresh.authenticationTTReissue(); }
void processInvalidDomainRequest(ReqMsg reqMsg, OmmProviderEvent event) { event.provider().submit( EmaFactory.Domain.createLoginStatus().name(reqMsg.name()).nameType(reqMsg.nameType()). state(OmmState.StreamState.CLOSED, OmmState.DataState.SUSPECT, OmmState.StatusCode.NOT_AUTHORIZED, "Invalid domain"). message(), event.handle() ); } }
loginRefresh.allowSuspectData(false); loginRefresh.providePermissionProfile(false); loginRefresh.providePermissionExpressions(false); loginRefresh.singleOpen(false); loginRefresh.supportProviderDictionaryDownload(true); loginRefresh.supportBatchRequests(EmaRdm.SUPPORT_BATCH_REQUEST); loginRefresh.supportOptimizedPauseResume(true); loginRefresh.supportOMMPost(true); loginRefresh.supportViewRequests(true); loginRefresh.supportStandby(true); loginRefresh.supportEnhancedSymbolList(EmaRdm.SUPPORT_SYMBOL_LIST_DATA_STREAMS); loginRefresh.authenticationTTReissue(10); loginRefresh.authenticationErrorCode(10); loginRefresh.authenticationErrorText("ErrorText"); loginRefresh.state(StreamState.OPEN, DataState.OK, StatusCode.NONE, "StatusText"); loginRefresh.seqNum(10); loginRefresh.applicationId("AppId"); loginRefresh.applicationName("AppName"); loginRefresh.position("Position"); loginRefresh.authenticationExtendedResp(ByteBuffer.wrap("AuthExtended".getBytes())); loginRefresh.name("Name"); loginRefresh.nameType(EmaRdm.USER_EMAIL_ADDRESS); loginRefresh.solicited(false); assertEquals(true, loginRefresh.hasAllowSuspectData()); assertEquals(false, loginRefresh.allowSuspectData()); assertEquals(true, loginRefresh.hasProvidePermissionProfile()); assertEquals(false, loginRefresh.providePermissionProfile()); assertEquals(true, loginRefresh.hasProvidePermissionExpressions());
loginReq.allowSuspectData(false); loginReq.downloadConnectionConfig(true); loginReq.providePermissionProfile(false); loginReq.providePermissionExpressions(false); loginReq.singleOpen(false); loginReq.supportProviderDictionaryDownload(true); loginReq.role(EmaRdm.LOGIN_ROLE_PROV); loginReq.applicationId("AppId"); loginReq.applicationName("AppName"); loginReq.applicationAuthorizationToken("AppAuthToken"); loginReq.instanceId("InstanceId"); loginReq.password("12345"); loginReq.position("Position"); loginReq.authenticationExtended(ByteBuffer.wrap("AuthExtended".getBytes())); loginReq.name("Name"); loginReq.nameType(EmaRdm.USER_EMAIL_ADDRESS); loginReq.pause(true); assertEquals(true, loginReq.hasAllowSuspectData()); assertEquals(false, loginReq.allowSuspectData()); assertEquals(true, loginReq.hasDownloadConnectionConfig()); assertEquals(true, loginReq.downloadConnectionConfig()); assertEquals(true, loginReq.hasProvidePermissionProfile()); assertEquals(false, loginReq.providePermissionProfile()); assertEquals(true, loginReq.hasProvidePermissionExpressions()); assertEquals(false, loginReq.providePermissionExpressions()); assertEquals(true, loginReq.hasSingleOpen()); assertEquals(false, loginReq.singleOpen()); assertEquals(true, loginReq.hasSupportProviderDictionaryDownload());
loginStatus.authenticationErrorCode(10); loginStatus.authenticationErrorText("ErrorText"); loginStatus.state(StreamState.OPEN, DataState.OK, StatusCode.NONE, "StatusText"); loginStatus.name("Name"); loginStatus.nameType(EmaRdm.USER_EMAIL_ADDRESS); assertEquals(true, loginStatus.hasAuthenticationErrorCode()); assertEquals(10, loginStatus.authenticationErrorCode()); assertEquals(true, loginStatus.hasAuthenticationErrorText()); assertEquals("ErrorText", loginStatus.authenticationErrorText()); assertEquals(true, loginStatus.hasState()); assertEquals(StreamState.OPEN, loginStatus.state().streamState()); assertEquals(DataState.OK, loginStatus.state().dataState()); assertEquals(StatusCode.NONE, loginStatus.state().statusCode()); assertEquals("StatusText", loginStatus.state().statusText()); assertEquals(true, loginStatus.hasName()); assertEquals("Name", loginStatus.name()); assertEquals(true, loginStatus.hasNameType()); assertEquals(EmaRdm.USER_EMAIL_ADDRESS, loginStatus.nameType()); loginStatus.clear(); assertEquals(false, loginStatus.hasAuthenticationErrorCode()); assertEquals(false, loginStatus.hasAuthenticationErrorText()); assertEquals(false, loginStatus.hasState()); assertEquals(false, loginStatus.hasName()); assertEquals(true, loginStatus.hasNameType()); assertEquals(EmaRdm.USER_NAME, loginStatus.nameType());
loginRefresh.state(StreamState.OPEN, DataState.OK, StatusCode.NONE, "headerLoginRefreshTest"); loginRefresh.name("UserName"); loginRefresh.nameType(EmaRdm.USER_NAME); loginRefresh.seqNum(5); loginRefresh.solicited(true); assertEquals(true, loginRefresh.hasState()); assertEquals(StreamState.OPEN, loginRefresh.state().streamState()); assertEquals(DataState.OK, loginRefresh.state().dataState()); assertEquals(StatusCode.NONE, loginRefresh.state().statusCode()); assertEquals("headerLoginRefreshTest", loginRefresh.state().statusText()); assertEquals(true, loginRefresh.hasName()); assertEquals("UserName", loginRefresh.name()); assertEquals(true, loginRefresh.hasNameType()); assertEquals(EmaRdm.USER_NAME, loginRefresh.nameType()); assertEquals(true, loginRefresh.hasSeqNum()); assertEquals(5, loginRefresh.seqNum()); assertEquals(true, loginRefresh.hasSolicited()); assertEquals(true, loginRefresh.solicited());
.addAdminMsg(loginReq.name("user").nameType(EmaRdm.USER_NAME).applicationId("127").position("127.0.0.1/net").allowSuspectData(true).message()) .addAdminMsg(reqMsg.domainType(EmaRdm.MMT_DIRECTORY).filter(EmaRdm.SERVICE_INFO_FILTER | EmaRdm.SERVICE_STATE_FILTER | EmaRdm.SERVICE_GROUP_FILTER)) .addAdminMsg(reqMsg.clear().domainType(EmaRdm.MMT_DICTIONARY).filter(EmaRdm.DICTIONARY_VERBOSE).name("RWFFld").serviceId(1))
@Test public void headerLoginReqTest() { LoginReq loginReq = EmaFactory.Domain.createLoginReq(); loginReq.name("UserName"); loginReq.nameType(EmaRdm.USER_AUTH_TOKEN); assertEquals(true, loginReq.hasName()); assertEquals("UserName", loginReq.name()); assertEquals(true, loginReq.hasNameType()); assertEquals(EmaRdm.USER_AUTH_TOKEN, loginReq.nameType()); ReqMsg reqMsg = loginReq.message(); assertEquals("\0", reqMsg.name()); }
@Test public void headerLoginStatusTest() { LoginStatus loginStatus = EmaFactory.Domain.createLoginStatus(); loginStatus.state(StreamState.OPEN, DataState.OK, StatusCode.NONE, "headerLoginStatusTest"); loginStatus.name("UserName"); loginStatus.nameType(EmaRdm.USER_NAME); assertEquals(true, loginStatus.hasState()); assertEquals(StreamState.OPEN, loginStatus.state().streamState()); assertEquals(DataState.OK, loginStatus.state().dataState()); assertEquals(StatusCode.NONE, loginStatus.state().statusCode()); assertEquals("headerLoginStatusTest", loginStatus.state().statusText()); assertEquals(true, loginStatus.hasName()); assertEquals("UserName", loginStatus.name()); assertEquals(true, loginStatus.hasNameType()); assertEquals(EmaRdm.USER_NAME, loginStatus.nameType()); }
@Test public void errorHandlingLoginRequestTest() { LoginReq loginReq = EmaFactory.Domain.createLoginReq(); exception.expect(OmmInvalidUsageException.class); exception.expectMessage("ApplicationAuthorizationToken element is not set"); loginReq.applicationAuthorizationToken(); exception.expect(OmmInvalidUsageException.class); exception.expectMessage("InstanceId element is not set"); loginReq.instanceId(); exception.expect(OmmInvalidUsageException.class); exception.expectMessage("Password element is not set"); loginReq.password(); exception.expect(OmmInvalidUsageException.class); exception.expectMessage("Position element is not set"); loginReq.position(); exception.expect(OmmInvalidUsageException.class); exception.expectMessage("authenticationExtended element is not set"); loginReq.authenticationExtended(); }
@Test public void blankLoginStatusTest() { ElementList encodedElementList = EmaFactory.createElementList(); encodedElementList.add(EmaFactory.createElementEntry().ascii(EmaRdm.ENAME_AUTHN_ERRORTEXT, "")); com.thomsonreuters.upa.codec.DataDictionary dictionary = com.thomsonreuters.upa.codec.CodecFactory .createDataDictionary(); TestUtilities.upa_encodeDictionaryMsg(dictionary); StatusMsg encStatusMsg = EmaFactory.createStatusMsg(); encStatusMsg.domainType(EmaRdm.MMT_LOGIN); encStatusMsg.attrib(encodedElementList); encStatusMsg.state(StreamState.OPEN, DataState.OK, StatusCode.NONE, "decodeLoginStatusTest"); StatusMsg decStatusMsg = JUnitTestConnect.createStatusMsg(); JUnitTestConnect.setRsslData(decStatusMsg, encStatusMsg, Codec.majorVersion(), Codec.minorVersion(), dictionary, null); LoginStatus loginStatus = EmaFactory.Domain.createLoginStatus(); loginStatus.authenticationErrorText("test"); loginStatus.message(decStatusMsg); assertEquals(true, loginStatus.hasState()); assertEquals(StreamState.OPEN, loginStatus.state().streamState()); assertEquals(DataState.OK, loginStatus.state().dataState()); assertEquals(StatusCode.NONE, loginStatus.state().statusCode()); assertEquals("decodeLoginStatusTest", loginStatus.state().statusText()); assertEquals(false, loginStatus.hasAuthenticationErrorText()); }
@Test public void errorHandlingLoginRefreshTest() { LoginRefresh loginRefresh = EmaFactory.Domain.createLoginRefresh(); exception.expect(OmmInvalidUsageException.class); exception.expectMessage("ApplicationId element is not set"); loginRefresh.applicationId(); exception.expect(OmmInvalidUsageException.class); exception.expectMessage("ApplicationName element is not set"); loginRefresh.applicationName(); exception.expect(OmmInvalidUsageException.class); exception.expectMessage("Position element is not set"); loginRefresh.position(); exception.expect(OmmInvalidUsageException.class); exception.expectMessage("AuthenticationExtended element is not set"); loginRefresh.authenticationExtended(); }
public void onStatusMsg(StatusMsg statusMsg, OmmConsumerEvent event) { System.out.println("Received Status. Item Handle: " + event.handle() + " Closure: " + event.closure()); System.out.println("Item Name: " + (statusMsg.hasName() ? statusMsg.name() : "<not set>")); System.out.println("Service Name: " + (statusMsg.hasServiceName() ? statusMsg.serviceName() : "<not set>")); if (statusMsg.hasState()) System.out.println("Item State: " +statusMsg.state()); if (statusMsg.domainType() == EmaRdm.MMT_LOGIN) { _loginStatus.clear(); System.out.println(_loginStatus.message(statusMsg).toString()); } System.out.println(); }
public void onRefreshMsg(RefreshMsg refreshMsg, OmmConsumerEvent event) { System.out.println("Received Refresh. Item Handle: " + event.handle() + " Closure: " + event.closure()); System.out.println("Item Name: " + (refreshMsg.hasName() ? refreshMsg.name() : "<not set>")); System.out.println("Service Name: " + (refreshMsg.hasServiceName() ? refreshMsg.serviceName() : "<not set>")); System.out.println("Item State: " + refreshMsg.state()); if (refreshMsg.domainType() == EmaRdm.MMT_LOGIN) { _loginRefresh.clear(); System.out.println(_loginRefresh.message(refreshMsg).toString()); } else { decode( refreshMsg ); } System.out.println(); }
public static void main(String[] args) { OmmConsumer consumer = null; try { AppClient appClient = new AppClient(); consumer = EmaFactory.createOmmConsumer(EmaFactory.createOmmConsumerConfig().host("localhost:14002").username("user")); LoginReq loginReq = EmaFactory.Domain.createLoginReq(); consumer.registerClient(loginReq.message(), appClient); ReqMsg reqMsg = EmaFactory.createReqMsg(); consumer.registerClient(reqMsg.serviceName("DIRECT_FEED").name("IBM.N"), appClient); Thread.sleep(60000); // API calls onRefreshMsg(), onUpdateMsg() and onStatusMsg() } catch (InterruptedException | OmmException excp) { System.out.println(excp.getMessage()); } finally { if (consumer != null) consumer.uninitialize(); } } }
@Test public void errorHandlingLoginStatusTest() { LoginStatus loginStatus = EmaFactory.Domain.createLoginStatus(); exception.expect(OmmInvalidUsageException.class); exception.expectMessage("AuthenticationErrorCode element is not set"); loginStatus.authenticationErrorCode(); exception.expect(OmmInvalidUsageException.class); exception.expectMessage("AuthenticationErrorText element is not set"); loginStatus.authenticationErrorText(); } }
@Test public void decodeLoginRefreshInvalidTypeTest() { ElementList encodedElementList = EmaFactory.createElementList(); encodedElementList.add( EmaFactory.createElementEntry().ascii(EmaRdm.ENAME_ALLOW_SUSPECT_DATA, "1")); com.thomsonreuters.upa.codec.DataDictionary dictionary = com.thomsonreuters.upa.codec.CodecFactory .createDataDictionary(); TestUtilities.upa_encodeDictionaryMsg(dictionary); RefreshMsg encRefreshMsg = EmaFactory.createRefreshMsg(); encRefreshMsg.domainType(EmaRdm.MMT_LOGIN); encRefreshMsg.attrib(encodedElementList); RefreshMsg decRefreshMsg = JUnitTestConnect.createRefreshMsg(); JUnitTestConnect.setRsslData(decRefreshMsg, encRefreshMsg, Codec.majorVersion(), Codec.minorVersion(), dictionary, null); LoginRefresh loginRefresh = EmaFactory.Domain.createLoginRefresh(); exception.expect(OmmInvalidUsageException.class); exception.expectMessage("Decoding error for AllowSuspectData element. Attempt to uintValue() while actual entry data type is Ascii"); loginRefresh.message(decRefreshMsg); }
public void onRefreshMsg(RefreshMsg refreshMsg, OmmConsumerEvent event) { System.out.println("Received Login Refresh Message\n"); System.out.println( refreshMsg ); System.out.println(); /* Get the handle from the event and save it for a future reissue */ handle = event.handle(); /* Get the time to reissue from the refresh and save it */ LoginRefresh loginRefresh = EmaFactory.Domain.createLoginRefresh().message(refreshMsg); if(loginRefresh.hasAuthenticationTTReissue()) ttReissue = loginRefresh.authenticationTTReissue(); }
@Test public void decodeLoginReqInvalidTypeTest() { ElementList encodedElementList = EmaFactory.createElementList(); encodedElementList.add( EmaFactory.createElementEntry().ascii(EmaRdm.ENAME_ALLOW_SUSPECT_DATA, "1")); com.thomsonreuters.upa.codec.DataDictionary dictionary = com.thomsonreuters.upa.codec.CodecFactory .createDataDictionary(); TestUtilities.upa_encodeDictionaryMsg(dictionary); ReqMsg encReqMsg = EmaFactory.createReqMsg(); encReqMsg.domainType(EmaRdm.MMT_LOGIN); encReqMsg.attrib(encodedElementList); ReqMsg decReqMsg = JUnitTestConnect.createReqMsg(); JUnitTestConnect.setRsslData(decReqMsg, encReqMsg, Codec.majorVersion(), Codec.minorVersion(), dictionary, null); exception.expect(OmmInvalidUsageException.class); exception.expectMessage("Decoding error for AllowSuspectData element. Attempt to uintValue() while actual entry data type is Ascii"); LoginReq loginReq = EmaFactory.Domain.createLoginReq(); loginReq.message(decReqMsg); }