/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.web.portal.attachment; import com.enonic.cms.core.content.ContentEntity; import com.enonic.cms.core.content.ContentKey; import com.enonic.cms.core.content.binary.AttachmentRequestResolver; import com.enonic.cms.core.content.binary.BinaryDataEntity; import com.enonic.cms.core.content.binary.BinaryDataKey; import com.enonic.cms.store.dao.ContentDao; final class AttachmentRequestResolverImpl extends AttachmentRequestResolver { private final ContentDao contentDao; public AttachmentRequestResolverImpl(final ContentDao contentDao) { this.contentDao = contentDao; } @Override protected BinaryDataKey getBinaryData( ContentEntity content, String label ) { BinaryDataEntity binaryData; if ( label == null ) { binaryData = content.getMainVersion().getOneAndOnlyBinaryData(); } else { binaryData = content.getMainVersion().getBinaryData( label ); } if ( "source".equals( label ) && binaryData == null ) { binaryData = content.getMainVersion().getOneAndOnlyBinaryData(); } if ( binaryData != null ) { return new BinaryDataKey( binaryData.getKey() ); } return null; } @Override protected ContentEntity getContent( ContentKey contentKey ) { return contentDao.findByKey( contentKey ); } }