示例#1
0
        /** @return A single GetDatasetWriteTicketsInputData for uploading ReadMe.txt. */
        private GetDatasetWriteTicketsInputData getSingleGetDatasetWriteTicketsInputData(DataManagementService dmService)
        {
            // Create a Dataset
            DatasetProperties2 props = new DatasetProperties2();

            props.ClientId    = "datasetWriteTixTestClientId";
            props.Type        = "Text";
            props.Name        = "Sample-FMS-Upload";
            props.Description = "Testing put File";
            DatasetProperties2[] currProps = { props };

            CreateDatasetsResponse resp = dmService.CreateDatasets2(currProps);

            // Assume this file is in current dir
            FileInfo file1 = new FileInfo("ReadMe.txt");

            // Create a file to associate with dataset
            DatasetFileInfo fileInfo = new DatasetFileInfo();

            fileInfo.ClientId            = "file_1";
            fileInfo.FileName            = file1.FullName;
            fileInfo.NamedReferencedName = "Text";
            fileInfo.IsText       = true;
            fileInfo.AllowReplace = false;
            DatasetFileInfo[] fileInfos = { fileInfo };

            GetDatasetWriteTicketsInputData inputData = new GetDatasetWriteTicketsInputData();

            inputData.Dataset          = resp.Output[0].Dataset;
            inputData.CreateNewVersion = false;
            inputData.DatasetFileInfos = fileInfos;

            return(inputData);
        }
示例#2
0
        /**
         * @return An array of NUMBER_OF_DATASETS GetDatasetWriteTicketsInputData objects
         * for uploading NUMBER_OF_FILES_PER_DATASET copies of ReadMe.txt to each Dataset.
         */
        private GetDatasetWriteTicketsInputData[] getMultipleGetDatasetWriteTicketsInputData(DataManagementService dmService)
        {
            GetDatasetWriteTicketsInputData[] inputs = new GetDatasetWriteTicketsInputData[NUMBER_OF_DATASETS];
            DatasetProperties2[] currProps           = new DatasetProperties2[inputs.Length];

            // Create a bunch of Datasets
            for (int i = 0; i < inputs.Length; ++i)
            {
                DatasetProperties2 props = new DatasetProperties2();
                props.ClientId    = "datasetWriteTixTestClientId " + i;
                props.Type        = "Text";
                props.Name        = "Sample-FMS-Upload-" + i;
                props.Description = "Testing Multiple put File";
                currProps[i]      = props;
            }

            CreateDatasetsResponse resp = dmService.CreateDatasets2(currProps);

            // Create files to associate with each Dataset
            for (int i = 0; i < inputs.Length; ++i)
            {
                DatasetFileInfo[] fileInfos = new DatasetFileInfo[NUMBER_OF_FILES_PER_DATASET];
                for (int j = 0; j < fileInfos.Length; ++j)
                {
                    DatasetFileInfo fileInfo = new DatasetFileInfo();

                    // Create different filenames to be uploaded into the same dataset
                    // Create or use this file in current dir
                    FileInfo file1 = new FileInfo("ReadMeCopy" + j + ".txt");
                    assureFileCreated(file1);

                    fileInfo.ClientId            = "Dataset " + i + " File " + j;
                    fileInfo.FileName            = file1.FullName;
                    fileInfo.NamedReferencedName = "Text";
                    fileInfo.IsText       = true;
                    fileInfo.AllowReplace = false;
                    fileInfos[j]          = fileInfo;
                }

                GetDatasetWriteTicketsInputData inputData = new GetDatasetWriteTicketsInputData();
                inputData.Dataset          = resp.Output[i].Dataset;
                inputData.CreateNewVersion = false;
                inputData.DatasetFileInfos = fileInfos;

                inputs[i] = inputData;
            }
            return(inputs);
        }
示例#3
0
        public ModelObject createEmptyFile(String datasetType, String datasetName, String filePath, String fileRefName, ModelObject container, String relationType)
        {
            var dmService = DataManagementService.getService(Session.getConnection());
            FileManagementUtility fmsFileManagement = new FileManagementUtility(Session.getConnection(), null, null, new[] { cfg.get("Fms_BootStrap_Urls") }, cfg.get("file_temp"));
            //FileManagementUtility fmsFileManagement = new FileManagementUtility(Session.getConnection());
            // Create a Dataset
            DatasetProperties2 props = new DatasetProperties2();

            //props.ClientId = "datasetWriteTixTestClientId";
            //props.Type = "Text";
            //props.Name = "Sample-FMS-Upload-maxtt";
            //props.Description = "Testing put File";
            props.ClientId     = datasetName + "ClientId";
            props.Type         = datasetType;
            props.Name         = datasetName;
            props.Container    = container;
            props.RelationType = relationType;
            CreateDatasetsResponse resp = dmService.CreateDatasets2(new DatasetProperties2[] { props });


            // Create a file to associate with dataset
            var file = new FileInfo(filePath);

            if (!file.Exists)
            {
                throw new Exception("要上传的文件不存在,上传文件失败!");
            }

            DatasetFileInfo fileInfo = new DatasetFileInfo();

            fileInfo.ClientId = "file_1";
            //fileInfo.FileName = "./template/url.txt";
            fileInfo.FileName            = file.FullName;
            fileInfo.NamedReferencedName = fileRefName;
            fileInfo.IsText       = false;
            fileInfo.AllowReplace = false;

            DatasetFileInfo[] fileInfos = { fileInfo };

            GetDatasetWriteTicketsInputData inputData = new GetDatasetWriteTicketsInputData();

            inputData.Dataset          = resp.Output[0].Dataset;
            inputData.CreateNewVersion = false;
            inputData.DatasetFileInfos = fileInfos;

            GetDatasetWriteTicketsInputData[] inputs = { inputData };

            ServiceData response = fmsFileManagement.PutFiles(inputs);

            if (response.sizeOfPartialErrors() > 0)
            {
                System.Console.Out.WriteLine("FileManagementService single upload returned partial errrors: " + response.sizeOfPartialErrors());
            }


            //add relation
            ModelObject datasets = inputs[0].Dataset;



            return(datasets);
        }