/** * Writes the given repository to the given ZIP-output stream. * * @param zipOutputStream the output stream that represents the ZipFile to be generated. * @param repository the repository that should be written. * @throws IOException if an IO error prevents the writing of the file. * @throws ContentIOException if a repository related IO error occurs. */ public static void writeToZipStream( final ZipOutputStream zipOutputStream, final Repository repository ) throws IOException, ContentIOException { writeLocation( repository.getRoot(), zipOutputStream ); }
/** * Returns the mime type for the content entity. If the repository does not store mimetypes, this call usually uses * the repositories MimeRegistry to resolve the mimetype. * * @return the mime type. * @throws ContentIOException if an error occured. */ public String getMimeType() throws ContentIOException { return getRepository().getMimeRegistry().getMimeType( this ); }
public static String getBundleType( final Repository repository ) { if ( repository == null ) { throw new NullPointerException(); } try { final ContentEntity mimeTypeContentEntity = repository.getRoot().getEntry( "mimetype" ); if ( mimeTypeContentEntity instanceof ContentItem ) { final ContentItem mimeTypeItem = (ContentItem) mimeTypeContentEntity; final ByteArrayOutputStream bout = new ByteArrayOutputStream(); final InputStream in = mimeTypeItem.getInputStream(); try { IOUtils.getInstance().copyStreams( in, bout ); } finally { in.close(); } return bout.toString( "ASCII" ); } return null; } catch ( Exception e ) { return null; } }
/** * Returns the mime type for the content entity. If the repository does not store mimetypes, this call usually uses * the repositories MimeRegistry to resolve the mimetype. * * @return the mime type. * @throws ContentIOException if an error occured. */ public String getMimeType() throws ContentIOException { return getRepository().getMimeRegistry().getMimeType( this ); }
private String getSuffixForType( final String mimeType, final ContentLocation location ) { final Repository repository = location.getRepository(); final MimeRegistry mimeRegistry = repository.getMimeRegistry(); return mimeRegistry.getSuffix( mimeType ); } }
ContentLocation node = repository.getRoot(); for ( int i = 0; i < length - 1; i++ ) { final String nameItem = name[ i ];
private String getSuffixForType( final String mimeType, final ContentLocation location ) { final Repository repository = location.getRepository(); final MimeRegistry mimeRegistry = repository.getMimeRegistry(); return mimeRegistry.getSuffix( mimeType ); } }
ContentLocation node = repository.getRoot(); for ( int i = 0; i < length - 1; i++ ) { final String nameItem = name[ i ];
public String getMimeType() throws ContentIOException { return getRepository().getMimeRegistry().getMimeType( this ); }
ContentLocation node = repository.getRoot(); for ( int i = 0; i < length - 1; i++ ) { final String nameItem = name[ i ];
public String getMimeType() throws ContentIOException { return getRepository().getMimeRegistry().getMimeType( this ); }
this.repository = repository; this.mainKey = mainKey; this.root = repository.getRoot(); final String identifier = (String) mainKey.getIdentifier(); final String[] name = RepositoryUtilities.split( identifier, "/" );
/** * Generates a new name for the location. The name-generator may use both the name-hint and mimetype to compute the * new name. * * @param nameHint the name hint, usually a identifier for the new filename (can be null). * @param mimeType the mime type of the new filename. Usually used to compute a suitable file-suffix. * @return the generated name, never null. * @throws org.pentaho.reporting.libraries.repository.ContentIOException if the name could not be generated for any * reason. */ public String generateName( final String nameHint, final String mimeType ) throws ContentIOException { final MimeRegistry mimeRegistry = fileContentLocation.getRepository().getMimeRegistry(); final File targetDirectory = fileContentLocation.getBackend(); final String suffix = mimeRegistry.getSuffix( mimeType ); try { final File tempFile = File.createTempFile( nameHint, "." + suffix, targetDirectory ); return tempFile.getName(); } catch ( IOException e ) { throw new ContentIOException( "Unable to generate a name for the data file", e ); } } }