001/* 002 * Copyright (c) 2007-2010 The Regents of the University of California. 003 * All rights reserved. 004 * 005 * '$Author: berkley $' 006 * '$Date: 2010-04-28 00:12:36 +0000 (Wed, 28 Apr 2010) $' 007 * '$Revision: 24000 $' 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.provenance.sql; 031 032import java.util.List; 033import java.util.Map; 034 035import org.kepler.provenance.ProvenanceRecorder; 036import org.kepler.provenance.RecordingParameters; 037import org.kepler.util.sql.DatabaseFactory; 038 039import ptolemy.kernel.util.IllegalActionException; 040import ptolemy.kernel.util.NameDuplicationException; 041import ptolemy.kernel.util.NamedObj; 042 043/** Parameters for SQL Recording. 044 * 045 * @author Daniel Crawl 046 * @version $Id: SQLRecordingParameters.java 24000 2010-04-28 00:12:36Z berkley $ 047 * 048 */ 049 050public class SQLRecordingParameters extends RecordingParameters 051{ 052 /** The name of the workflow name parameter. */ 053 public static final String wfNameParamStr = "Workflow Name"; 054 055 /** Construct a new SQLRecordParameters. */ 056 protected SQLRecordingParameters(NamedObj no) 057 throws IllegalActionException, NameDuplicationException 058 { 059 super(no); 060 061 Map<String,String> defaultsMap = ProvenanceRecorder.getDefaultsMap(); 062 063 addStringParameter(wfNameParamStr, defaultsMap.get(wfNameParamStr)); 064 065 // create the parameters 066 for(DatabaseFactory.Parameter parameter : DatabaseFactory.Parameter.values()) 067 { 068 String name = parameter.getName(); 069 addStringParameter(name, defaultsMap.get(name)); 070 } 071 072 // add the types of databases. 073 List<String> names = DatabaseFactory.getNames(); 074 for(String name : names) 075 { 076 addStringParameterChoice(DatabaseFactory.Parameter.TYPE.getName(), name); 077 } 078 } 079}