Examples of EXistInputSource


Examples of org.exist.util.EXistInputSource


    public EXistInputSource getInputSource( String describedItem )
    {
        final File             child = new File( descriptor.getParentFile(), describedItem );
        EXistInputSource is    = null;

        if( child.isFile() && child.canRead() ) {
            is = new FileInputSource( child );
        }
View Full Code Here

Examples of org.exist.util.EXistInputSource

            try {
                sax = saxFactory.newSAXParser();
           
                final XMLReader reader = sax.getXMLReader();

                final EXistInputSource is = subDescriptor.getInputSource();
                is.setEncoding( "UTF-8" );

                final RestoreHandler handler = new RestoreHandler(listener, dbBaseUri, dbUsername, dbPassword, subDescriptor);

                reader.setContentHandler(handler);
                reader.parse(is);
View Full Code Here

Examples of org.exist.util.EXistInputSource

                LOG.error(msg, e);
                return new SkippedEntryDeferredPermission();
            }
        }

        final EXistInputSource is = descriptor.getInputSource(filename);
        if(is == null) {
            final String msg = "Failed to restore resource '" + name + "'\nfrom file '" + descriptor.getSymbolicPath( name, false ) + "'.\nReason: Unable to obtain its EXistInputSource";
            listener.warn(msg);
            return new SkippedEntryDeferredPermission();
        }

        try {
           
            listener.setCurrentResource(name);
            if(currentCollection instanceof Observable) {
                listener.observe((Observable)currentCollection);
            }

            Resource res = currentCollection.createResource(docUri.toString(), type);

            if(mimetype != null) {
                ((EXistResource)res).setMimeType(mimetype);
            }

            if(is.getByteStreamLength() > 0) {
                res.setContent(is);
            } else {
                if("BinaryResource".equals(type)) {
                    res.setContent("");
                } else {
                    res = null;
                }
            }

            // Restoring name
            if(res == null) {
                listener.warn("Failed to restore resource '" + name + "'\nfrom file '" + descriptor.getSymbolicPath(name, false) + "'. The resource is empty.");
                return new SkippedEntryDeferredPermission();
            } else {
                Date date_created = null;
                Date date_modified = null;

                if(created != null) {
                    try {
                        date_created = (new DateTimeValue(created)).getDate();
                    } catch(final XPathException xpe) {
                        listener.warn("Illegal creation date. Ignoring date...");
                    }
                }
                if(modified != null) {
                    try {
                        date_modified = (Date) (new DateTimeValue(modified)).getDate();
                    } catch(final XPathException xpe) {
                        listener.warn("Illegal modification date. Ignoring date...");
                    }
                }

                currentCollection.storeResource(res, date_created, date_modified);

                if((publicid != null) || (systemid != null)) {
                    final DocumentType doctype = new DocumentTypeImpl(namedoctype, publicid, systemid);

                    try {
                        ((EXistResource) res).setDocType(doctype);
                    } catch(final XMLDBException e1) {
                        LOG.error(e1.getMessage(), e1);
                    }
                }

                final DeferredPermission deferredPermission;
                if(name.startsWith(XmldbURI.SYSTEM_COLLECTION)) {
                    //prevents restore of a backup from changing system collection resource ownership
                    deferredPermission = new ResourceDeferredPermission(listener, res, SecurityManager.SYSTEM, SecurityManager.DBA_GROUP, Integer.parseInt(perms, 8));
                } else {
                    deferredPermission = new ResourceDeferredPermission(listener, res, owner, group, Integer.parseInt(perms, 8));
                }
               
                listener.restored(name);
               
                return deferredPermission;
            }
        } catch(final Exception e) {
            listener.warn("Failed to restore resource '" + name + "'\nfrom file '" + descriptor.getSymbolicPath(name, false) + "'.\nReason: " + e.getMessage());
            LOG.error(e.getMessage(), e);
            return new SkippedEntryDeferredPermission();
        } finally {
            is.close();
        }
    }
View Full Code Here

Examples of org.exist.util.EXistInputSource

            try {
                sax = saxFactory.newSAXParser();
           
                final XMLReader reader = sax.getXMLReader();

                final EXistInputSource is = subDescriptor.getInputSource();
                is.setEncoding( "UTF-8" );

                final SystemImportHandler handler = new SystemImportHandler(broker, listener, dbBaseUri, subDescriptor);

                reader.setContentHandler(handler);
                reader.parse(is);
View Full Code Here

Examples of org.exist.util.EXistInputSource

                LOG.error(msg, e);
                return new SkippedEntryDeferredPermission();
            }
        }

        final EXistInputSource is = descriptor.getInputSource(filename);
        if(is == null) {
            final String msg = "Failed to restore resource '" + name + "'\nfrom file '" + descriptor.getSymbolicPath( name, false ) + "'.\nReason: Unable to obtain its EXistInputSource";
            listener.warn(msg);
            throw new RuntimeException(msg);
        }

        try {
           
            listener.setCurrentResource(name);
            if(currentCollection instanceof Observable) {
                listener.observe((Observable)currentCollection);
            }

      final TransactionManager txnManager = broker.getDatabase().getTransactionManager();
      final Txn txn = txnManager.beginTransaction();
 
      DocumentImpl resource = null;
      try {
        if ("XMLResource".equals(type)) {
          // store as xml resource
         
          final IndexInfo info = currentCollection.validateXMLResource(txn, broker, docUri, is);
         
          resource = info.getDocument();
          final DocumentMetadata meta = resource.getMetadata();
          meta.setMimeType(mimetype);
          meta.setCreated(date_created.getTime());
          meta.setLastModified(date_modified.getTime());
         
                  if((publicid != null) || (systemid != null)) {
                    final DocumentType docType = new DocumentTypeImpl(namedoctype, publicid, systemid);
                    meta.setDocType(docType);
                  }

          rh.startDocumentRestore(resource, atts);

          currentCollection.store(txn, broker, info, is, false);
 
        } else {
          // store as binary resource
          resource = currentCollection.validateBinaryResource(txn, broker, docUri, is.getByteStream(), mimetype, is.getByteStreamLength() , date_created, date_modified);
         
          rh.startDocumentRestore(resource, atts);

          resource = currentCollection.addBinaryResource(txn, broker, (BinaryDocument)resource, is.getByteStream(), mimetype, is.getByteStreamLength() , date_created, date_modified);
        }

        txnManager.commit(txn);

                final DeferredPermission deferredPermission;
                if(name.startsWith(XmldbURI.SYSTEM_COLLECTION)) {
                    //prevents restore of a backup from changing system collection resource ownership
                    deferredPermission = new ResourceDeferredPermission(listener, resource, SecurityManager.SYSTEM, SecurityManager.DBA_GROUP, Integer.parseInt(perms, 8));
                } else {
                    deferredPermission = new ResourceDeferredPermission(listener, resource, owner, group, Integer.parseInt(perms, 8));
                }
               
                rh.endDocumentRestore(resource);

                listener.restored(name);
               
                return deferredPermission;
      } catch (final Exception e) {
        txnManager.abort(txn);
        throw new IOException(e);
      } finally {
                txnManager.close(txn);
//        if (resource != null)
//          resource.getUpdateLock().release(Lock.READ_LOCK);
      }

        } catch(final Exception e) {
            listener.warn("Failed to restore resource '" + name + "'\nfrom file '" + descriptor.getSymbolicPath(name, false) + "'.\nReason: " + e.getMessage());
            LOG.error(e.getMessage(), e);
            return new SkippedEntryDeferredPermission();
        } finally {
            is.close();
        }
    }
View Full Code Here

Examples of org.exist.util.EXistInputSource

        try {
            listener.restoreStarting();

            while(!descriptors.isEmpty()) {
                final BackupDescriptor descriptor = descriptors.pop();
                final EXistInputSource is = descriptor.getInputSource();
                is.setEncoding( "UTF-8" );

                final RestoreHandler handler = new RestoreHandler(listener, uri, username, password, descriptor);
               
                reader.setContentHandler(handler);
                reader.parse(is);
View Full Code Here

Examples of org.exist.util.EXistInputSource

          try {
              listener.restoreStarting();
 
              while(!descriptors.isEmpty()) {
                  final BackupDescriptor descriptor = descriptors.pop();
                  final EXistInputSource is = descriptor.getInputSource();
                  is.setEncoding( "UTF-8" );
 
                  final SystemImportHandler handler = new SystemImportHandler(broker, listener, uri, descriptor);
                 
                  reader.setContentHandler(handler);
                  reader.parse(is);
View Full Code Here

Examples of org.exist.util.EXistInputSource

    }

    @Override
    public EXistInputSource getInputSource(String describedItem) {
        final ZipEntry ze = archive.getEntry(base + describedItem);
        EXistInputSource retval = null;

        if((ze != null) && !ze.isDirectory()) {
            retval = new ZipEntryInputSource(archive, ze);
        }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.