Search in sources :

Example 46 with MimetypesFileTypeMap

use of javax.activation.MimetypesFileTypeMap in project phoenicis by PhoenicisOrg.

the class FileAnalyser method getMimetype.

public String getMimetype(File inputFile) {
    try {
        final MagicMatch match = getMatch(inputFile);
        final String mimeType = match.getMimeType();
        if ("???".equals(mimeType)) {
            return guessMimeTypeFromDescription(match);
        }
        return mimeType;
    } catch (MagicMatchNotFoundException e) {
        LOGGER.debug("Failed to get Mime Type", e);
        final MimetypesFileTypeMap mimeTypesMap = new MimetypesFileTypeMap();
        return mimeTypesMap.getContentType(inputFile);
    }
}
Also used : MimetypesFileTypeMap(javax.activation.MimetypesFileTypeMap)

Example 47 with MimetypesFileTypeMap

use of javax.activation.MimetypesFileTypeMap in project i2p.i2p-bote by i2p.

the class AttachmentProvider method getType.

@Override
public String getType(Uri uri) {
    if (sUriMatcher.match(uri) != UriMatcher.NO_MATCH) {
        try {
            Part attachment = getAttachment(uri);
            if (attachment != null) {
                String contentType = attachment.getContentType();
                // Remove any "; name=fileName" suffix
                int delim = contentType.indexOf(';');
                if (delim >= 0) {
                    String params = contentType.substring(delim + 1);
                    contentType = contentType.substring(0, delim);
                    // I2P-Bote version that didn't detect MIME types correctly.
                    if ("application/octet-stream".equals(contentType)) {
                        // Find the filename
                        String filename = "";
                        delim = params.indexOf("name=");
                        if (delim >= 0) {
                            filename = params.substring(delim + 5);
                            delim = filename.indexOf(' ');
                            if (delim >= 0)
                                filename = params.substring(0, delim);
                        }
                        if (!filename.isEmpty()) {
                            MimetypesFileTypeMap mimeTypeMap = new MimetypesFileTypeMap();
                            contentType = mimeTypeMap.getContentType(filename);
                        }
                    }
                }
                return contentType;
            }
        } catch (PasswordException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }
    return null;
}
Also used : PasswordException(i2p.bote.fileencryption.PasswordException) MimetypesFileTypeMap(javax.activation.MimetypesFileTypeMap) MessagingException(javax.mail.MessagingException) Part(javax.mail.Part) IOException(java.io.IOException)

Example 48 with MimetypesFileTypeMap

use of javax.activation.MimetypesFileTypeMap in project i2p.i2p-bote by i2p.

the class FileAttachment method loadMimeType.

/**
 * Returns the MIME type for an <code>Attachment</code>. MIME detection is done with
 * JRE classes, so only a small number of MIME types are supported.<p/>
 * It might be worthwhile to use the mime-util library which does a much better job:
 * {@link http://sourceforge.net/projects/mime-util/files/}.
 */
private void loadMimeType() {
    MimetypesFileTypeMap mimeTypeMap = new MimetypesFileTypeMap();
    mimeType = mimeTypeMap.getContentType(origFilename);
    if (!"application/octet-stream".equals(mimeType))
        return;
    InputStream inputStream = null;
    try {
        inputStream = new BufferedInputStream(new FileInputStream(tempFilename));
        mimeType = URLConnection.guessContentTypeFromStream(inputStream);
        if (mimeType != null)
            return;
    } catch (IOException e) {
        log.error("Can't read file: <" + tempFilename + ">", e);
    } finally {
        try {
            if (inputStream != null)
                inputStream.close();
        } catch (IOException e) {
            log.error("Can't close file: <" + tempFilename + ">", e);
        }
    }
    mimeType = "application/octet-stream";
}
Also used : MimetypesFileTypeMap(javax.activation.MimetypesFileTypeMap) BufferedInputStream(java.io.BufferedInputStream) BufferedInputStream(java.io.BufferedInputStream) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) IOException(java.io.IOException) FileInputStream(java.io.FileInputStream)

Example 49 with MimetypesFileTypeMap

use of javax.activation.MimetypesFileTypeMap in project qaf by qmetry.

the class FileUtil method getContentType.

public static String getContentType(File f) {
    MimetypesFileTypeMap fileTypeMap = new MimetypesFileTypeMap();
    FileNameMap fileNameMap = URLConnection.getFileNameMap();
    String ct = fileNameMap.getContentTypeFor(f.getName());
    return StringUtil.isBlank(ct) ? fileTypeMap.getContentType(f) : ct;
}
Also used : MimetypesFileTypeMap(javax.activation.MimetypesFileTypeMap) FileNameMap(java.net.FileNameMap)

Example 50 with MimetypesFileTypeMap

use of javax.activation.MimetypesFileTypeMap in project sigla-main by consiglionazionaledellericerche.

the class IncarichiProceduraComponent method mergeAllegatiWithCMIS.

public List<String> mergeAllegatiWithCMIS(UserContext userContext, Incarichi_proceduraBulk procedura) throws ComponentException {
    List<String> listError = new ArrayList<String>();
    IncarichiRepertorioComponentSession incaricoSession = Utility.createIncarichiRepertorioComponentSession();
    ContrattiService contrattiService = SpringUtil.getBean("contrattiService", ContrattiService.class);
    procedura = (Incarichi_proceduraBulk) inizializzaBulkPerModifica(userContext, procedura);
    boolean existIncaricoDefinitivo = false;
    for (Iterator<Incarichi_repertorioBulk> iterator = procedura.getIncarichi_repertorioColl().iterator(); iterator.hasNext(); ) {
        Incarichi_repertorioBulk incarico = iterator.next();
        boolean isIncaricoDefinitivo = incarico.isIncaricoDefinitivo() || incarico.isIncaricoChiuso();
        // Controlli su Cartella INCARICHI
        StorageFolderContrattiModel cmisFolderIncarico = incarico.getCMISFolder();
        StorageObject nodeFolderIncarico = contrattiService.getStorageObjectByPath(cmisFolderIncarico.getCMISPath());
        if (!cmisFolderIncarico.isEqualsTo(nodeFolderIncarico, listError)) {
            contrattiService.updateProperties(cmisFolderIncarico, nodeFolderIncarico);
            listError.add("AGGIORNAMENTO EFFETTUATO: Incarico " + incarico.getEsercizio().toString() + "/" + incarico.getPg_repertorio().toString() + " - Disallineamento dati ");
        }
        if (isIncaricoDefinitivo) {
            existIncaricoDefinitivo = true;
            listError.add("AGGIORNAMENTO EFFETTUATO: Incarico " + incarico.getEsercizio().toString() + "/" + incarico.getPg_repertorio().toString() + " - addConsumerToEveryone");
            contrattiService.addConsumerToEveryone(nodeFolderIncarico);
            if (!contrattiService.hasAspect(nodeFolderIncarico, StorageContrattiAspect.SIGLA_CONTRATTI_STATO_DEFINITIVO.value())) {
                listError.add("AGGIORNAMENTO EFFETTUATO: Incarico " + incarico.getEsercizio().toString() + "/" + incarico.getPg_repertorio().toString() + " - addAspect SIGLA_CONTRATTI_STATO_DEFINITIVO");
                contrattiService.addAspect(nodeFolderIncarico, StorageContrattiAspect.SIGLA_CONTRATTI_STATO_DEFINITIVO.value());
            }
        } else {
            listError.add("AGGIORNAMENTO EFFETTUATO: Incarico " + incarico.getEsercizio().toString() + "/" + incarico.getPg_repertorio().toString() + " - removeConsumerToEveryone");
            contrattiService.removeConsumerToEveryone(nodeFolderIncarico);
            if (contrattiService.hasAspect(nodeFolderIncarico, StorageContrattiAspect.SIGLA_CONTRATTI_STATO_DEFINITIVO.value())) {
                listError.add("AGGIORNAMENTO EFFETTUATO: Incarico " + incarico.getEsercizio().toString() + "/" + incarico.getPg_repertorio().toString() + " - removeAspect SIGLA_CONTRATTI_STATO_DEFINITIVO");
                contrattiService.removeAspect(nodeFolderIncarico, StorageContrattiAspect.SIGLA_CONTRATTI_STATO_DEFINITIVO.value());
            }
        }
        if (isIncaricoDefinitivo && incarico.getFl_pubblica_contratto().equals(Boolean.TRUE)) {
            if (!contrattiService.hasAspect(nodeFolderIncarico, StorageContrattiAspect.SIGLA_CONTRATTI_PUBBLICATO.value())) {
                listError.add("AGGIORNAMENTO EFFETTUATO: Incarico " + incarico.getEsercizio().toString() + "/" + incarico.getPg_repertorio().toString() + " - addAspect SIGLA_CONTRATTI_PUBBLICATO");
                contrattiService.addAspect(nodeFolderIncarico, StorageContrattiAspect.SIGLA_CONTRATTI_PUBBLICATO.value());
            }
        } else {
            if (contrattiService.hasAspect(nodeFolderIncarico, StorageContrattiAspect.SIGLA_CONTRATTI_PUBBLICATO.value())) {
                listError.add("AGGIORNAMENTO EFFETTUATO: Incarico " + incarico.getEsercizio().toString() + "/" + incarico.getPg_repertorio().toString() + " - removeAspect SIGLA_CONTRATTI_PUBBLICATO");
                contrattiService.removeAspect(nodeFolderIncarico, StorageContrattiAspect.SIGLA_CONTRATTI_PUBBLICATO.value());
            }
        }
        // Controlli su Allegati Cartella INCARICHI
        for (Iterator<Incarichi_archivioBulk> iterator2 = incarico.getArchivioAllegati().iterator(); iterator2.hasNext(); ) {
            Incarichi_archivioBulk archivio = iterator2.next();
            if (archivio.getCms_node_ref() == null)
                listError.add("ERRORE GRAVE: Allegato Incarico alla procedura " + procedura.getEsercizio().toString() + "/" + procedura.getPg_procedura().toString() + " - Manca Archiviazione");
            else {
                // Controlli su Allegati INCARICHI
                StorageObject nodeArchivioIncarico = contrattiService.getStorageObjectBykey(archivio.getCms_node_ref());
                StorageFile storageFile = (StorageFile) archivio.getCMISFile(nodeArchivioIncarico);
                boolean makeUpdateProperties = false;
                if (storageFile.getContentType().equals("application/octet-stream")) {
                    String newContentType = new MimetypesFileTypeMap().getContentType(storageFile.getFileName());
                    if (!newContentType.equals("application/octet-stream")) {
                        makeUpdateProperties = true;
                        storageFile.setContentType(newContentType);
                    }
                }
                if (storageFile instanceof StorageFileIncarichi) {
                    if (!((StorageFileIncarichi) storageFile).isEqualsTo(nodeArchivioIncarico, listError) || makeUpdateProperties) {
                        contrattiService.updateProperties(storageFile, nodeArchivioIncarico);
                        listError.add("AGGIORNAMENTO EFFETTUATO: Allegato Incarico " + ((StorageFileIncarichi) storageFile).getEsercizioIncarico().toString() + "/" + ((StorageFileIncarichi) storageFile).getPgIncarico().toString() + " - Disallineamento dati ");
                    }
                } else if (storageFile instanceof StorageFileAssegniRicerca) {
                    if (!((StorageFileAssegniRicerca) storageFile).isEqualsTo(nodeArchivioIncarico, listError) || makeUpdateProperties) {
                        contrattiService.updateProperties(storageFile, nodeArchivioIncarico);
                        listError.add("AGGIORNAMENTO EFFETTUATO: Allegato Incarico StorageFileAssegniRicerca " + ((StorageFileAssegniRicerca) storageFile).getEsercizioIncarico().toString() + "/" + ((StorageFileAssegniRicerca) storageFile).getPgIncarico().toString() + " - Disallineamento dati ");
                    }
                } else if (storageFile instanceof StorageFileBorseStudio) {
                    if (!((StorageFileBorseStudio) storageFile).isEqualsTo(nodeArchivioIncarico, listError) || makeUpdateProperties) {
                        contrattiService.updateProperties(storageFile, nodeArchivioIncarico);
                        listError.add("AGGIORNAMENTO EFFETTUATO: Allegato Incarico StorageFileBorseStudio " + ((StorageFileBorseStudio) storageFile).getEsercizioIncarico().toString() + "/" + ((StorageFileBorseStudio) storageFile).getPgIncarico().toString() + " - Disallineamento dati ");
                    }
                }
                if (contrattiService.hasAspect(nodeArchivioIncarico, StorageContrattiAspect.SIGLA_CONTRATTI_STATO_DEFINITIVO.value())) {
                    listError.add("AGGIORNAMENTO EFFETTUATO: Allegato Incarico " + incarico.getEsercizio().toString() + "/" + incarico.getPg_repertorio().toString() + " - removeAspect SIGLA_CONTRATTI_STATO_DEFINITIVO");
                    contrattiService.removeAspect(nodeFolderIncarico, StorageContrattiAspect.SIGLA_CONTRATTI_STATO_DEFINITIVO.value());
                }
                if (archivio.isAnnullato()) {
                    if (!contrattiService.hasAspect(nodeArchivioIncarico, StorageContrattiAspect.SIGLA_CONTRATTI_STATO_ANNULLATO.value())) {
                        listError.add("AGGIORNAMENTO EFFETTUATO: Allegato Incarico " + incarico.getEsercizio().toString() + "/" + incarico.getPg_repertorio().toString() + " - addAspect SIGLA_CONTRATTI_STATO_ANNULLATO");
                        contrattiService.addAspect(nodeArchivioIncarico, StorageContrattiAspect.SIGLA_CONTRATTI_STATO_ANNULLATO.value());
                    }
                } else {
                    if (contrattiService.hasAspect(nodeArchivioIncarico, StorageContrattiAspect.SIGLA_CONTRATTI_STATO_ANNULLATO.value())) {
                        listError.add("AGGIORNAMENTO EFFETTUATO: Allegato Incarico " + incarico.getEsercizio().toString() + "/" + incarico.getPg_repertorio().toString() + " - removeAspect SIGLA_CONTRATTI_STATO_ANNULLATO");
                        contrattiService.removeAspect(nodeArchivioIncarico, StorageContrattiAspect.SIGLA_CONTRATTI_STATO_ANNULLATO.value());
                    }
                }
            }
        }
    }
    // Controlli su Cartella PROCEDURA
    StorageFolderProcedura storageFolderProcedura = procedura.getCMISFolder();
    StorageObject nodeFolderProcedura = contrattiService.getStorageObjectByPath(storageFolderProcedura.getCMISPath());
    if (!storageFolderProcedura.isEqualsTo(nodeFolderProcedura, listError)) {
        contrattiService.updateProperties(storageFolderProcedura, nodeFolderProcedura);
        listError.add("AGGIORNAMENTO EFFETTUATO: Procedura " + procedura.getEsercizio().toString() + "/" + procedura.getPg_procedura().toString() + " - Disallineamento dati ");
    }
    boolean isProceduraDefinitiva = procedura.isProceduraDefinitiva() || procedura.isProceduraChiusa();
    if (isProceduraDefinitiva || existIncaricoDefinitivo) {
        listError.add("AGGIORNAMENTO EFFETTUATO: Procedura " + procedura.getEsercizio().toString() + "/" + procedura.getPg_procedura().toString() + " - addConsumerToEveryone");
        contrattiService.addConsumerToEveryone(nodeFolderProcedura);
        if (procedura.isProceduraDefinitiva() && !contrattiService.hasAspect(nodeFolderProcedura, StorageContrattiAspect.SIGLA_CONTRATTI_STATO_DEFINITIVO.value())) {
            listError.add("AGGIORNAMENTO EFFETTUATO: Procedura " + procedura.getEsercizio().toString() + "/" + procedura.getPg_procedura().toString() + " - addAspect SIGLA_CONTRATTI_STATO_DEFINITIVO");
            contrattiService.addAspect(nodeFolderProcedura, StorageContrattiAspect.SIGLA_CONTRATTI_STATO_DEFINITIVO.value());
        }
    } else {
        listError.add("AGGIORNAMENTO EFFETTUATO: Procedura " + procedura.getEsercizio().toString() + "/" + procedura.getPg_procedura().toString() + " - removeConsumerToEveryone");
        contrattiService.removeConsumerToEveryone(nodeFolderProcedura);
        if (contrattiService.hasAspect(nodeFolderProcedura, StorageContrattiAspect.SIGLA_CONTRATTI_STATO_DEFINITIVO.value())) {
            listError.add("AGGIORNAMENTO EFFETTUATO: Procedura " + procedura.getEsercizio().toString() + "/" + procedura.getPg_procedura().toString() + " - removeAspect SIGLA_CONTRATTI_STATO_DEFINITIVO");
            contrattiService.removeAspect(nodeFolderProcedura, StorageContrattiAspect.SIGLA_CONTRATTI_STATO_DEFINITIVO.value());
        }
    }
    // Controlli su Allegati Cartella PROCEDURA
    for (Iterator<Incarichi_archivioBulk> iterator = procedura.getArchivioAllegati().iterator(); iterator.hasNext(); ) {
        Incarichi_procedura_archivioBulk archivio = (Incarichi_procedura_archivioBulk) iterator.next();
        if (archivio.getCms_node_ref() == null)
            listError.add("ERRORE GRAVE: Allegato Procedura " + procedura.getEsercizio().toString() + "/" + procedura.getPg_procedura().toString() + "/" + archivio.getProgressivo_riga() + " - Manca Archiviazione");
        else {
            // Controlli su Allegati PROCEDURA
            StorageObject nodeArchivioProcedura = contrattiService.getStorageObjectBykey(archivio.getCms_node_ref());
            StorageFileProcedura cmisFileProcedura = (StorageFileProcedura) archivio.getCMISFile(nodeArchivioProcedura);
            boolean makeUpdateProperties = false;
            if (cmisFileProcedura.getContentType().equals("application/octet-stream")) {
                String newContentType = new MimetypesFileTypeMap().getContentType(cmisFileProcedura.getFileName());
                if (!newContentType.equals("application/octet-stream")) {
                    makeUpdateProperties = true;
                    cmisFileProcedura.setContentType(newContentType);
                }
            }
            if (!cmisFileProcedura.isEqualsTo(nodeArchivioProcedura, listError) || makeUpdateProperties) {
                contrattiService.updateProperties(cmisFileProcedura, nodeArchivioProcedura);
                listError.add("AGGIORNAMENTO EFFETTUATO: Allegato Procedura " + procedura.getEsercizio().toString() + "/" + procedura.getPg_procedura().toString() + "/" + archivio.getProgressivo_riga() + " - Disallineamento dati ");
            }
            if (archivio.isBando() && !procedura.isProceduraProvvisoria() && procedura.getDt_pubblicazione() != null) {
                listError.add("AGGIORNAMENTO EFFETTUATO: Allegato Procedura " + procedura.getEsercizio().toString() + "/" + procedura.getPg_procedura().toString() + " - addConsumerToEveryone");
                contrattiService.addConsumerToEveryone(nodeArchivioProcedura);
                if (!contrattiService.hasAspect(nodeArchivioProcedura, StorageContrattiAspect.SIGLA_CONTRATTI_PUBBLICATO.value())) {
                    listError.add("AGGIORNAMENTO EFFETTUATO: Allegato Procedura " + procedura.getEsercizio().toString() + "/" + procedura.getPg_procedura().toString() + " - addAspect SIGLA_CONTRATTI_PUBBLICATO");
                    contrattiService.addAspect(nodeArchivioProcedura, StorageContrattiAspect.SIGLA_CONTRATTI_PUBBLICATO.value());
                }
            } else {
                listError.add("AGGIORNAMENTO EFFETTUATO: Allegato Procedura " + procedura.getEsercizio().toString() + "/" + procedura.getPg_procedura().toString() + " - removeConsumerToEveryone");
                contrattiService.removeConsumerToEveryone(nodeArchivioProcedura);
                if (contrattiService.hasAspect(nodeArchivioProcedura, StorageContrattiAspect.SIGLA_CONTRATTI_PUBBLICATO.value())) {
                    listError.add("AGGIORNAMENTO EFFETTUATO: Allegato Procedura " + procedura.getEsercizio().toString() + "/" + procedura.getPg_procedura().toString() + " - removeAspect SIGLA_CONTRATTI_PUBBLICATO");
                    contrattiService.removeAspect(nodeArchivioProcedura, StorageContrattiAspect.SIGLA_CONTRATTI_PUBBLICATO.value());
                }
            }
            if (contrattiService.hasAspect(nodeArchivioProcedura, StorageContrattiAspect.SIGLA_CONTRATTI_STATO_DEFINITIVO.value())) {
                listError.add("AGGIORNAMENTO EFFETTUATO: Allegato Procedura " + procedura.getEsercizio().toString() + "/" + procedura.getPg_procedura().toString() + " - removeAspect SIGLA_CONTRATTI_STATO_DEFINITIVO");
                contrattiService.removeAspect(nodeArchivioProcedura, StorageContrattiAspect.SIGLA_CONTRATTI_STATO_DEFINITIVO.value());
            }
            if (archivio.isAnnullato()) {
                if (!contrattiService.hasAspect(nodeArchivioProcedura, StorageContrattiAspect.SIGLA_CONTRATTI_STATO_ANNULLATO.value())) {
                    listError.add("AGGIORNAMENTO EFFETTUATO: Allegato Procedura " + procedura.getEsercizio().toString() + "/" + procedura.getPg_procedura().toString() + " - addAspect SIGLA_CONTRATTI_STATO_ANNULLATO");
                    contrattiService.addAspect(nodeArchivioProcedura, StorageContrattiAspect.SIGLA_CONTRATTI_STATO_ANNULLATO.value());
                }
            } else {
                if (contrattiService.hasAspect(nodeArchivioProcedura, StorageContrattiAspect.SIGLA_CONTRATTI_STATO_ANNULLATO.value())) {
                    listError.add("AGGIORNAMENTO EFFETTUATO: Allegato Procedura " + procedura.getEsercizio().toString() + "/" + procedura.getPg_procedura().toString() + " - removeAspect SIGLA_CONTRATTI_STATO_ANNULLATO");
                    contrattiService.removeAspect(nodeArchivioProcedura, StorageContrattiAspect.SIGLA_CONTRATTI_STATO_ANNULLATO.value());
                }
            }
        }
    }
    return listError;
}
Also used : IncarichiRepertorioComponentSession(it.cnr.contab.incarichi00.ejb.IncarichiRepertorioComponentSession) MimetypesFileTypeMap(javax.activation.MimetypesFileTypeMap) StorageObject(it.cnr.si.spring.storage.StorageObject) ContrattiService(it.cnr.contab.incarichi00.service.ContrattiService) StorageFile(it.cnr.si.spring.storage.bulk.StorageFile)

Aggregations

MimetypesFileTypeMap (javax.activation.MimetypesFileTypeMap)63 File (java.io.File)19 IOException (java.io.IOException)15 FileInputStream (java.io.FileInputStream)7 InputStream (java.io.InputStream)7 DefaultStreamedContent (org.primefaces.model.DefaultStreamedContent)6 URL (java.net.URL)4 ArrayList (java.util.ArrayList)4 Map (java.util.Map)4 ByteArrayInputStream (java.io.ByteArrayInputStream)3 FileNotFoundException (java.io.FileNotFoundException)3 FileNameMap (java.net.FileNameMap)3 HttpURLConnection (java.net.HttpURLConnection)3 MimeType (javax.activation.MimeType)3 MimeTypeParseException (javax.activation.MimeTypeParseException)3 Response (javax.ws.rs.core.Response)3 Before (org.junit.Before)3 Test (org.junit.Test)3 Failure (org.junit.runner.notification.Failure)3 InvalidKeyException (java.security.InvalidKeyException)2