예제 #1
0
        private static MQTopicTemplate GetTopicTemplate(RestTarget restTarget)
        {
            var specFudge    = restTarget.Resolve("brokerUri").GetFudge();
            var activeMQSpec = specFudge.GetString("value");

            return(GetTopicTemplate(activeMQSpec, restTarget));
        }
        public ILocalDateDoubleTimeSeries GetHistoricalTimeSeries(UniqueId uid)
        {
            RestTarget target = _rest.Resolve("hts")
                                .Resolve(uid.ObjectID.ToString(), uid.IsVersioned ? new[] { Tuple.Create("version", uid.Version) } : new Tuple <string, string>[] { });

            return(target.Get <ILocalDateDoubleTimeSeries>("timeSeries"));
        }
예제 #3
0
        public HeartbeatSender(TimeSpan period, RestTarget heartbeatRest)
        {
            _period        = period;
            _heartbeatRest = heartbeatRest;

            _registeredWaitHandle = ThreadPool.RegisterWaitForSingleObject(_disposeEvent, SendHeartBeats, null, _period, false);
        }
        public Tuple <UniqueId, ILocalDateDoubleTimeSeries> GetHistoricalTimeSeries(ExternalIdBundle identifierBundle, DateTimeOffset identifierValidityDate, string dataSource, string dataProvider, string dataField, DateTimeOffset start, bool includeStart, DateTimeOffset end, bool includeEnd)
        {
            RestTarget target = _rest.Resolve("htsSearches", "single");

            target = identifierBundle.Identifiers.Aggregate(target, (current, id) => current.WithParam("id", id.ToString()));

            target = target.WithParam("idValidityDate", identifierValidityDate != default(DateTimeOffset) ? EncodeDate(identifierValidityDate) : "ALL");
            if (dataSource != null)
            {
                target = target.WithParam("dataSource", dataSource);
            }
            if (dataProvider != null)
            {
                target = target.WithParam("dataProvider", dataProvider);
            }
            if (dataField != null)
            {
                target = target.WithParam("dataField", dataField);
            }
            if (start != default(DateTimeOffset))
            {
                target = target.WithParam("start", EncodeDate(start));
                target = target.WithParam("includeStart", includeStart);
            }
            if (end != default(DateTimeOffset))
            {
                target = target.WithParam("end", EncodeDate(end));
                target = target.WithParam("includeEnd", includeEnd);
            }
            return(DecodePairMessage(target.GetFudge()));
        }
예제 #5
0
 public SearchResult<PortfolioDocument> GetHistory(PortfolioHistoryRequest request)
 {
     //request
     var versionsTarget = _restTarget.Resolve("portfolios", request.ObjectId.ToString(), "versions");
     RestTarget target = RestUtils.EncodeQueryParams(versionsTarget, request);
     return target.Get<SearchResult<PortfolioDocument>>();
 }
예제 #6
0
 private static MQTopicTemplate GetTopicTemplate(string activeMQSpec, RestTarget restTarget)
 {
     var fudgeMsg = restTarget.Resolve("topicName").GetFudge();
     var topicName = fudgeMsg.GetString("value");
     var template = new MQTemplate(activeMQSpec);
     return new MQTopicTemplate(template, topicName);
 }
예제 #7
0
        public HeartbeatSender(TimeSpan period, RestTarget heartbeatRest)
        {
            _period = period;
            _heartbeatRest = heartbeatRest;

            _registeredWaitHandle = ThreadPool.RegisterWaitForSingleObject(_disposeEvent, SendHeartBeats, null, _period, false);
        }
예제 #8
0
        private static MQTopicTemplate GetTopicTemplate(string activeMQSpec, RestTarget restTarget)
        {
            var fudgeMsg  = restTarget.Resolve("topicName").GetFudge();
            var topicName = fudgeMsg.GetString("value");
            var template  = new MQTemplate(activeMQSpec);

            return(new MQTopicTemplate(template, topicName));
        }
        public RemoteEngineContextFactory(OpenGammaFudgeContext fudgeContext, Uri rootUri)
        {
            _fudgeContext = fudgeContext;
            _rootUri = rootUri;
            _rootRest = new RestTarget(_fudgeContext, rootUri);

            _componentsMessage = new Lazy<IFudgeFieldContainer>(GetComponentsMessage);
            _componentRepository = new Lazy<ComponentRepository>(() => GetComponentRepository(_componentsMessage.Value));
        }
        public RemoteEngineContextFactory(OpenGammaFudgeContext fudgeContext, Uri rootUri)
        {
            _fudgeContext = fudgeContext;
            _rootUri      = rootUri;
            _rootRest     = new RestTarget(_fudgeContext, rootUri);

            _componentsMessage   = new Lazy <IFudgeFieldContainer>(GetComponentsMessage);
            _componentRepository = new Lazy <ComponentRepository>(() => GetComponentRepository(_componentsMessage.Value));
        }
예제 #11
0
        protected RestfulJmsResultConsumerBase(OpenGammaFudgeContext fudgeContext, RestTarget clientUri, MQTemplate mqTemplate, Action <object, TListener> resultAction)
        {
            FudgeContext = fudgeContext;
            _mqTemplate  = mqTemplate;
            REST         = clientUri;

            _listenerReference = new ListenerReference(resultAction); //TODO: check that this doesn't reference us
            _heartbeatSender   = new HeartbeatSender(TimeSpan.FromSeconds(10), REST.Resolve("heartbeat"));
        }
예제 #12
0
        public static RestTarget EncodeQueryParams(RestTarget baseTarget, object bean)
        {
            //TODO [DOTNET-14] could use fudge encoder proper if we encoded IDs properly
            var ret = baseTarget;
            foreach (var property in bean.GetType().GetProperties())
            {
                ret = ret.WithParam(EncodePropName(property), EncodeParamValue(GetPropertyValue(bean, property)));
            }

            return ret;
        }
예제 #13
0
        public static RestTarget EncodeQueryParams(RestTarget baseTarget, object bean)
        {
            //TODO [DOTNET-14] could use fudge encoder proper if we encoded IDs properly
            var ret = baseTarget;

            foreach (var property in bean.GetType().GetProperties())
            {
                ret = ret.WithParam(EncodePropName(property), EncodeParamValue(GetPropertyValue(bean, property)));
            }

            return(ret);
        }
예제 #14
0
        public IAvailableOutputs GetPortfolioOutputs(UniqueId portfolioId, string timeStamp = "now")
        {
            ArgumentChecker.NotNull(portfolioId, "portfolioId");
            ArgumentChecker.NotNull(timeStamp, "timeStamp");

            RestTarget target = _restTarget.Resolve("portfolio").Resolve(timeStamp);

            if (_maxNodes > 0)
            {
                target = target.Resolve("nodes", _maxNodes.ToString());
            }
            if (_maxPositions > 0)
            {
                target = target.Resolve("positions", _maxPositions.ToString());
            }
            target = target.Resolve(portfolioId.ToString());
            return(target.Get <IAvailableOutputs>());
        }
        public ILocalDateDoubleTimeSeries GetHistoricalTimeSeries(UniqueId uid, DateTimeOffset start, bool includeStart, DateTimeOffset end, bool includeEnd)
        {
            var args = new List <Tuple <string, string> >();

            if (uid.IsVersioned)
            {
                args.Add(Tuple.Create(uid.ToString(), uid.Version));
            }
            if (start != default(DateTimeOffset))
            {
                args.Add(Tuple.Create("start", DateToString(start.Date)));
                args.Add(Tuple.Create("includeStart", includeStart.ToString()));
            }
            if (end != default(DateTimeOffset))
            {
                args.Add(Tuple.Create("end", DateToString(end.Date)));
                args.Add(Tuple.Create("includeEnd", includeEnd.ToString()));
            }
            RestTarget target = _rest.Resolve("hts")
                                .Resolve(uid.ObjectID.ToString(), args.ToArray());

            return(target.Get <ILocalDateDoubleTimeSeries>("timeSeries"));
        }
예제 #16
0
 public RemoteChangeManger(RestTarget restTarget, OpenGammaFudgeContext fudgeContext)
 {
     _topicTemplate = new Lazy<MQTopicTemplate>(() => GetTopicTemplate(restTarget));
     _fudgeDecoder = new FudgeMessageDecoder(fudgeContext, false);
 }
예제 #17
0
 public FinancialUser(OpenGammaFudgeContext fudgeContext, RestTarget restTarget, string userName)
 {
     _fudgeContext = fudgeContext;
     _restTarget   = restTarget;
     _userName     = userName;
 }
 public RemoteMarketDataSnapshotter(RestTarget rest)
 {
     _rest = rest;
 }
 public RemoteCompiledViewDefinitionWithGraphs(RestTarget rest)
 {
     _rest = rest;
 }
예제 #20
0
 public RemoteInterpolatedYieldCurveSpecificationBuilder(RestTarget rest)
 {
     _rest = rest;
 }
 public RemoteViewDefinitionRepository(RestTarget rest)
 {
     _rest = rest;
 }
예제 #22
0
 public RemoteMarketDataSnapshotMaster(RestTarget restTarget, OpenGammaFudgeContext fudgeContext)
 {
     _restTarget   = restTarget;
     _fudgeContext = fudgeContext;
 }
예제 #23
0
 public RemoteSecuritySource(RestTarget restTarget)
 {
     _restTarget = restTarget;
 }
 public RemoteInterpolatedYieldCurveSpecificationBuilder(RestTarget rest)
 {
     _rest = rest;
 }
예제 #25
0
 public RemoteAvailableOutputs(RestTarget restTarget)
 {
     _restTarget = restTarget;
 }
예제 #26
0
 public RemoteViewCycle(RestTarget location)
 {
     _location = location;
 }
예제 #27
0
 public RemoteViewCycle(RestTarget location)
 {
     _location = location;
 }
예제 #28
0
 public FinancialUser(OpenGammaFudgeContext fudgeContext, RestTarget restTarget, string userName)
 {
     _fudgeContext = fudgeContext;
     _restTarget = restTarget;
     _userName = userName;
 }
 public RemoteCurrencyMatrixSource(RestTarget rest)
 {
     _rest = rest;
 }
 public RemoteManagableViewDefinitionRepository(RestTarget rest)
     : base(rest)
 {
     _rest = rest;
 }
 public RemoteDependencyGraphExplorer(RestTarget resolve)
 {
     _resolve = resolve;
 }
예제 #32
0
 public RemoteViewProcessor(OpenGammaFudgeContext fudgeContext, RestTarget rest, MQTemplate mqTemplate)
 {
     _fudgeContext = fudgeContext;
     _rest         = rest;
     _mqTemplate   = mqTemplate;
 }
 public RemoteVolatilityCubeDefinitionSource(RestTarget restTarget)
 {
     _restTarget = restTarget;
 }
예제 #34
0
 public RemoteSecurityMaster(RestTarget restTarget)
 {
     _restTarget = restTarget;
 }
예제 #35
0
 public RemoteViewClient(OpenGammaFudgeContext fudgeContext, RestTarget clientUri, MQTemplate mqTemplate, RemoteViewProcessor viewProcessor) : base(fudgeContext, clientUri, mqTemplate, (o, l) => new ResultEvent(o).ApplyTo(l))
 {
     _viewProcessor = viewProcessor;
 }
예제 #36
0
 public RemoteViewDefinitionRepository(RestTarget rest)
 {
     _rest = rest;
 }
예제 #37
0
        public InterpolatedYieldCurveSpecification BuildCurve(DateTimeOffset curveDate, YieldCurveDefinition curveDefinition)
        {
            RestTarget target = _rest.Resolve("builder").Resolve(UriEncoding.ToString(curveDate));

            return(target.Post <InterpolatedYieldCurveSpecification>(curveDefinition));
        }
예제 #38
0
 public RemoteChangeManger(RestTarget restTarget, OpenGammaFudgeContext fudgeContext)
 {
     _topicTemplate = new Lazy <MQTopicTemplate>(() => GetTopicTemplate(restTarget));
     _fudgeDecoder  = new FudgeMessageDecoder(fudgeContext, false);
 }
예제 #39
0
 public RemoteNamedMarketDataSpecificationRepository(RestTarget rest)
 {
     _rest = rest;
 }
예제 #40
0
 public RemoteLiveDataInjector(RestTarget rest)
 {
     _rest = rest;
 }
 public RemotePortfolioMaster(RestTarget restTarget, OpenGammaFudgeContext fudgeContext)
 {
     _restTarget = restTarget;
     _fudgeContext = fudgeContext;
 }
예제 #42
0
 public RemoteSecurityMaster(RestTarget restTarget)
 {
     _restTarget = restTarget;
 }
예제 #43
0
 public RemotePortfolioMaster(RestTarget restTarget, OpenGammaFudgeContext fudgeContext)
 {
     _restTarget = restTarget;
     _fudgeContext = fudgeContext;
 }
 public RemoteAvailableOutputs(RestTarget restTarget)
 {
     _restTarget = restTarget;
 }
 public RemoteMarketDataSnapshotter(RestTarget rest)
 {
     _rest = rest;
 }
 public InterpolatedYieldCurveDefinitionMaster(RestTarget restTarget)
 {
     _restTarget = restTarget;
 }
예제 #47
0
 private static MQTopicTemplate GetTopicTemplate(RestTarget restTarget)
 {
     var specFudge = restTarget.Resolve("brokerUri").GetFudge();
     var activeMQSpec = specFudge.GetString("value");
     return GetTopicTemplate(activeMQSpec, restTarget);
 }
예제 #48
0
 public RemoteSecuritySource(RestTarget restTarget)
 {
     _restTarget = restTarget;
 }
예제 #49
0
 public RemoteViewCycleReference(RestTarget location)
 {
     _location        = location;
     _heartbeatSender = new HeartbeatSender(TimeSpan.FromSeconds(2.5), _location);
 }
 public RemoteNamedMarketDataSpecificationRepository(RestTarget rest)
 {
     _rest = rest;
 }
예제 #51
0
 public RemoteViewProcessor(OpenGammaFudgeContext fudgeContext, RestTarget rest, MQTemplate mqTemplate)
 {
     _fudgeContext = fudgeContext;
     _rest = rest;
     _mqTemplate = mqTemplate;
 }
예제 #52
0
 public FinancialClient(RestTarget rest, OpenGammaFudgeContext fudgeContext)
 {
     _rest = rest;
     _fudgeContext = fudgeContext;
     _heartbeatSender = new HeartbeatSender(TimeSpan.FromMinutes(5), _rest.Resolve("heartbeat"));
 }
예제 #53
0
 public FinancialClient(RestTarget rest, OpenGammaFudgeContext fudgeContext)
 {
     _rest            = rest;
     _fudgeContext    = fudgeContext;
     _heartbeatSender = new HeartbeatSender(TimeSpan.FromMinutes(5), _rest.Resolve("heartbeat"));
 }
 public RemoteHistoricalTimeSeriesSource(OpenGammaFudgeContext fudgeContext, RestTarget rest)
 {
     _fudgeContext = fudgeContext;
     _rest         = rest;
 }
 public RemoteLiveDataInjector(RestTarget rest)
 {
     _rest = rest;
 }
 public RemoteHistoricalTimeSeriesSource(OpenGammaFudgeContext fudgeContext, RestTarget rest)
 {
     _fudgeContext = fudgeContext;
     _rest = rest;
 }