Package org.exist.util

Examples of org.exist.util.MimeType


        boolean doCache = caching;
        String cacheParam = request.getParameter("cache");
        if (cacheParam != null)
          doCache = cacheParam.equalsIgnoreCase("yes") || cacheParam.equalsIgnoreCase("true");
       
        MimeType mime;
        if (file == null)
          mime = MimeTable.getInstance().getContentType("image/png");
        else
          mime = MimeTable.getInstance().getContentType(mimeParam);
        response.setContentType(mime.getName());
       
    if ("scale".equals(action)) {
      float size = getParameter(request, "s");
      if (file != null) {
        File scaled = getFile(dir, file, mime,
View Full Code Here


            assertNotNull(files);
            File f;
            IndexInfo info;
            for (int i = 0; i < files.length; i++) {
                f = files[i];
                MimeType mime = MimeTable.getInstance().getContentTypeFor(f.getName());
                if (mime == null || mime.isXMLType()) {
                    try {
                        info = root.validateXMLResource(transaction, broker, XmldbURI.create(f.getName()), new InputSource(f.toURI().toASCIIString()));
                        assertNotNull(info);
                        root.store(transaction, broker, info, new InputSource(f.toURI().toASCIIString()), false);
                    } catch (SAXException e) {
View Full Code Here

            String     resourceType = "XMLResource";

            if( srcFile != null ) {
                log( "Storing " + srcFile.getName() );

                MimeType mime         = getMimeTable().getContentTypeFor( srcFile.getName() );
                String   baseMimeType;

                if( forceMimeType != null ) {
                    baseMimeType = forceMimeType;

                } else if( mime != null ) {
                    baseMimeType = mime.getName();

                } else {
                    baseMimeType = defaultMimeType;
                }

                if( type != null ) {

                    if( "xml".equals(type) ) {
                        mime = ( baseMimeType != null ) ? ( new MimeType( baseMimeType, MimeType.XML ) ) : MimeType.XML_TYPE;
                    } else if( "binary".equals(type) ) {
                        mime = ( baseMimeType != null ) ? ( new MimeType( baseMimeType, MimeType.BINARY ) ) : MimeType.BINARY_TYPE;
                    }
                }

                // single file
                if( mime == null ) {
                    final String msg = "Cannot guess mime-type kind for " + srcFile.getName() + ". Treating it as a binary.";
                    log( msg, Project.MSG_ERR );
                    mime = ( baseMimeType != null ) ? ( new MimeType( baseMimeType, MimeType.BINARY ) ) : MimeType.BINARY_TYPE;
                }

                resourceType = mime.isXMLType() ? "XMLResource" : "BinaryResource";

                if( targetFile == null ) {
                    targetFile = srcFile.getName();
                }

                try {
                    log( "Creating resource " + targetFile + " in collection " + col.getName() + " of type " + resourceType + " with mime-type: " + mime.getName(), Project.MSG_DEBUG );
                    res = col.createResource( targetFile, resourceType );

                    if( srcFile.length() == 0 ) {
                        // note: solves bug id 2429889 when this task hits empty files
                    } else {
                        res.setContent( srcFile );
                        ( (EXistResource)res ).setMimeType( mime.getName() );
                        col.storeResource( res );
                    }
                   
                    if( permissions != null ) {
                      setPermissions( res );
                    }
                }
                catch( final XMLDBException e ) {
                    final String msg = "XMLDB exception caught: " + e.getMessage();

                    if( failonerror ) {
                        throw( new BuildException( msg, e ) );
                    } else {
                        log( msg, e, Project.MSG_ERR );
                    }
                }
            } else {

                for( final FileSet fileSet : fileSetList ) {
                    log( "Storing fileset", Project.MSG_DEBUG );

                    // using fileset
                    final DirectoryScanner scanner = fileSet.getDirectoryScanner( getProject() );
                    scanner.scan();
                    final String[] includedFiles = scanner.getIncludedFiles();
                    final String[] includedDirs  = scanner.getIncludedDirectories();
                    log( "Found " + includedDirs.length + " directories and " + includedFiles.length + " files.\n" );

                    final File baseDir = scanner.getBasedir();

                    if( includeEmptyDirs && createSubcollections ) {

                        for( final String included : includedDirs ) {

                            try {
                                file = new File( baseDir, included );
                                log( "Creating " + included + " ...\n" );

                                //TODO : use dedicated function in XmldbURI
                                // check whether the relative file path contains file seps

                                p = included.lastIndexOf( File.separatorChar );

                                if( p != Constants.STRING_NOT_FOUND ) {
                                    relDir = included.substring( 0, p );

                                    // It's necessary to do this translation on Windows, and possibly MacOS:
                                    relDir = relDir.replace( File.separatorChar, '/' );

                                    if( createSubcollections && ( ( prevDir == null ) || ( !relDir.equals( prevDir ) ) ) ) {

                                        //TODO : use dedicated function in XmldbURI
                                        col     = mkcol( root, baseURI, XmldbURI.ROOT_COLLECTION + path, relDir );
                                        prevDir = relDir;
                                    }

                                } else {
                                    col = mkcol( root, baseURI, XmldbURI.ROOT_COLLECTION + path, included );
                                }
                            }
                            catch( final XMLDBException e ) {
                                final String msg = "XMLDB exception caught: " + e.getMessage();

                                if( failonerror ) {
                                    throw( new BuildException( msg, e ) );
                                } else {
                                    log( msg, e, Project.MSG_ERR );
                                }
                            }
                        }
                    }

                    for( final String included : includedFiles ) {

                        try {
                            file = new File( baseDir, included );
                            log( "Storing " + included + " ...\n" );

                            //TODO : use dedicated function in XmldbURI
                            // check whether the relative file path contains file seps

                            p = included.lastIndexOf( File.separatorChar );

                            if( p != Constants.STRING_NOT_FOUND ) {
                                relDir = included.substring( 0, p );

                                // It's necessary to do this translation on Windows, and possibly MacOS:
                                relDir = relDir.replace( File.separatorChar, '/' );

                                if( createSubcollections && ( ( prevDir == null ) || ( !relDir.equals( prevDir ) ) ) ) {

                                    //TODO : use dedicated function in XmldbURI
                                    col     = mkcol( root, baseURI, XmldbURI.ROOT_COLLECTION + path, relDir );
                                    prevDir = relDir;
                                }

                            } else {

                                // No file separator found in resource name, reset col to the root collection
                                col = root;
                            }

                            MimeType currentMime         = getMimeTable().getContentTypeFor( file.getName() );
                            String   currentBaseMimeType;

                            if( forceMimeType != null ) {
                                currentBaseMimeType = forceMimeType;

                            } else if( currentMime != null ) {
                                currentBaseMimeType = currentMime.getName();

                            } else {
                                currentBaseMimeType = defaultMimeType;

                            }

                            if( type != null ) {

                                if( "xml".equals(type) ) {
                                    currentMime = ( currentBaseMimeType != null ) ? ( new MimeType( currentBaseMimeType, MimeType.XML ) ) : MimeType.XML_TYPE;
                                } else if( "binary".equals(type) ) {
                                    currentMime = ( currentBaseMimeType != null ) ? ( new MimeType( currentBaseMimeType, MimeType.BINARY ) ) : MimeType.BINARY_TYPE;
                                }
                            }

                            if( currentMime == null ) {
                                final String msg = "Cannot find mime-type kind for " + file.getName() + ". Treating it as a binary.";
                                log( msg, Project.MSG_ERR );
                                currentMime = ( currentBaseMimeType != null ) ? ( new MimeType( currentBaseMimeType, MimeType.BINARY ) ) : MimeType.BINARY_TYPE;
                            }

                            resourceType = currentMime.isXMLType() ? "XMLResource" : "BinaryResource";
                            log( "Creating resource " + file.getName() + " in collection " + col.getName() + " of type " + resourceType + " with mime-type: " + currentMime.getName(), Project.MSG_DEBUG );
                            res = col.createResource( file.getName(), resourceType );
                            res.setContent( file );
                            ( (EXistResource)res ).setMimeType( currentMime.getName() );
                            col.storeResource( res );
                           
                            if( permissions != null ) {
                setPermissions( res );
              }
View Full Code Here

                 File existDir = existHome==null ? new File(".") : new File(existHome);
            File samples = new File(existDir,"samples/shakespeare");
            File[] files = samples.listFiles();
            MimeTable mimeTab = MimeTable.getInstance();
            for (int j = 0; j < files.length; j++) {
                MimeType mime = mimeTab.getContentTypeFor(files[j].getName());
                if(mime != null && mime.isXMLType())
                    loadFile(test, files[j].getAbsolutePath());
            }

            doQuery(test, "//SPEECH[SPEAKER='HAMLET']");
        }
View Full Code Here

        }
    }

    private String getResourceType() {
        String resourceType = "XMLResource";
        MimeType mime = MimeTable.getInstance().getContentType(mimeType);
        if (mime != null)
            resourceType = mime.isXMLType() ? "XMLResource" : "BinaryResource";
        return resourceType;
    }
View Full Code Here

                public boolean accept( File f )
                {
                    if( f.isDirectory() ) {
                        return( true );
                    }
                    final MimeType mime = MimeTable.getInstance().getContentTypeFor( f.getName() );

                    if( mime == null ) {
                        return( false );
                    }
                    return( mime.isXMLType() );
                }


                public String getDescription()
                {
View Full Code Here

    }

    protected static void storeResource(Collection collection, String documentName, byte[] content) throws XMLDBException {

        LOG.info("Store " + documentName);
        MimeType mime = MimeTable.getInstance().getContentTypeFor(documentName);

        String type = mime.isXMLType() ? "XMLResource" : "BinaryResource";
        Resource resource = collection.createResource(documentName, type);
        resource.setContent(content);
        collection.storeResource(resource);
        collection.close();
    }
View Full Code Here

        String mimeType = MimeType.XML_TYPE.getName();
    boolean binary = !Type.subTypeOf(item.getType(), Type.NODE);
   
    if(getSignature().getArgumentCount() == 4) {
        mimeType = args[3].getStringValue();
        final MimeType mime = MimeTable.getInstance().getContentType(mimeType);
        if (mime != null)
      {binary = !mime.isXMLType();}
           
    } else if (docName != null){
        final MimeType mime = MimeTable.getInstance().getContentTypeFor(docName);
            if (mime != null) {
                mimeType = mime.getName();
                binary = !mime.isXMLType();
            }
        }
   
    Resource resource;
    try {
View Full Code Here

                    //strip off any charset encoding info
                    if(contentType.indexOf(";") > -1) {
                        contentType = contentType.substring(0, contentType.indexOf(";"));
                    }

                    final MimeType mimeType = MimeTable.getInstance().getContentType(contentType);
                    if(mimeType != null && !mimeType.isXMLType()) {

                        //binary data
                        result = BinaryValueFromInputStream.getInstance(context, new Base64BinaryValueType(), isRequest);
                    }
                }
View Full Code Here

    final String path = new AnyURIValue(args[0].itemAt(0).getStringValue()).toString();
   
    if(path.matches("^[a-z]+://.*")) {
      //external
      final MimeTable mimeTable = MimeTable.getInstance();
      final MimeType mimeType = mimeTable.getContentTypeFor(path);
      if(mimeType != null) {
        return new StringValue(mimeType.getName());
            }
    } else {
      //database
      DocumentImpl doc = null;
     
View Full Code Here

TOP

Related Classes of org.exist.util.MimeType

Copyright © 2018 www.massapicom. 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.