/// <summary> /// GET: Returns resource representation of Simulation /// </summary> /// <param name="name">Simulation name</param> /// <returns>Get Version of Simulation</returns> public Simulation GetSimulation(string nameOrID) { Guid simulationid = Guid.Empty; bool isGuid = Guid.TryParse(nameOrID, out simulationid); Debug.WriteLine("Find simulation: " + nameOrID, this.GetType().Name); Simulation sim = null; try { sim = DataMarshal.GetSimulation(nameOrID, isGuid); /*if (sim == null) * { * var detail = new ErrorDetail( * ErrorDetail.Codes.DATAFORMAT_ERROR, * String.Format("simulation \"{0}\" does not exist", nameOrID) * ); * throw new WebFaultException<ErrorDetail>(detail, * System.Net.HttpStatusCode.NotFound); * } * return sim;*/ } catch (Exception ex) { Debug.WriteLine("No simulation " + nameOrID, this.GetType().Name); Debug.WriteLine(ex.ToString()); var detail = new ErrorDetail( ErrorDetail.Codes.DATAFORMAT_ERROR, "No simulation " + nameOrID + ", traceback: " + ex.StackTrace.ToString() ); throw new WebFaultException <ErrorDetail>(detail, System.Net.HttpStatusCode.NotFound); } return(sim); }
public Simulation UpdateSimulation(string name, Simulation sim) { ISimulationProducerContract contract = null; if (sim == null) { string msg = String.Format("No Application specified in Simulation {0}", name); Debug.WriteLine(msg, this.GetType().Name); var detail = new ErrorDetail( ErrorDetail.Codes.DATAFORMAT_ERROR, msg ); throw new WebFaultException <ErrorDetail>(detail, System.Net.HttpStatusCode.InternalServerError); } string appname = sim.Application; try { contract = Turbine.Lite.Web.Resources.Contracts.ProducerSimulationContract.Create(name, appname); } catch (Exception ex) { string msg = String.Format("Failed to Create Simulation {0}: {1} {2}", name, ex.Message, ex.StackTrace.ToString()); if (ex.InnerException != null) { msg += String.Format(" InnerException: {0} {1}", ex.InnerException.Message, ex.InnerException.StackTrace.ToString()); } Debug.WriteLine(msg, this.GetType().Name); var detail = new ErrorDetail( ErrorDetail.Codes.DATAFORMAT_ERROR, msg ); throw new WebFaultException <ErrorDetail>(detail, System.Net.HttpStatusCode.InternalServerError); } sim = DataMarshal.GetSimulation(name); return(sim); }
public Simulation GetSimulation(string name) { Debug.WriteLine("Find simulation: " + name, this.GetType().Name); Simulation sim = null; try { sim = DataMarshal.GetSimulation(name); } catch (Exception ex) { Debug.WriteLine("No simulation " + name, this.GetType().Name); Debug.WriteLine(ex.ToString()); var detail = new ErrorDetail( ErrorDetail.Codes.DATAFORMAT_ERROR, "No simulation " + name + ", traceback: " + ex.StackTrace.ToString() ); throw new WebFaultException <ErrorDetail>(detail, System.Net.HttpStatusCode.NotFound); } return(sim); }
/// <summary> /// PUT: Update Simulation /// </summary> /// <param name="name">Simulation name</param> /// <param name="sim">Simulation Resource Representation</param> /// <returns>Updated Simulation</returns> public Simulation UpdateSimulation(string nameOrID, Simulation sim) { Guid simulationId = Guid.Empty; bool isGuid = Guid.TryParse(nameOrID, out simulationId); ISimulationProducerContract contract = null; if (sim == null || sim.Name == null) { Debug.WriteLine(String.Format("Sim Name: {0}, ID: {1}, app: {2}", sim.Name, sim.Id.ToString(), sim.Application) , this.GetType().Name); string msg = String.Format("No Application specified in Simulation {0}", nameOrID); Debug.WriteLine(msg, this.GetType().Name); var detail = new ErrorDetail( ErrorDetail.Codes.DATAFORMAT_ERROR, msg ); throw new WebFaultException <ErrorDetail>(detail, System.Net.HttpStatusCode.InternalServerError); } if (!isGuid && !nameOrID.Equals(sim.Name)) { string msg = String.Format("No URL Resource Name {0} doesn't match Simulation.Name {1}", nameOrID, sim.Name); Debug.WriteLine(msg, this.GetType().Name); var detail = new ErrorDetail( ErrorDetail.Codes.DATAFORMAT_ERROR, msg ); throw new WebFaultException <ErrorDetail>(detail, System.Net.HttpStatusCode.InternalServerError); } string appname = sim.Application; try { contract = ProducerSimulationContract.Create(nameOrID, sim.Name, appname); } catch (Exception ex) { string msg = String.Format("Failed to Create Simulation {0}: {1} {2}", nameOrID, ex.Message, ex.StackTrace.ToString()); if (ex.InnerException != null) { msg += String.Format(" InnerException: {0} {1}", ex.InnerException.Message, ex.InnerException.StackTrace.ToString()); } Debug.WriteLine(msg, this.GetType().Name); var detail = new ErrorDetail( ErrorDetail.Codes.DATAFORMAT_ERROR, msg ); throw new WebFaultException <ErrorDetail>(detail, System.Net.HttpStatusCode.InternalServerError); } sim = DataMarshal.GetSimulation(nameOrID, isGuid); return(sim); }