private bool BuildModelData(ref ModelData modelData, IOpcuaServerApp opcuaServerData, string opcuaAppName, string modelFileName, string modelPath, string typesFileName) { // build model data modelData.Name = modelFileName; if (!ExtractNodesetUris(ref modelData, modelPath)) { return(false); } modelData.Types = typesFileName; modelData.NamespaceVariable = Constants.NodesetXml.NamespaceVariablePrefix + _fileSystem.GetFileNameWithoutExtension(modelFileName); // check if appioproj file already contains model with imported model name var modelName = modelData.Name; if (opcuaServerData.Models.Any(x => x.Name == modelName)) { AppioLogger.Warn(LoggingText.ImportInforamtionModelCommandFailureModelDuplication); _outputMessages.Add(string.Format(OutputText.ImportInforamtionModelCommandFailureModelNameDuplication, opcuaAppName, modelFileName), string.Empty); return(false); } // check if appioproj file already contains model with imported model namespace uri var modelUri = modelData.Uri; if (opcuaServerData.Models.Any(x => x.Uri == modelUri)) { AppioLogger.Warn(LoggingText.ImportInforamtionModelCommandFailureModelDuplication); _outputMessages.Add(string.Format(OutputText.ImportInforamtionModelCommandFailureModelUriDuplication, opcuaAppName, modelData.Uri), string.Empty); return(false); } return(true); }
public override CommandResult Execute(IEnumerable <string> inputParams) { if (!ExecuteCommon(inputParams)) { return(new CommandResult(false, _outputMessages)); } // deserialise client file OpcuaClientApp opcuaClient = null; OpcuaClientServerApp opcuaClientServer = null; RefUtility.DeserializeClient(ref opcuaClient, ref opcuaClientServer, _clientFullName, _fileSystem); if (opcuaClient == null && opcuaClientServer == null) { AppioLogger.Warn(LoggingText.ReferenceCouldntDeserliazeClient); _outputMessages.Add(string.Format(OutputText.ReferenceCouldntDeserliazeClient, _clientFullName), string.Empty); return(new CommandResult(false, _outputMessages)); } // check if server is part of client's reference and remove it string clientNewContent = string.Empty; IOpcuaServerApp serverReference = null; if (opcuaClientServer != null && (serverReference = opcuaClientServer.ServerReferences.SingleOrDefault(x => x.Name == _serverName)) != null) { opcuaClientServer.ServerReferences.Remove(serverReference); clientNewContent = JsonConvert.SerializeObject(opcuaClientServer, Formatting.Indented); } else if (opcuaClient != null && (serverReference = opcuaClient.ServerReferences.SingleOrDefault(x => x.Name == _serverName)) != null) { opcuaClient.ServerReferences.Remove(serverReference); clientNewContent = JsonConvert.SerializeObject(opcuaClient, Formatting.Indented); } else { AppioLogger.Warn(LoggingText.ReferenceRemoveServerIsNotInClient); _outputMessages.Add(string.Format(OutputText.ReferenceRemoveServerIsNotInClient, _serverName, _clientName), string.Empty); return(new CommandResult(false, _outputMessages)); } _fileSystem.WriteFile(_clientFullName, new List <string> { clientNewContent }); // exit method with success AppioLogger.Info(LoggingText.ReferenceRemoveSuccess); _outputMessages.Add(string.Format(OutputText.ReferenceRemoveSuccess, _clientName, _serverName), string.Empty); return(new CommandResult(true, _outputMessages)); }
public void SetupTest() { _defaultopcuaApp = new OpcuaServerApp(); _opcuaapp = new OpcuaServerApp(_name, _url, _port); }