Example #1
0
        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));
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
 public override object InternalExecute(Program program, object[] arguments)
 {
     return
         (FrontendDevice.GetFrontendDevice(program).LoadCustomization
          (
              program,
              (string)arguments[0]
          ));
 }
Example #5
0
 public override object InternalExecute(Program program, object[] arguments)
 {
     return
         (FrontendDevice.GetFrontendDevice(program).Difference
          (
              (string)arguments[0],
              (string)arguments[1]
          ));
 }
Example #6
0
 public override object InternalExecute(Program program, object[] arguments)
 {
     return
         (FrontendDevice.GetFrontendDevice(program).LoadAndProcessDocument
          (
              program,
              (string)arguments[0],
              (string)arguments[1]
          ));
 }
Example #7
0
        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);
        }
Example #8
0
        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());
            }
        }
Example #9
0
 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
     }
 }
Example #10
0
        public override object InternalExecute(Program program, object[] arguments)
        {
            FrontendDevice device = FrontendDevice.GetFrontendDevice(program);

            return(device.HasDocument(program, (string)arguments[0], (string)arguments[1]));
        }
Example #11
0
 public override object InternalExecute(Program program, object[] arguments)
 {
     FrontendDevice.GetFrontendDevice(program).RefreshDocuments(program, (string)arguments[0]);
     return(null);
 }