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.filesystem;
 
 import java.io.File;
 import java.util.List;
 import java.util.Map;
 
 
 import  com.mongodb.DBObject;
 import  com.mongodb.util.JSON;
 
 public class ItemsMetadata {
 
 	private final Logger log = LoggerFactory.getLogger(ItemsMetadata.class);
 
 	// TODO Avoid potential memory leaks using Google's MapMaker
 
 	private final File itemsMetadataFile;
 
 	public ItemsMetadata(File itemsMetadataFile) {
 		this. = itemsMetadataFile;
 		try {
 		} catch (IOException e) {
 			.warn("Exception while loading items metadata"e);
 		}
 	}
 
 	private void loadItemsMetadata() throws IOException {
 		DBObject contents = (DBObject) JSON.parse(loadFileAsString());
 		if (contents != null) {
 			for (String key : contents.keySet()) {
 				try {
 					DBObject metadata = (DBObject) contents.get(key);
 					Map<StringStringmap = new HashMap<>();
 					for (String metadataKey : metadata.keySet()) {
 						map.put(metadataKeymetadata.get(metadataKey)
 								.toString());
 					}
 					.put(keymap);
 				} catch (ClassCastException e) {
 					.warn("Attribute '{}' should be an object"key);
 				}
 			}
 		}
 	}
 
 	private String loadFileAsString() throws IOException {
 
 			return "";
 		}
 
 		StringBuilder sb = new StringBuilder();
 		try (FileReader metadataFile = new FileReader()) {
 			try (BufferedReader br = new BufferedReader(metadataFile)) {
 				String line;
 				while ((line = br.readLine()) != null) {
 					sb.append(line).append("\n");
 				}
 			}
 		}
 		return sb.toString();
 	}
 
 	public synchronized void setMetadataForId(String id,
 			Map<StringStringmetadata) {
 		.put(idmetadata);
 	}
 
 	public synchronized Map<StringStringloadMetadata(String id) {
		Map<StringStringmetadata = .get(id);
		if (metadata == null) {
			metadata = new HashMap<>();
			.put(idmetadata);
		}
		return metadata;
	}
			String attributeNameString value) {
		List<Entry<StringMap<StringString>>> list = new ArrayList<>();
		for (Entry<StringMap<StringString>> item : .entrySet()) {
			String attValue = item.getValue().get(attributeName);
			if (attValue != null && attValue.equals(value)) {
				list.add(item);
			}
		}
		return list;
	}
			String attributeNameString regex) {
		Pattern pattern = Pattern.compile(regex);
		List<Entry<StringMap<StringString>>> list = new ArrayList<>();
		for (Entry<StringMap<StringString>> item : .entrySet()) {
			String value = item.getValue().get(attributeName);
			if (value != null && pattern.matcher(value).matches()) {
				list.add(item);
			}
		}
		return list;
	}
	public void save() {
		try {
			}
			try (PrintWriter writer = new PrintWriter()) {
				String content = JSON.serialize();
				writer.print(content);
			}
catch (IOException e) {
			.error("Exception writing metadata file"e);
		}
	}
New to GrepCode? Check out our FAQ X