Source Code Cross Referenced for UserOptions.java in  » Workflow-Engines » pegasus-2.1.0 » org » griphyn » cPlanner » common » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Workflow Engines » pegasus 2.1.0 » org.griphyn.cPlanner.common 
Source Cross Referenced  Class Diagram Java Document (Java Doc) 


001:        /*
002:         * Globus Toolkit Public License (GTPL)
003:         *
004:         * Copyright (c) 1999 University of Chicago and The University of
005:         * Southern California. All Rights Reserved.
006:         *
007:         *  1) The "Software", below, refers to the Globus Toolkit (in either
008:         *     source-code, or binary form and accompanying documentation) and a
009:         *     "work based on the Software" means a work based on either the
010:         *     Software, on part of the Software, or on any derivative work of
011:         *     the Software under copyright law: that is, a work containing all
012:         *     or a portion of the Software either verbatim or with
013:         *     modifications.  Each licensee is addressed as "you" or "Licensee."
014:         *
015:         *  2) The University of Southern California and the University of
016:         *     Chicago as Operator of Argonne National Laboratory are copyright
017:         *     holders in the Software.  The copyright holders and their third
018:         *     party licensors hereby grant Licensee a royalty-free nonexclusive
019:         *     license, subject to the limitations stated herein and
020:         *     U.S. Government license rights.
021:         *
022:         *  3) A copy or copies of the Software may be given to others, if you
023:         *     meet the following conditions:
024:         *
025:         *     a) Copies in source code must include the copyright notice and
026:         *        this license.
027:         *
028:         *     b) Copies in binary form must include the copyright notice and
029:         *        this license in the documentation and/or other materials
030:         *        provided with the copy.
031:         *
032:         *  4) All advertising materials, journal articles and documentation
033:         *     mentioning features derived from or use of the Software must
034:         *     display the following acknowledgement:
035:         *
036:         *     "This product includes software developed by and/or derived from
037:         *     the Globus project (http://www.globus.org/)."
038:         *
039:         *     In the event that the product being advertised includes an intact
040:         *     Globus distribution (with copyright and license included) then
041:         *     this clause is waived.
042:         *
043:         *  5) You are encouraged to package modifications to the Software
044:         *     separately, as patches to the Software.
045:         *
046:         *  6) You may make modifications to the Software, however, if you
047:         *     modify a copy or copies of the Software or any portion of it,
048:         *     thus forming a work based on the Software, and give a copy or
049:         *     copies of such work to others, either in source code or binary
050:         *     form, you must meet the following conditions:
051:         *
052:         *     a) The Software must carry prominent notices stating that you
053:         *        changed specified portions of the Software.
054:         *
055:         *     b) The Software must display the following acknowledgement:
056:         *
057:         *        "This product includes software developed by and/or derived
058:         *         from the Globus Project (http://www.globus.org/) to which the
059:         *         U.S. Government retains certain rights."
060:         *
061:         *  7) You may incorporate the Software or a modified version of the
062:         *     Software into a commercial product, if you meet the following
063:         *     conditions:
064:         *
065:         *     a) The commercial product or accompanying documentation must
066:         *        display the following acknowledgment:
067:         *
068:         *        "This product includes software developed by and/or derived
069:         *         from the Globus Project (http://www.globus.org/) to which the
070:         *         U.S. Government retains a paid-up, nonexclusive, irrevocable
071:         *         worldwide license to reproduce, prepare derivative works, and
072:         *         perform publicly and display publicly."
073:         *
074:         *     b) The user of the commercial product must be given the following
075:         *        notice:
076:         *
077:         *        "[Commercial product] was prepared, in part, as an account of
078:         *         work sponsored by an agency of the United States Government.
079:         *         Neither the United States, nor the University of Chicago, nor
080:         *         University of Southern California, nor any contributors to
081:         *         the Globus Project or Globus Toolkit nor any of their employees,
082:         *         makes any warranty express or implied, or assumes any legal
083:         *         liability or responsibility for the accuracy, completeness, or
084:         *         usefulness of any information, apparatus, product, or process
085:         *         disclosed, or represents that its use would not infringe
086:         *         privately owned rights.
087:         *
088:         *         IN NO EVENT WILL THE UNITED STATES, THE UNIVERSITY OF CHICAGO
089:         *         OR THE UNIVERSITY OF SOUTHERN CALIFORNIA OR ANY CONTRIBUTORS
090:         *         TO THE GLOBUS PROJECT OR GLOBUS TOOLKIT BE LIABLE FOR ANY
091:         *         DAMAGES, INCLUDING DIRECT, INCIDENTAL, SPECIAL, OR CONSEQUENTIAL
092:         *         DAMAGES RESULTING FROM EXERCISE OF THIS LICENSE AGREEMENT OR
093:         *         THE USE OF THE [COMMERCIAL PRODUCT]."
094:         *
095:         *  8) LICENSEE AGREES THAT THE EXPORT OF GOODS AND/OR TECHNICAL DATA
096:         *     FROM THE UNITED STATES MAY REQUIRE SOME FORM OF EXPORT CONTROL
097:         *     LICENSE FROM THE U.S. GOVERNMENT AND THAT FAILURE TO OBTAIN SUCH
098:         *     EXPORT CONTROL LICENSE MAY RESULT IN CRIMINAL LIABILITY UNDER U.S.
099:         *     LAWS.
100:         *
101:         *  9) Portions of the Software resulted from work developed under a
102:         *     U.S. Government contract and are subject to the following license:
103:         *     the Government is granted for itself and others acting on its
104:         *     behalf a paid-up, nonexclusive, irrevocable worldwide license in
105:         *     this computer software to reproduce, prepare derivative works, and
106:         *     perform publicly and display publicly.
107:         *
108:         * 10) The Software was prepared, in part, as an account of work
109:         *     sponsored by an agency of the United States Government.  Neither
110:         *     the United States, nor the University of Chicago, nor The
111:         *     University of Southern California, nor any contributors to the
112:         *     Globus Project or Globus Toolkit, nor any of their employees,
113:         *     makes any warranty express or implied, or assumes any legal
114:         *     liability or responsibility for the accuracy, completeness, or
115:         *     usefulness of any information, apparatus, product, or process
116:         *     disclosed, or represents that its use would not infringe privately
117:         *     owned rights.
118:         *
119:         * 11) IN NO EVENT WILL THE UNITED STATES, THE UNIVERSITY OF CHICAGO OR
120:         *     THE UNIVERSITY OF SOUTHERN CALIFORNIA OR ANY CONTRIBUTORS TO THE
121:         *     GLOBUS PROJECT OR GLOBUS TOOLKIT BE LIABLE FOR ANY DAMAGES,
122:         *     INCLUDING DIRECT, INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES
123:         *     RESULTING FROM EXERCISE OF THIS LICENSE AGREEMENT OR THE USE OF
124:         *     THE SOFTWARE.
125:         *
126:         *                               END OF LICENSE
127:         */
128:
129:        package org.griphyn.cPlanner.common;
130:
131:        import org.griphyn.cPlanner.classes.PlannerOptions;
132:
133:        import java.util.Collection;
134:        import java.util.Set;
135:        import java.util.Vector;
136:
137:        /**
138:         * A Singleton wrapper around the
139:         * PlannerOptions class to get hold
140:         * of the options specified by the
141:         * user to run Pegasus. This allows
142:         * us to get hold of the options anywhere
143:         * without us messing up with the constructors
144:         * of classes.
145:         *
146:         * @author Karan Vahi
147:         * @author Gaurang Mehta
148:         * @version $Revision: 278 $
149:         *
150:         * @see org.griphyn.cPlanner.classes.PlannerOptions
151:         */
152:
153:        public class UserOptions {
154:            /**
155:             * The object holding the
156:             * Singleton instance.
157:             */
158:            private static UserOptions mPOptions = null;
159:
160:            /**
161:             * The Logger object used to
162:             * log the messages.
163:             */
164:            private LogManager mLogger;
165:
166:            /**
167:             * The object containing all the
168:             * user options.
169:             */
170:            private PlannerOptions mPlannerOpts = null;
171:
172:            /**
173:             * The method used to invoke the
174:             * singleton instance the first
175:             * time, from the CPlanner class.
176:             *
177:             * @param opt  the object containing
178:             *             the options to the Planner.
179:             */
180:            public static UserOptions getInstance(PlannerOptions opt) {
181:                if (mPOptions == null && opt != null) {
182:                    mPOptions = new UserOptions(opt);
183:                }
184:                return mPOptions;
185:            }
186:
187:            /**
188:             * The method used to invoke the
189:             * singleton instance from the
190:             * other classes.
191:             */
192:            public static UserOptions getInstance() {
193:                return getInstance(null);
194:            }
195:
196:            /**
197:             * The private constructor that initializes the user options.
198:             * This should be invoked from the CPlanner class in the toolkit
199:             * package.
200:             *
201:             * @throws RuntimeException in case of incorrect initialization.
202:             */
203:            private UserOptions(PlannerOptions opt) {
204:                if (opt == null) {
205:                    mLogger.log("Wrong Invocation of the Singleton Instance",
206:                            LogManager.FATAL_MESSAGE_LEVEL);
207:                    throw new RuntimeException(
208:                            "Wrong Invocation of the Singleton Instance");
209:                }
210:                mPlannerOpts = opt;
211:            }
212:
213:            /**
214:             * Returns the dax file, that
215:             * was generated by Chimera
216:             * containing the description of
217:             * the Abstract plan.
218:             */
219:            public String getDaxFile() {
220:                return this .mPlannerOpts.getDAX();
221:            }
222:
223:            /**
224:             * Returns output pool where the
225:             * user wants the data products
226:             * to be transferred to.
227:             */
228:            public String getOutputPool() {
229:                return this .mPlannerOpts.getOutputSite();
230:            }
231:
232:            /**
233:             * Returns the options passed to the planner.
234:             *
235:             * @return PlannerOptions
236:             */
237:            public PlannerOptions getOptions() {
238:                return this .mPlannerOpts;
239:            }
240:
241:            /**
242:             * Returns the directory where the
243:             * user wants the submit files to be
244:             * generated.
245:             */
246:            public String getSubmitFileDir() {
247:                return this .mPlannerOpts.getSubmitDirectory();
248:            }
249:
250:            /**
251:             * Returns the list of execution pools
252:             * where the user wants the data
253:             * products to be computed.
254:             */
255:            public Collection getExecutionSites() {
256:                //return new Vector(this.mPlannerOpts.getExecutionSites());
257:                return this .mPlannerOpts.getExecutionSites();
258:            }
259:
260:            /**
261:             * Sets the execution sites.
262:             *
263:             * @param sites  the <code>Set</code> containing the site names.
264:             */
265:            public void setExecutionSites(Collection sites) {
266:                this .mPlannerOpts.setExecutionSites(sites);
267:            }
268:
269:            /**
270:             * Returns whether we want to create
271:             * a Random Directory or not.
272:             */
273:            public boolean generateRandomDirectory() {
274:                return this .mPlannerOpts.generateRandomDirectory();
275:            }
276:
277:            /**
278:             * It returns the set of cache files.
279:             */
280:            public Set getCacheFiles() {
281:                return this .mPlannerOpts.getCacheFiles();
282:            }
283:
284:            /**
285:             * Returns the name of the random
286:             * directory, only if the generate
287:             * Random Dir flag is set.
288:             * Else it returns null.
289:             */
290:            public String getRandomDirName() {
291:                if (this .generateRandomDirectory()) {
292:                    return this .mPlannerOpts.getRandomDir();
293:                }
294:                return null;
295:            }
296:
297:            /**
298:             * Returns true if the user had asked
299:             * for the force option.
300:             */
301:            public boolean getForceOption() {
302:                return this.mPlannerOpts.getForce();
303:            }
304:        }
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.