Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2011-2013 the original author or authors.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package org.springframework.data.mongodb.gridfs;
 
 import static org.springframework.data.mongodb.core.query.Query.*;
 import static org.springframework.data.mongodb.gridfs.GridFsCriteria.*;
 
 import java.util.List;
 
 import  org.springframework.core.io.support.ResourcePatternResolver;
 import  org.springframework.util.Assert;
 import  org.springframework.util.StringUtils;
 
 import com.mongodb.DB;
GridFsOperations implementation to store content into MongoDB GridFS.

Author(s):
Oliver Gierke
Philipp Schneider
Thomas Darimont
 
 public class GridFsTemplate implements GridFsOperations, ResourcePatternResolver {
 
 	private final MongoDbFactory dbFactory;
 	private final String bucket;
 	private final MongoConverter converter;
 	private final QueryMapper queryMapper;

Creates a new GridFsTemplate using the given MongoDbFactory and MongoConverter.

Parameters:
dbFactory must not be null.
converter must not be null.
 
 	public GridFsTemplate(MongoDbFactory dbFactoryMongoConverter converter) {
 		this(dbFactoryconverternull);
 	}

Creates a new GridFsTemplate using the given MongoDbFactory and MongoConverter.

Parameters:
dbFactory must not be null.
converter must not be null.
bucket
 
 	public GridFsTemplate(MongoDbFactory dbFactoryMongoConverter converterString bucket) {
 
 		Assert.notNull(dbFactory);
 		Assert.notNull(converter);
 
 		this. = dbFactory;
 		this. = converter;
 		this. = bucket;
 
 		this. = new QueryMapper(converter);
 	}
 
 	/*
 	 * (non-Javadoc)
 	 * @see org.springframework.data.mongodb.gridfs.GridFsOperations#store(java.io.InputStream, java.lang.String)
 	 */
 	public GridFSFile store(InputStream contentString filename) {
 		return store(contentfilename, (Objectnull);
 	}
 
 	/*
 	 * (non-Javadoc)
 	 * @see org.springframework.data.mongodb.gridfs.GridFsOperations#store(java.io.InputStream, java.lang.String, java.lang.String)
 	 */
 	public GridFSFile store(InputStream contentString filenameString contentType) {
 		return store(contentfilenamecontentType, (Objectnull);
 	}
 
	/*
	 * (non-Javadoc)
	 * @see org.springframework.data.mongodb.gridfs.GridFsOperations#store(java.io.InputStream, java.lang.String, java.lang.Object)
	 */
	public GridFSFile store(InputStream contentString filenameObject metadata) {
		return store(contentfilenamenullmetadata);
	}
	/*
	 * (non-Javadoc)
	 * @see org.springframework.data.mongodb.gridfs.GridFsOperations#store(java.io.InputStream, java.lang.String, java.lang.String, java.lang.Object)
	 */
	public GridFSFile store(InputStream contentString filenameString contentTypeObject metadata) {
		DBObject dbObject = null;
		if (metadata != null) {
			dbObject = new BasicDBObject();
			.write(metadatadbObject);
		}
		return store(contentfilenamecontentTypedbObject);
	}
	/*
	 * (non-Javadoc)
	 * @see org.springframework.data.mongodb.gridfs.GridFsOperations#store(java.io.InputStream, java.lang.String, com.mongodb.DBObject)
	 */
	public GridFSFile store(InputStream contentString filenameDBObject metadata) {
		return this.store(contentfilenamenullmetadata);
	}
	/*
	 * (non-Javadoc)
	 * @see org.springframework.data.mongodb.gridfs.GridFsOperations#store(java.io.InputStream, java.lang.String, com.mongodb.DBObject)
	 */
	public GridFSFile store(InputStream contentString filenameString contentTypeDBObject metadata) {
		Assert.notNull(content);
		Assert.hasText(filename);
		GridFSInputFile file = getGridFs().createFile(content);
		file.setFilename(filename);
		if (metadata != null) {
			file.setMetaData(metadata);
		}
		if (contentType != null) {
			file.setContentType(contentType);
		}
		file.save();
		return file;
	}
	/*
	 * (non-Javadoc)
	 * @see org.springframework.data.mongodb.gridfs.GridFsOperations#find(com.mongodb.DBObject)
	 */
	public List<GridFSDBFilefind(Query query) {
		if (query == null) {
			return getGridFs().find((DBObjectnull);
		}
		DBObject queryObject = getMappedQuery(query.getQueryObject());
		DBObject sortObject = getMappedQuery(query.getSortObject());
		return getGridFs().find(queryObjectsortObject);
	}
	/*
	 * (non-Javadoc)
	 * @see org.springframework.data.mongodb.gridfs.GridFsOperations#findOne(com.mongodb.DBObject)
	 */
	public GridFSDBFile findOne(Query query) {
		return getGridFs().findOne(getMappedQuery(query));
	}
	/*
	 * (non-Javadoc)
	 * @see org.springframework.data.mongodb.gridfs.GridFsOperations#delete(org.springframework.data.mongodb.core.query.Query)
	 */
	public void delete(Query query) {
	}
	/*
	 * (non-Javadoc)
	 * @see org.springframework.core.io.ResourceLoader#getClassLoader()
	 */
	}
	/*
	 * (non-Javadoc)
	 * @see org.springframework.core.io.ResourceLoader#getResource(java.lang.String)
	 */
	public GridFsResource getResource(String location) {
		GridFSDBFile file = findOne(query(whereFilename().is(location)));
		return file != null ? new GridFsResource(file) : null;
	}
	/*
	 * (non-Javadoc)
	 * @see org.springframework.core.io.support.ResourcePatternResolver#getResources(java.lang.String)
	 */
	public GridFsResource[] getResources(String locationPattern) {
		if (!StringUtils.hasText(locationPattern)) {
			return new GridFsResource[0];
		}
		AntPath path = new AntPath(locationPattern);
		if (path.isPattern()) {
			List<GridFsResourceresources = new ArrayList<GridFsResource>(files.size());
			for (GridFSDBFile file : files) {
				resources.add(new GridFsResource(file));
			}
			return resources.toArray(new GridFsResource[resources.size()]);
		}
		return new GridFsResource[] { getResource(locationPattern) };
	}
	private DBObject getMappedQuery(Query query) {
		return query == null ? new Query().getQueryObject() : getMappedQuery(query.getQueryObject());
	}
	private DBObject getMappedQuery(DBObject query) {
		return query == null ? null : .getMappedObject(querynull);
	}
	private GridFS getGridFs() {
		DB db = .getDb();
		return  == null ? new GridFS(db) : new GridFS(db);
	}
New to GrepCode? Check out our FAQ X