public static Document FromFileName(FrontendDevice frontendDevice, string fileName) { string extension = Path.GetExtension(fileName); if ((extension == null) || (extension == String.Empty) || (extension == ".")) { return(null); } extension = extension.Substring(1, extension.Length - 1).ToLower(); DocumentType documentType = null; if (frontendDevice.DocumentTypes.Contains(extension)) { documentType = frontendDevice.DocumentTypes[extension]; } else { return(null); } string localFileName = Path.GetFileNameWithoutExtension(fileName); if (!IsValidDocumentName(localFileName)) { return(null); } return(new Document(localFileName, documentType)); }
public override object InternalExecute(Program program, object[] arguments) { FrontendDevice device = FrontendDevice.GetFrontendDevice(program); device.DeleteDocument(program, (string)arguments[0], (string)arguments[1], true); return(null); }
public override object InternalExecute(Program program, object[] arguments) { FrontendDevice device = FrontendDevice.GetFrontendDevice(program); if (arguments[2] is string) { device.SaveDocument(program, (string)arguments[0], (string)arguments[1], (string)arguments[2]); } else { Stream stream = ( arguments[2] is byte[] ? new Scalar(program.ValueManager, program.DataTypes.SystemBinary, arguments[2]) : new Scalar(program.ValueManager, program.DataTypes.SystemBinary, (StreamID)arguments[2]) ).OpenStream(); try { device.SaveBinary(program, (string)arguments[0], (string)arguments[1], stream); } finally { stream.Close(); } } return(null); }
public override object InternalExecute(Program program, object[] arguments) { return (FrontendDevice.GetFrontendDevice(program).LoadCustomization ( program, (string)arguments[0] )); }
public override object InternalExecute(Program program, object[] arguments) { return (FrontendDevice.GetFrontendDevice(program).Difference ( (string)arguments[0], (string)arguments[1] )); }
public override object InternalExecute(Program program, object[] arguments) { return (FrontendDevice.GetFrontendDevice(program).LoadAndProcessDocument ( program, (string)arguments[0], (string)arguments[1] )); }
public override object InternalExecute(Program program, object[] arguments) { string libraryName; string documentName; if (arguments.Length == 2) { libraryName = (string)arguments[0]; documentName = (string)arguments[1]; } else { libraryName = program.Plan.CurrentLibrary.Name; documentName = (string)arguments[0]; } FrontendDevice device = FrontendDevice.GetFrontendDevice(program); string documentType = device.GetDocumentType(program, libraryName, documentName); QueryLanguage saveLanguage = program.ServerProcess.ProcessInfo.Language; if (documentType == "sql") { program.ServerProcess.ProcessInfo.Language = QueryLanguage.RealSQL; } try { SystemExecuteNode.ExecuteScript ( program.ServerProcess, program, this, device.LoadDocument ( program, libraryName, documentName ), new DAE.Debug.DebugLocator("doc:" + libraryName + ":" + documentName, 1, 1) ); } finally { if (documentType == "sql") { program.ServerProcess.ProcessInfo.Language = saveLanguage; } } return(null); }
public override object InternalExecute(Program program, object[] arguments) { FrontendDevice frontendDevice = FrontendDevice.GetFrontendDevice(program); MemoryStream data = frontendDevice.LoadBinary(program, (string)arguments[0], (string)arguments[1]); if (data.Length > LoadBinaryNode.NativeSizeThreshold) { return(frontendDevice.RegisterBinary(program, data)); } else { return(data.GetBuffer()); } }
public FrontendLibrary(Program program, string name) : base(name) { _frontendDevice = FrontendDevice.GetFrontendDevice(program); _directoryName = program.Catalog.Libraries[name].GetLibraryDirectory(((DAE.Server.Server)program.ServerProcess.ServerSession.Server).LibraryDirectory); _documentsDirectoryName = Path.Combine(_directoryName, DocumentsName); LoadDocuments(); if (Directory.Exists(_directoryName)) { if (!Directory.Exists(_documentsDirectoryName)) { Directory.CreateDirectory(_documentsDirectoryName); } #if USEWATCHERS FWatcher = new FileSystemWatcher(FDirectoryName); FWatcher.IncludeSubdirectories = false; FWatcher.Changed += new FileSystemEventHandler(DirectoryChanged); FWatcher.Created += new FileSystemEventHandler(DirectoryChanged); FWatcher.Deleted += new FileSystemEventHandler(DirectoryChanged); FWatcher.Renamed += new RenamedEventHandler(DirectoryRenamed); FWatcher.EnableRaisingEvents = true; #endif } }
public override object InternalExecute(Program program, object[] arguments) { FrontendDevice device = FrontendDevice.GetFrontendDevice(program); return(device.HasDocument(program, (string)arguments[0], (string)arguments[1])); }
public override object InternalExecute(Program program, object[] arguments) { FrontendDevice.GetFrontendDevice(program).RefreshDocuments(program, (string)arguments[0]); return(null); }