Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * (C) Copyright 2013 Kurento (http://kurento.org/)
   *
   * All rights reserved. This program and the accompanying materials
   * are made available under the terms of the GNU Lesser General Public License
   * (LGPL) version 2.1 which accompanies this distribution, and is available at
   * http://www.gnu.org/licenses/lgpl-2.1.html
   *
   * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  * Lesser General Public License for more details.
  *
  */
 
 package com.kurento.kmf.repository.internal.repoimpl.mongo;
 
 
 import  com.mongodb.BasicDBObject;
 import  com.mongodb.DBObject;
 import  com.mongodb.gridfs.GridFSDBFile;
 import  com.mongodb.gridfs.GridFSFile;
 import  com.mongodb.gridfs.GridFSInputFile;
 import  com.mongodb.util.JSON;
 
 public class MongoRepositoryItem extends AbstractRepositoryItem {
 
 	private GridFSFile dbFile;
 
 	private MongoRepositoryItem(MongoRepository repository, GridFSFile dbFile,
 			State state) {
 
 		super(dbFile.getId().toString(), stateloadAttributes(dbFile),
 				repository);
 
 		this. = dbFile;
 		this.setMetadata(new HashMap<StringString>());
 	}
 
 	private static RepositoryItemAttributes loadAttributes(GridFSFile file) {
 
 
 		attributes.setContentLength(file.getLength());
 		attributes.setLastModified(file.getUploadDate().getTime());
 		attributes.setMimeType(file.getContentType());
 
 		return attributes;
 	}
 
 	public MongoRepositoryItem(MongoRepository repository, GridFSDBFile dbFile) {
 		this(repositorydbFile.);
 	}
 
 	public MongoRepositoryItem(MongoRepository repository,
 			GridFSInputFile dbFile) {
 		this(repositorydbFile.);
 	}
 
 		return ((GridFSDBFile) ).getInputStream();
 	}
 
 
 				((GridFSInputFile) ).getOutputStream()) {
 
 			public void close() throws IOException {
 				super.close();
 			}
 
 			// TODO Optimise this to use the GridFS metadata
 			private void putMetadataInGridFS() {
 				DBObject metadataDBO = new BasicDBObject();
 				for (Entry<StringStringentry : .entrySet()) {
 					metadataDBO.put(entry.getKey(), entry.getValue());
 				}
 				.setMetaData(metadataDBO);
 			}
 		};
 
	}
	protected void refreshAttributesOnClose() {
		DBObject query = (DBObject) JSON.parse("{ _id : '" + getId() + "' }");
		 = ((MongoRepository).getGridFS().findOne(query);
	}
New to GrepCode? Check out our FAQ X