All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jboss.pressgang.ccms.provider.DBImageProvider Maven / Gradle / Ivy

There is a newer version: 1.9
Show newest version
package org.jboss.pressgang.ccms.provider;

import javax.persistence.EntityManager;
import java.util.List;

import org.jboss.pressgang.ccms.model.ImageFile;
import org.jboss.pressgang.ccms.model.LanguageImage;
import org.jboss.pressgang.ccms.provider.listener.ProviderListener;
import org.jboss.pressgang.ccms.wrapper.DBImageWrapper;
import org.jboss.pressgang.ccms.wrapper.ImageWrapper;
import org.jboss.pressgang.ccms.wrapper.LanguageImageWrapper;
import org.jboss.pressgang.ccms.wrapper.collection.CollectionWrapper;

public class DBImageProvider extends DBDataProvider implements ImageProvider {
    protected DBImageProvider(EntityManager entityManager, DBProviderFactory providerFactory, List listeners) {
        super(entityManager, providerFactory, listeners);
    }

    @Override
    public ImageWrapper getImage(int id) {
        return getWrapperFactory().create(getEntity(ImageFile.class, id), false);
    }

    @Override
    public ImageWrapper getImage(int id, Integer revision) {
        if (revision == null) {
            return getImage(id);
        } else {
            return getWrapperFactory().create(getRevisionEntity(ImageFile.class, id, revision), true);
        }
    }

    public CollectionWrapper getImageLanguageImages(int id, Integer revision) {
        final DBImageWrapper image = (DBImageWrapper) getImage(id, revision);
        if (image == null) {
            return null;
        } else {
            return getWrapperFactory().createCollection(image.unwrap().getLanguageImages(), LanguageImage.class, revision != null);
        }
    }

    @Override
    public CollectionWrapper getImageRevisions(int id, Integer revision) {
        final List revisions = getRevisionList(ImageFile.class, id);
        return getWrapperFactory().createCollection(revisions, ImageFile.class, revision != null);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy