/// <summary> /// Executes the command. /// </summary> /// <param name="connection">The connection.</param> /// <param name="workspaceId">The workspace unique identifier.</param> /// <returns></returns> public T ExecuteCommand <T>(IEnvironmentConnection connection, Guid workspaceId) { // build the service request payload ;) var serializer = new Dev2JsonSerializer(); if (connection == null || !connection.IsConnected) { if (connection != null) { var popupController = CustomContainer.Get <IPopupController>(); if (popupController != null) { popupController.Show(string.Format("Server: {0} has disconnected.", connection.DisplayName) + Environment.NewLine + "Please reconnect before performing any actions", "Disconnected Server", MessageBoxButton.OK, MessageBoxImage.Information, ""); } } } else { // now bundle it up into a nice string builder ;) if (ServicePayload == null) { ServicePayload = new EsbExecuteRequest(); } ServicePayload.ServiceName = ServiceName; StringBuilder toSend = serializer.SerializeToBuilder(ServicePayload); var payload = connection.ExecuteCommand(toSend, workspaceId); return(serializer.Deserialize <T>(payload)); } return(default(T)); }
/// <summary> /// Executes the command. /// </summary> /// <param name="connection">The connection.</param> /// <param name="workspaceId">The workspace unique identifier.</param> /// <returns></returns> public T ExecuteCommand <T>(IEnvironmentConnection connection, Guid workspaceId) { // build the service request payload ;) var serializer = new Dev2JsonSerializer(); if (connection == null || !connection.IsConnected) { if (connection != null) { try { var popupController = CustomContainer.Get <IPopupController>(); if (popupController != null && connection.HubConnection.State == ConnectionStateWrapped.Disconnected) { popupController.Show(string.Format("Server: {0} has disconnected.", connection.DisplayName) + Environment.NewLine + "Please reconnect before performing any actions", "Disconnected Server", MessageBoxButton.OK, MessageBoxImage.Information, ""); } } catch (Exception e) { Dev2Logger.Log.Error("Error popup", e); } } } else { // now bundle it up into a nice string builder ;) if (ServicePayload == null) { ServicePayload = new EsbExecuteRequest(); } ServicePayload.ServiceName = ServiceName; StringBuilder toSend = serializer.SerializeToBuilder(ServicePayload); var payload = connection.ExecuteCommand(toSend, workspaceId); if (payload == null || payload.Length == 0) { var popupController = CustomContainer.Get <IPopupController>(); if (connection.HubConnection != null && popupController != null && connection.HubConnection.State == ConnectionStateWrapped.Disconnected) { popupController.Show("Server connection has dropped during execution of command." + Environment.NewLine + "Please ensure that your server is still and your network connection is working." , "Server dropped", MessageBoxButton.OK, MessageBoxImage.Information, ""); } } return(serializer.Deserialize <T>(payload)); } return(default(T)); }
public void EnvironmentConnection_AddResource_NewResource_Expected_NewResourceAddedToServer() { var xmlString = CreateDataObject("FindResourceService", "*"); IEnvironmentConnection conn = CreateConnection(); conn.Connect(Guid.Empty); if (conn.IsConnected) { var returnData = conn.ExecuteCommand(xmlString, Guid.Empty); Assert.IsTrue(returnData.Contains("Workflow")); } else { Assert.Fail("Unable to create a connection to the server"); } conn.Connect(Guid.Empty); }
public void EnvironmentConnection_FindResources_Expected() { var request = CreateDataObject("FindResourceService", "*"); IEnvironmentConnection conn = CreateConnection(); conn.Connect(Guid.Empty); if (conn.IsConnected) { var returnData = conn.ExecuteCommand(request, Guid.Empty, Guid.Empty); Assert.IsTrue(returnData.Contains("Workflow")); } else { Assert.Fail("Unable to create a connection to the server"); } conn.Connect(Guid.Empty); }
public T ExecuteCompressedCommand <T>(IEnvironmentConnection connection, Guid workspaceId) where T : class { // build the service request payload ;) var serializer = new Dev2JsonSerializer(); if (connection == null) { return(default(T)); } if (!connection.IsConnected && !connection.IsConnecting) { var popupController = CustomContainer.Get <IPopupController>(); popupController?.Show(string.Format(ErrorResource.ServerDisconnected, connection.DisplayName) + Environment.NewLine + ErrorResource.ServerReconnectForActions, ErrorResource.ServerDisconnectedHeader, MessageBoxButton.OK, MessageBoxImage.Information, "", false, false, true, false, false, false); } else { // now bundle it up into a nice string builder ;) if (ServicePayload == null) { ServicePayload = new EsbExecuteRequest(); } ServicePayload.ServiceName = ServiceName; StringBuilder toSend = serializer.SerializeToBuilder(ServicePayload); var payload = connection.ExecuteCommand(toSend, workspaceId); try { if (payload == null || payload.Length == 0) { return(default(T)); } var message = serializer.Deserialize <CompressedExecuteMessage>(payload).GetDecompressedMessage(); return(serializer.Deserialize <T>(message)); } catch (NullReferenceException e) { Dev2Logger.Debug("fallback to non compressed", e); return(serializer.Deserialize <T>(payload)); } } return(default(T)); }
public T ExecuteCommand <T>(IEnvironmentConnection connection, Guid workspaceId) where T : class { var serializer = new Dev2JsonSerializer(); var popupController = CustomContainer.Get <IPopupController>(); if (connection == null || !connection.IsConnected) { IsConnectionValid(connection, popupController); } else { if (ServicePayload == null) { ServicePayload = new EsbExecuteRequest(); } ServicePayload.ServiceName = ServiceName; var toSend = serializer.SerializeToBuilder(ServicePayload); var payload = connection.ExecuteCommand(toSend, workspaceId); ValidatePayload(connection, payload, popupController); var executeCommand = serializer.Deserialize <T>(payload); if (executeCommand == null) { var execMessage = serializer.Deserialize <ExecuteMessage>(payload); if (execMessage != null) { return(CheckAuthorization <T>(execMessage)); } } else { if (typeof(T) == typeof(ExecuteMessage)) { return(CheckAuthorization <T>(executeCommand as ExecuteMessage)); } return(executeCommand); } } return(default(T)); }
public StringBuilder ExecuteCommand(StringBuilder xmlRequest, Guid workspaceId) => _wrappedConnection.ExecuteCommand(xmlRequest, workspaceId);