001/*
002 * Copyright (c) 2010-2012 The Regents of the University of California.
003 * All rights reserved.
004 *
005 * '$Author: crawl $'
006 * '$Date: 2014-07-21 20:32:19 +0000 (Mon, 21 Jul 2014) $'
007 * '$Revision: 32849 $'
008 *
009 * Permission is hereby granted, without written agreement and without
010 * license or royalty fees, to use, copy, modify, and distribute this
011 * software and its documentation for any purpose, provided that the above
012 * copyright notice and the following two paragraphs appear in all copies
013 * of this software.
014 *
015 * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY
016 * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
017 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
018 * THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
019 * SUCH DAMAGE.
020 *
021 * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
022 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
023 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
024 * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
025 * CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES,
026 * ENHANCEMENTS, OR MODIFICATIONS.
027 *
028 */
029
030package org.kepler.modulemanager;
031
032import org.kepler.build.modules.Module;
033import org.kepler.build.project.PrintError;
034import org.kepler.configuration.ConfigurationManager;
035import org.kepler.configuration.ConfigurationProperty;
036
037/**
038 * Created by David Welker.
039 * Date: Apr 16, 2010
040 * Time: 1:46:58 AM
041 */
042public class RepositoryLocations
043{
044    private static String releaseLocation = null;
045
046    public static String getReleaseLocation()
047    {
048        if( releaseLocation == null )
049        {
050            releaseLocation = initReleaseLocation();
051        }
052        return releaseLocation;
053    }
054
055    private static String initReleaseLocation()
056    {
057        Module mmModule = ConfigurationManager.getModule("module-manager");
058        if(mmModule == null) {
059            PrintError.message("Did not find module-manager in modules.txt");            
060        } else {
061            ConfigurationProperty mmProperty = ConfigurationManager.getInstance().getProperty(mmModule);
062            if(mmProperty == null) {
063                PrintError.message("Did not find module-manager configuration.");            
064            } else {
065                ConfigurationProperty releaseProperty = mmProperty.getProperty("releaseLocation");
066                if(releaseProperty == null) {
067                    PrintError.message("Missing property releaseLocation in module-manager configuration.xml");
068                } else {
069                    return releaseProperty.getValue();
070                }
071            }
072        }
073        
074        return null;
075        //return mmProperty.getProperty("releaseLocation").getValue();
076    }
077
078}