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"));
        }
        public ManageableMarketDataSnapshot CreateSnapshot(RemoteViewClient client, IViewCycle cycle)
        {
            UniqueId clientId = client.GetUniqueId();
            UniqueId cycleId  = cycle.UniqueId;

            var createTarget = _rest.Resolve("create", clientId.ToString(), cycleId.ToString());

            return(createTarget.Get <ManageableMarketDataSnapshot>());
        }
예제 #3
0
 public PortfolioDocument Get(UniqueId uniqueId)
 {
     ArgumentChecker.NotNull(uniqueId, "uniqueId");
     var resp = _restTarget.Resolve("portfolios").Resolve(uniqueId.ObjectID.ToString()).Get<PortfolioDocument>();
     if (resp == null || resp.UniqueId == null || resp.Portfolio == null)
     {
         throw new ArgumentException("Not found", "uniqueId");
     }
     return resp;
 }
예제 #4
0
        public IDependencyGraph GetWholeGraph()
        {
            var dependencyGraph = _resolve.Resolve("wholeGraph").Get <IDependencyGraph>();

            if (dependencyGraph == null)
            {
                throw new IllegalStateException("Null graph returned, perhaps the cycle dissapeared");
            }

            return(dependencyGraph);
        }
예제 #5
0
        public YieldCurveDefinitionDocument Add(YieldCurveDefinitionDocument document)
        {
            var created = _restTarget.Resolve("definitions").Post <YieldCurveDefinitionDocument>(document);

            if (created.UniqueId == null)
            {
                throw new ArgumentException("No UID returned");
            }

            document.UniqueId = created.UniqueId;

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

            return(GetTopicTemplate(activeMQSpec, restTarget));
        }
예제 #7
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));
        }
        private IFudgeFieldContainer GetComponentsMessage()
        {
            Logger.Info("Getting configuration info for {0}", _rootUri);
            var msg = _rootRest.Resolve("components").GetFudge();

            Logger.Debug("Components {0} {1}", _rootUri, msg);
            return(msg);
        }
예제 #9
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>());
        }
예제 #10
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"));
        }
예제 #11
0
        private ClientResultStream StartResultStream()
        {
            var clientResultStream = new ClientResultStream(FudgeContext, _mqTemplate);

            try
            {
                REST.Resolve("startJmsResultStream").PostFudge(new FudgeMsg(FudgeContext)
                {
                    { "destination", clientResultStream.QueueName }
                });
                clientResultStream.WaitForStartSignal();
                return(clientResultStream);
            }
            catch
            {
                clientResultStream.Dispose();
                throw;
            }
        }
예제 #12
0
 private static MQTopicTemplate GetTopicTemplate(RestTarget restTarget)
 {
     var specFudge = restTarget.Resolve("brokerUri").GetFudge();
     var activeMQSpec = specFudge.GetString("value");
     return GetTopicTemplate(activeMQSpec, restTarget);
 }
 public IDependencyGraphExplorer GetDependencyGraphExplorer(string calcConfig)
 {
     return(new RemoteDependencyGraphExplorer(_rest.Resolve("graphs").Resolve(calcConfig)));
 }
예제 #14
0
 public void UpdateViewDefinition(UpdateViewDefinitionRequest request)
 {
     _rest.Resolve(request.Name).Put(request);
 }
예제 #15
0
        public IEnumerable <string> GetNames()
        {
            var fudgeMsg = _rest.Resolve("names").GetFudge();

            return(fudgeMsg.Select(fudgeField => fudgeField.Value == IndicatorType.Instance ? null : (string)fudgeField.Value).ToList());
        }
예제 #16
0
 public SearchResult <MarketDataSnapshotDocument> Search(MarketDataSnapshotSearchRequest request)
 {
     return(_restTarget.Resolve("snapshotSearches").Post <SearchResult <MarketDataSnapshotDocument> >(request));
 }
예제 #17
0
 public FinancialClient(RestTarget rest, OpenGammaFudgeContext fudgeContext)
 {
     _rest = rest;
     _fudgeContext = fudgeContext;
     _heartbeatSender = new HeartbeatSender(TimeSpan.FromMinutes(5), _rest.Resolve("heartbeat"));
 }
예제 #18
0
        public ISecurity GetSecurity(UniqueId uid)
        {
            var target = _restTarget.Resolve("securities").Resolve("security").Resolve(uid.ToString());

            return(target.Get <ISecurity>());
        }
예제 #19
0
 private FinancialClient GetOrCreateClient(string clientName)
 {
     return(new FinancialClient(_restTarget.Resolve("clients", clientName), _fudgeContext));
 }
예제 #20
0
        public InterpolatedYieldCurveSpecification BuildCurve(DateTimeOffset curveDate, YieldCurveDefinition curveDefinition)
        {
            RestTarget target = _rest.Resolve("builder").Resolve(UriEncoding.ToString(curveDate));

            return(target.Post <InterpolatedYieldCurveSpecification>(curveDefinition));
        }
예제 #21
0
        public IEnumerable <ObjectId> GetDefinitionIDs()
        {
            var fudgeMsg = _rest.Resolve("ids").GetFudge();

            return(fudgeMsg.GetAllByOrdinal(1).Select(f => (string)f.Value).Select(ObjectId.Parse).ToList());
        }
 public VolatilityCubeDefinition GetDefinition(Currency currency, string name)
 {
     return(_restTarget.Resolve("definitions", "searchSingle").WithParam("currency", currency.ISOCode).WithParam("name", name).Get <VolatilityCubeDefinition>());
 }
예제 #23
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);
 }
예제 #24
0
 public ICompiledViewDefinitionWithGraphs GetCompiledViewDefinition()
 {
     return(new RemoteCompiledViewDefinitionWithGraphs(_location.Resolve("compiledViewDefinition")));
 }
예제 #25
0
 private void AddValue(AddValueRequest addValueRequest)
 {
     _rest.Resolve("add").Post(addValueRequest);
 }
예제 #26
0
 public FinancialClient(RestTarget rest, OpenGammaFudgeContext fudgeContext)
 {
     _rest            = rest;
     _fudgeContext    = fudgeContext;
     _heartbeatSender = new HeartbeatSender(TimeSpan.FromMinutes(5), _rest.Resolve("heartbeat"));
 }
예제 #27
0
        public RemoteViewClient CreateClient(UserPrincipal userPrincipal)
        {
            var clientUri = _rest.Resolve("clients").Create(userPrincipal);

            return(new RemoteViewClient(_fudgeContext, clientUri, _mqTemplate, this));
        }
예제 #28
0
 public SearchResult <SecurityDocument> Search(SecuritySearchRequest request)
 {
     return(_restTarget.Resolve("securitySearches").Post <SearchResult <SecurityDocument> >(request));
 }
 public ICurrencyMatrix GetCurrencyMatrix(string name)
 {
     return(_rest.Resolve("currencyMatrices").Resolve(name).Get <ICurrencyMatrix>());
 }