/* * Copyright (C) 2008 Universidade Federal de Campina Grande * * This file is part of OurGrid. * * OurGrid is free software: you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) * any later version. * * This program 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. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ package org.ourgrid.common.util; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.Map; import java.util.Properties; import java.util.Set; import java.util.TreeMap; import org.apache.log4j.Logger; import org.ourgrid.reqtrace.Req; public class CommonUtils { private static final transient Logger LOG = Logger.getLogger( CommonUtils.class ); /** * Loads properties from a persistent File * @param propFile The File where the properties are stored * @return a Properties object containing the persistent properties */ public static Properties loadProperties(File propFile) { Properties properties = new Properties(); if(propFile.exists()){ FileInputStream fileInputStream = null; try { fileInputStream = new FileInputStream(propFile); properties.load(fileInputStream); } catch (IOException e) { LOG.warn(e);//If it is not possible to load the file, we're assuming there are no properties set } finally { try { fileInputStream.close(); } catch (IOException e) {} } } return properties; } @Req("REQ108") public static boolean checkKey(String storedPublicKey, String keyToCompare) { if(storedPublicKey == null){ return false; } return storedPublicKey.equals(keyToCompare); } /** * Stores a Properties object on a persistent File * @param properties The Properties object * @param propFile The File where the Properties should be stored * @param propertiesName The name of this properties (will be on the file header) */ public static void saveProperties(Properties properties, File propFile, String propertiesName) throws IOException { if(propFile.exists()){ propFile.delete(); } FileOutputStream fileOutputStream = null; try { fileOutputStream = new FileOutputStream(propFile); properties.store(fileOutputStream, propertiesName + " properties file"); } catch (IOException e) { throw e; } finally { if(fileOutputStream != null) { fileOutputStream.close(); } } } public static <K, V> Map<K, V> createSerializableMap() { return new TreeMap<K, V>(); } public static <K, V> Map<K, V> createMap() { return new LinkedHashMap<K, V>(); } public static <V> Set<V> createSet() { return new LinkedHashSet<V>(); } }