예제 #1
0
 public void ResourceModelFactory_CreateResourceModel_DbSource()
 {
     Verify_CreateResourceModel_ResourceType(environmentModel => ResourceModelFactory.CreateResourceModel(environmentModel, ResourceType.Source, "iconPath", "displayName"), ResourceType.Source, "displayName", null, null);
     Verify_CreateResourceModel_ResourceType(environmentModel => ResourceModelFactory.CreateResourceModel(environmentModel, "DbSource"), ResourceType.Source, "DbSource", "", "DbSource");
     Verify_CreateResourceModel_ResourceType(environmentModel => ResourceModelFactory.CreateResourceModel(environmentModel, "DbSource", "displayName"), ResourceType.Source, "displayName", "", "DbSource");
     Verify_CreateResourceModel_ResourceType(environmentModel => ResourceModelFactory.CreateResourceModel(environmentModel, "DbSource", "resourceName", "displayName"), ResourceType.Source, "displayName", "resourceName", "DbSource");
 }
예제 #2
0
 bool InitializeResourceModel(IServer server)
 {
     if (server != null)
     {
         if (!server.IsLocalHost && server.IsConnected)
         {
             var contextualResourceModel = server.ResourceRepository.LoadContextualResourceModel(ResourceID);
             if (contextualResourceModel != null)
             {
                 ResourceModel = contextualResourceModel;
             }
             else
             {
                 ResourceModel         = ResourceModelFactory.CreateResourceModel(server);
                 ResourceModel.Inputs  = InputMapping;
                 ResourceModel.Outputs = OutputMapping;
                 server.Connection.Verify(ValidationMemoManager.UpdateLastValidationMemoWithOfflineError, false);
                 server.ResourcesLoaded += OnEnvironmentModel_ResourcesLoaded;
             }
             return(true);
         }
         var init = InitializeResourceModelFromRemoteServer(server);
         return(init);
     }
     return(true);
 }
 public void ResourceModelFactory_CreateResourceModel_UserPermissions_Contribute()
 {
     Verify_CreateResourceModel_UserPermissions(environmentModel => ResourceModelFactory.CreateResourceModel(environmentModel));
     Verify_CreateResourceModel_UserPermissions(environmentModel => ResourceModelFactory.CreateResourceModel(environmentModel, "WorkflowService", "iconPath", "displayName"));
     Verify_CreateResourceModel_UserPermissions(environmentModel => ResourceModelFactory.CreateResourceModel(environmentModel, "WorkflowService", "displayName"));
     Verify_CreateResourceModel_UserPermissions(environmentModel => ResourceModelFactory.CreateResourceModel(environmentModel, "WorkflowService", "resourceName", "displayName"));
 }
예제 #4
0
 static void ReadFileContent(string filePath, IShellViewModel shellViewModel, IFile file, out IContextualResourceModel resourceModel, IServerRepository serverRepo, out IResource resource)
 {
     using (var stream = file.OpenRead(filePath))
     {
         using (var streamReader = new StreamReader(stream))
         {
             var resourceContent = streamReader.ReadToEnd();
             var serviceXml      = XDocument.Parse(resourceContent);
             resource      = shellViewModel.CreateResourceFromStreamContent(resourceContent);
             resourceModel = ResourceModelFactory.CreateResourceModel(serverRepo.ActiveServer, resource, serviceXml);
         }
     }
 }
예제 #5
0
        public static IContextualResourceModel CreateContextualResourceModel(string pathToTestResource)
        {
            var xElement             = XML.MergeRemote.XmlResource.Fetch(pathToTestResource);
            var element              = xElement.Element("Action");
            var instanceActiveServer = ServerRepository.Instance.Source;
            var resource             = new Resource(xElement);
            var serializableResource = new SerializableResource();

            Mapper.AddMap <Resource, SerializableResource>();
            Mapper.Map(resource, serializableResource, false, "Errors");
            var hydrateResourceModel = ((ResourceRepository)instanceActiveServer.ResourceRepository).HydrateResourceModel(serializableResource, instanceActiveServer.ServerID.GetValueOrDefault(), true);

            Assert.IsNotNull(element);
            var contextualResourceModel = ResourceModelFactory.CreateResourceModel(instanceActiveServer);

            hydrateResourceModel.WorkflowXaml = new StringBuilder(element.ToString(SaveOptions.DisableFormatting));
            contextualResourceModel.Update(hydrateResourceModel);

            return(contextualResourceModel);
        }
예제 #6
0
        bool InitializeResourceModel(IEnvironmentModel environmentModel)
        {
            if (environmentModel != null)
            {
                if (!environmentModel.IsLocalHost && !environmentModel.HasLoadedResources)
                {
                    ResourceModel         = ResourceModelFactory.CreateResourceModel(environmentModel);
                    ResourceModel.Inputs  = InputMapping;
                    ResourceModel.Outputs = OutputMapping;
                    environmentModel.Connection.Verify(UpdateLastValidationMemoWithOfflineError, false);

                    environmentModel.ResourcesLoaded += OnEnvironmentModel_ResourcesLoaded;
                    return(true);
                }

                if (!InitializeResourceModelSync(environmentModel))
                {
                    return(false);
                }
            }
            return(true);
        }
 public void ResourceModelFactory_CreateResourceModel_ResourceSource()
 {
     Verify_CreateResourceModel_ResourceType(environmentModel => ResourceModelFactory.CreateResourceModel(environmentModel, "ResourceSource", "displayName"), ResourceType.Source, "Plugin", "", "PluginSource");
     Verify_CreateResourceModel_ResourceType(environmentModel => ResourceModelFactory.CreateResourceModel(environmentModel, "ResourceSource", "resourceName", "displayName"), ResourceType.Source, "Plugin", "resourceName", "PluginSource");
 }
 public void ResourceModelFactory_CreateResourceModel_Server()
 {
     Verify_CreateResourceModel_ResourceType(environmentModel => ResourceModelFactory.CreateResourceModel(environmentModel, "Server", "displayName"), ResourceType.Server, "displayName", "", "ServerSource");
     Verify_CreateResourceModel_ResourceType(environmentModel => ResourceModelFactory.CreateResourceModel(environmentModel, "Server", "resourceName", "displayName"), ResourceType.Server, "displayName", "resourceName", "ServerSource");
 }
 public void ResourceModelFactory_CreateResourceModel_WebService()
 {
     Verify_CreateResourceModel_ResourceType(environmentModel => ResourceModelFactory.CreateResourceModel(environmentModel, "WebService", "displayName"), ResourceType.Service, "displayName", "", "WebService");
     Verify_CreateResourceModel_ResourceType(environmentModel => ResourceModelFactory.CreateResourceModel(environmentModel, "WebService", "resourceName", "displayName"), ResourceType.Service, "displayName", "resourceName", "WebService");
 }
 public void ResourceModelFactory_CreateResourceModel_OauthSource()
 {
     Verify_CreateResourceModel_ResourceType(environmentModel => ResourceModelFactory.CreateResourceModel(environmentModel, "DropboxSource", "SelectedOauthSource"), ResourceType.Source, "SelectedOauthSource", "", "DropboxSource");
 }
예제 #11
0
        public IResourceModel HydrateResourceModel(SerializableResource data, Guid serverId, bool forced = false, bool fetchXaml = false, bool prepairForDeployment = false)
        {
            if (!_server.Connection.IsConnected)
            {
                _server.Connection.Connect(_server.EnvironmentID);
                if (!_server.Connection.IsConnected)
                {
                    ShowServerDisconnectedPopup();
                    return(null);
                }
            }

            Guid id = data.ResourceID;

            if (!IsInCache(id) || forced)
            {
                _cachedServices.Add(id);

                var isNewWorkflow = data.IsNewResource;

                var resource = ResourceModelFactory.CreateResourceModel(_server);

                resource.Inputs  = data.Inputs;
                resource.Outputs = data.Outputs;
                if (data.IsSource)
                {
                    resource.ResourceType = ResourceType.Source;
                }
                else if (data.IsService)
                {
                    resource.ResourceType = ResourceType.WorkflowService;
                }
                else if (data.IsReservedService)
                {
                    resource.ResourceType = ResourceType.Service;
                }
                else if (data.IsServer)
                {
                    resource.ResourceType = ResourceType.Server;
                }
                else
                {
                    resource.ResourceType = ResourceType.Unknown;
                }
                resource.ID           = id;
                resource.ServerID     = serverId;
                resource.IsValid      = data.IsValid;
                resource.DataList     = data.DataList?.Replace(GlobalConstants.SerializableResourceQuote, "\"").Replace(GlobalConstants.SerializableResourceSingleQuote, "'") ?? data.DataList;
                resource.ResourceName = data.ResourceName;
                resource.DisplayName  = data.ResourceName;
                resource.VersionInfo  = data.VersionInfo;

                resource.Category                      = data.ResourceCategory;
                resource.UserPermissions               = data.Permissions;
                resource.Tags                          = string.Empty;
                resource.Comment                       = string.Empty;
                resource.ServerResourceType            = data.ResourceType;
                resource.UnitTestTargetWorkflowService = string.Empty;
                resource.HelpLink                      = string.Empty;
                resource.IsNewWorkflow                 = isNewWorkflow;

                if (data.Errors != null)
                {
                    foreach (var error in data.Errors)
                    {
                        resource.AddError(error);
                    }
                }

                if (isNewWorkflow)
                {
                    NewWorkflowNames.Instance.Add(resource.DisplayName);
                }

                return(resource);
            }
            return(null);
        }