001 package com.croftsoft.apps.agoracast.c2p;
002
003 import java.awt.Color;
004 import java.awt.Font;
005
006 import com.croftsoft.core.lang.Pair;
007
008 /*********************************************************************
009 * Static constants for Agoracast C2P.
010 *
011 * <p />
012 *
013 * @version
014 * 2002-01-29
015 * @since
016 * 2001-07-22
017 * @author
018 * <a href="http://croftsoft.com/">David Wallace Croft</a>
019 *********************************************************************/
020
021 public interface AgoracastConstants
022 //////////////////////////////////////////////////////////////////////
023 //////////////////////////////////////////////////////////////////////
024 {
025
026 public static final String DOCUMENTATION_URL
027 = "http://croftsoft.com/agoracast/doc/";
028
029 //
030
031 public static final String LICENSE_FILENAME = "/license.txt";
032
033 public static final String LICENSE_FRAME_TITLE
034 = "Agoracast License Agreement";
035
036 public static final String LICENSE_FRAME_ICON_IMAGE_NAME
037 = "/icon.gif";
038
039 public static final String SPLASH_IMAGE_NAME
040 = "/splash.jpg";
041
042 //
043
044 public static final String FRAME_TITLE
045 = "Agoracast";
046
047 public static final String FRAME_ICON_IMAGE_NAME
048 = LICENSE_FRAME_ICON_IMAGE_NAME;
049
050 //
051
052 public static final String CONFIG_FILENAME = ".agoracast_config";
053
054 public static final String DATABASE_FILENAME = ".agoracast_database";
055
056 public static final String NEWSRC_FILENAME = ".agoracast_newsrc";
057
058 //
059
060 public static final String CONFIG_EMAIL = "E-Mail Address";
061
062 public static final String CONFIG_SERVER = "News Server";
063
064 public static final String CONFIG_USERNAME = "Username";
065
066 public static final String CONFIG_NEWSGROUP = "Newsgroup";
067
068 public static final String DEFAULT_NEWSGROUP = "alt.marketplace";
069
070 //
071
072 public static final String CONFIG_HELP_EMAIL
073 = "<h3>" + CONFIG_EMAIL + "</h3>"
074 + "<p>"
075 + "All newsgroup messages need an associated e-mail address. "
076 + "Enter your e-mail address in this field in order to post "
077 + "messages."
078 + "</p>"
079 + "<p>"
080 + "You will not be able to post messages until you enter an "
081 + "e-mail address."
082 + "</p>";
083
084 public static final String CONFIG_HELP_SERVER
085 = "<h3>" + CONFIG_SERVER + "</h3>"
086 + "<p>"
087 + "Provide the name of your local newsgroup server, "
088 + "usually provided to you by your Internet Service Provider"
089 + " (ISP) or campus network administrator."
090 + "</p>"
091 + "<p>"
092 + "You will not be able to browse or post messages until you"
093 + " select a server."
094 + "</p>";
095
096 public static final String CONFIG_HELP_USERNAME
097 = "<h3>" + CONFIG_USERNAME + "</h3>"
098 + "<p>"
099 + "Some newsgroup servers require a username and password. "
100 + "If your newsgroup server requires authentication, Agoracast "
101 + "will prompt you for your password the first time you connect "
102 + "to a server."
103 + "</p>"
104 + "<p>"
105 + "Not all newsgroup servers require an authenticated account "
106 + "in order to use them. Querying a search engine for "
107 + "\"open newsgroup servers\" will yield lists of publicly "
108 + "accessible newsgroup servers."
109 + "</p>";
110
111 public static final String CONFIG_HELP_NEWSGROUP
112 = "<h3>" + CONFIG_NEWSGROUP + "</h3>"
113 + "<p>"
114 + "This is the topic you will use for your uploaded and "
115 + "downloaded messages. "
116 + "You will generally want to leave this at the default value "
117 + "of \"alt.marketplace\", a well-established newsgroup that is "
118 + "carried on most newsgroup servers. You might want to change "
119 + "this, however, if alt.marketplace is not carried on your "
120 + "newsgroup server."
121 + "</p>"
122 + "<p>"
123 + "You might also you wish to change this if you want to use a "
124 + "more local, focused, or private newsgroup in order to "
125 + "participate in a more local, focused, or private electronic "
126 + "marketplace. If you are the first one to select a specialized "
127 + "newsgroup instead of the default, you need to let other Agoracast "
128 + "users know that you are posting and scanning for messages there. "
129 + "As there is currently no automated means of advertising these "
130 + "specialty newsgroups, it is recommended that you use the common "
131 + "default newsgroup instead."
132 + "</p>";
133
134 public static final String CONFIG_HELP_TEXT
135 = "<h2>Configuration</h2>"
136 + "The configuration panel is used to edit your newsgroup "
137 + "server connection settings. These settings are changed "
138 + "when you click on the \"Update\" button."
139 + "Clicking on \"Restore\" will restore the previously saved "
140 + "values as read from a local file."
141 + CONFIG_HELP_SERVER
142 + CONFIG_HELP_EMAIL
143 + CONFIG_HELP_USERNAME
144 + CONFIG_HELP_NEWSGROUP;
145
146 //
147
148 public static final int TAB_INDEX_BROWSE = 2;
149
150 public static final int TAB_INDEX_DEFAULTS = 3;
151
152 public static final int TAB_INDEX_POST = 4;
153
154 public static final int TAB_INDEX_LOG = 5;
155
156 //
157
158 public static final String FIELD_NAME_AGE = "age";
159
160 public static final String FIELD_NAME_ASKING = "asking";
161
162 public static final String FIELD_NAME_BIDDING = "bidding";
163
164 public static final String FIELD_NAME_CATEGORY = "category";
165
166 public static final String FIELD_NAME_CITY = "city";
167
168 public static final String FIELD_NAME_COUNTRY = "country";
169
170 public static final String FIELD_NAME_EMAIL = "email";
171
172 public static final String FIELD_NAME_GENDER = "gender";
173
174 public static final String FIELD_NAME_ISBN = "isbn";
175
176 public static final String FIELD_NAME_MANUFACTURER
177 = "manufacturer";
178
179 public static final String FIELD_NAME_MODEL
180 = "model";
181
182 public static final String FIELD_NAME_NAME = "name";
183
184 public static final String FIELD_NAME_PHONE = "phone";
185
186 public static final String FIELD_NAME_RACE = "race";
187
188 public static final String FIELD_NAME_RATE = "rate";
189
190 public static final String FIELD_NAME_RELIGION = "religion";
191
192 public static final String FIELD_NAME_RENT = "rent";
193
194 public static final String FIELD_NAME_STATE = "state";
195
196 public static final String FIELD_NAME_TITLE = "title";
197
198 public static final String FIELD_NAME_URL = "url";
199
200 public static final String FIELD_NAME_YEAR
201 = "year";
202
203 public static final String FIELD_NAME_ZIPCODE = "zipcode";
204
205 //
206
207 public static final AgoracastCategory CATEGORY_ALL
208 = new AgoracastCategory (
209 "-- ALL --",
210 "All categories.",
211 new String [ ] {
212 FIELD_NAME_ASKING,
213 FIELD_NAME_BIDDING,
214 FIELD_NAME_NAME,
215 FIELD_NAME_ZIPCODE },
216 new String [ ] {
217 FIELD_NAME_ASKING,
218 FIELD_NAME_BIDDING,
219 FIELD_NAME_CATEGORY,
220 FIELD_NAME_NAME,
221 FIELD_NAME_ZIPCODE } );
222
223 public static final AgoracastCategory [ ] CATEGORIES
224 = new AgoracastCategory [ ] {
225 new AgoracastCategory (
226 "book-for-sale",
227 "Book for sale.",
228 new String [ ] {
229 FIELD_NAME_ASKING,
230 FIELD_NAME_EMAIL,
231 FIELD_NAME_ISBN,
232 FIELD_NAME_TITLE,
233 FIELD_NAME_ZIPCODE },
234 new String [ ] {
235 FIELD_NAME_ASKING,
236 FIELD_NAME_ISBN,
237 FIELD_NAME_TITLE,
238 FIELD_NAME_ZIPCODE } ),
239 new AgoracastCategory (
240 "car-for-sale",
241 "Car for sale.",
242 new String [ ] {
243 FIELD_NAME_MANUFACTURER,
244 FIELD_NAME_MODEL,
245 FIELD_NAME_YEAR,
246 FIELD_NAME_ASKING,
247 FIELD_NAME_EMAIL,
248 FIELD_NAME_CITY,
249 FIELD_NAME_STATE,
250 FIELD_NAME_COUNTRY,
251 FIELD_NAME_ZIPCODE },
252 new String [ ] {
253 FIELD_NAME_MANUFACTURER,
254 FIELD_NAME_MODEL,
255 FIELD_NAME_YEAR,
256 FIELD_NAME_ASKING,
257 FIELD_NAME_CITY,
258 FIELD_NAME_STATE,
259 FIELD_NAME_COUNTRY,
260 FIELD_NAME_ZIPCODE } ),
261 new AgoracastCategory (
262 "carpool",
263 "Ride sharing.",
264 new String [ ] {
265 FIELD_NAME_EMAIL,
266 FIELD_NAME_CITY,
267 FIELD_NAME_STATE,
268 FIELD_NAME_COUNTRY,
269 FIELD_NAME_ZIPCODE },
270 new String [ ] {
271 FIELD_NAME_EMAIL,
272 FIELD_NAME_CITY,
273 FIELD_NAME_STATE,
274 FIELD_NAME_COUNTRY,
275 FIELD_NAME_ZIPCODE } ),
276 new AgoracastCategory (
277 "domain-name",
278 "Domain name for sale.",
279 new String [ ] {
280 FIELD_NAME_NAME,
281 FIELD_NAME_ASKING,
282 FIELD_NAME_EMAIL },
283 new String [ ] {
284 FIELD_NAME_NAME,
285 FIELD_NAME_ASKING,
286 FIELD_NAME_EMAIL } ),
287 new AgoracastCategory (
288 "firearm-for-sale",
289 "Firearm for sale.",
290 new String [ ] {
291 FIELD_NAME_ASKING,
292 FIELD_NAME_EMAIL,
293 FIELD_NAME_NAME,
294 FIELD_NAME_ZIPCODE },
295 new String [ ] {
296 FIELD_NAME_ASKING,
297 FIELD_NAME_NAME,
298 FIELD_NAME_ZIPCODE } ),
299 new AgoracastCategory (
300 "for-sale",
301 "Miscellaneous item for sale.",
302 new String [ ] {
303 FIELD_NAME_NAME,
304 FIELD_NAME_ASKING,
305 FIELD_NAME_EMAIL },
306 new String [ ] {
307 FIELD_NAME_NAME,
308 FIELD_NAME_ASKING,
309 FIELD_NAME_EMAIL } ),
310 new AgoracastCategory (
311 "job-offered",
312 "Job openings.",
313 new String [ ] {
314 FIELD_NAME_TITLE,
315 FIELD_NAME_BIDDING,
316 FIELD_NAME_RATE,
317 FIELD_NAME_EMAIL,
318 FIELD_NAME_CITY,
319 FIELD_NAME_STATE,
320 FIELD_NAME_COUNTRY,
321 FIELD_NAME_ZIPCODE },
322 new String [ ] {
323 FIELD_NAME_TITLE,
324 FIELD_NAME_BIDDING,
325 FIELD_NAME_RATE,
326 FIELD_NAME_CITY,
327 FIELD_NAME_STATE } ),
328 new AgoracastCategory (
329 "job-wanted",
330 "Job seekers.",
331 new String [ ] {
332 FIELD_NAME_ASKING,
333 FIELD_NAME_CITY,
334 FIELD_NAME_COUNTRY,
335 FIELD_NAME_EMAIL,
336 FIELD_NAME_NAME,
337 FIELD_NAME_PHONE,
338 FIELD_NAME_RATE,
339 FIELD_NAME_STATE,
340 FIELD_NAME_TITLE,
341 FIELD_NAME_ZIPCODE },
342 new String [ ] {
343 FIELD_NAME_ASKING,
344 FIELD_NAME_CITY,
345 FIELD_NAME_COUNTRY,
346 FIELD_NAME_PHONE,
347 FIELD_NAME_RATE,
348 FIELD_NAME_STATE,
349 FIELD_NAME_TITLE } ),
350 new AgoracastCategory (
351 "house-for-rent",
352 "House for rent.",
353 new String [ ] {
354 FIELD_NAME_RENT,
355 FIELD_NAME_EMAIL,
356 FIELD_NAME_CITY,
357 FIELD_NAME_STATE,
358 FIELD_NAME_COUNTRY,
359 FIELD_NAME_ZIPCODE },
360 new String [ ] {
361 FIELD_NAME_RENT,
362 FIELD_NAME_CITY,
363 FIELD_NAME_STATE,
364 FIELD_NAME_COUNTRY,
365 FIELD_NAME_ZIPCODE } ),
366 new AgoracastCategory (
367 "house-for-sale",
368 "House for sale.",
369 new String [ ] {
370 FIELD_NAME_ASKING,
371 FIELD_NAME_EMAIL,
372 FIELD_NAME_CITY,
373 FIELD_NAME_STATE,
374 FIELD_NAME_COUNTRY,
375 FIELD_NAME_ZIPCODE },
376 new String [ ] {
377 FIELD_NAME_ASKING,
378 FIELD_NAME_CITY,
379 FIELD_NAME_STATE,
380 FIELD_NAME_COUNTRY,
381 FIELD_NAME_ZIPCODE } ),
382 new AgoracastCategory (
383 "personal-ad",
384 "Personal ad.",
385 new String [ ] {
386 FIELD_NAME_NAME,
387 FIELD_NAME_AGE,
388 FIELD_NAME_GENDER,
389 FIELD_NAME_RACE,
390 FIELD_NAME_RELIGION,
391 FIELD_NAME_EMAIL,
392 FIELD_NAME_CITY,
393 FIELD_NAME_STATE,
394 FIELD_NAME_COUNTRY,
395 FIELD_NAME_ZIPCODE },
396 new String [ ] {
397 FIELD_NAME_AGE,
398 FIELD_NAME_GENDER,
399 FIELD_NAME_RACE,
400 FIELD_NAME_RELIGION,
401 FIELD_NAME_CITY,
402 FIELD_NAME_STATE,
403 FIELD_NAME_COUNTRY,
404 FIELD_NAME_ZIPCODE } ),
405 new AgoracastCategory (
406 "wanted",
407 "Miscellaneous item wanted.",
408 new String [ ] {
409 FIELD_NAME_NAME,
410 FIELD_NAME_BIDDING,
411 FIELD_NAME_EMAIL },
412 new String [ ] {
413 FIELD_NAME_NAME,
414 FIELD_NAME_BIDDING,
415 FIELD_NAME_EMAIL } ) };
416
417 public static final String [ ] CHOICES_CATEGORY
418 = AgoracastCategory.getNames ( CATEGORIES );
419
420 public static final String [ ] CHOICES_GENDER = {
421 "male",
422 "female",
423 "other" };
424
425 public static final AgoracastField [ ] DEFAULT_FIELDS
426 = new AgoracastField [ ] {
427 new AgoracastField (
428 FIELD_NAME_AGE, // name
429 null, // value
430 AgoracastField.TYPE_NUMBER,
431 false, // isReverse
432 null, // choices
433 "Age in years" ), // semantic
434 new AgoracastField (
435 FIELD_NAME_ASKING, // name
436 null, // value
437 AgoracastField.TYPE_NUMBER,
438 false, // isReverse
439 null, // choices
440 "Asking price ($)" ), // semantic
441 new AgoracastField (
442 FIELD_NAME_BIDDING, // name
443 null, // value
444 AgoracastField.TYPE_NUMBER,
445 false, // isReverse
446 null, // choices
447 "Bidding price ($)" ), // semantic
448 new AgoracastField (
449 FIELD_NAME_CATEGORY, // name
450 null, // value
451 AgoracastField.TYPE_STRING,
452 false, // isReverse
453 CHOICES_CATEGORY, // choices
454 "message type" ), // semantic
455 new AgoracastField (
456 FIELD_NAME_CITY, // name
457 null, // value
458 AgoracastField.TYPE_STRING,
459 false, // isReverse
460 null, // choices
461 "City" ), // semantic
462 new AgoracastField (
463 FIELD_NAME_COUNTRY, // name
464 null, // value
465 AgoracastField.TYPE_STRING,
466 false, // isReverse
467 null, // choices
468 "Country (US=United States)" ), // semantic
469 new AgoracastField (
470 FIELD_NAME_EMAIL, // name
471 null, // value
472 AgoracastField.TYPE_STRING,
473 false, // isReverse
474 null, // choices
475 "contact e-mail" ), // semantic
476 new AgoracastField (
477 FIELD_NAME_GENDER, // name
478 null, // value
479 AgoracastField.TYPE_STRING,
480 false, // isReverse
481 CHOICES_GENDER, // choices
482 "Gender (sex)" ), // semantic
483 new AgoracastField (
484 FIELD_NAME_ISBN, // name
485 null, // value
486 AgoracastField.TYPE_STRING,
487 false, // isReverse
488 null, // choices
489 "International Standard Book Number" ), // semantic
490 new AgoracastField (
491 FIELD_NAME_MANUFACTURER, // name
492 null, // value
493 AgoracastField.TYPE_STRING,
494 false, // isReverse
495 null, // choices
496 "Manufacturer" ), // semantic
497 new AgoracastField (
498 FIELD_NAME_MODEL, // name
499 null, // value
500 AgoracastField.TYPE_STRING,
501 false, // isReverse
502 null, // choices
503 "Model" ), // semantic
504 new AgoracastField (
505 FIELD_NAME_NAME, // name
506 null, // value
507 AgoracastField.TYPE_STRING,
508 false, // isReverse
509 null, // choices
510 "Product or service name" ), // semantic
511 new AgoracastField (
512 FIELD_NAME_PHONE, // name
513 null, // value
514 AgoracastField.TYPE_STRING,
515 false, // isReverse
516 null, // choices
517 "contact phone number" ), // semantic
518 new AgoracastField (
519 FIELD_NAME_RACE, // name
520 null, // value
521 AgoracastField.TYPE_STRING,
522 false, // isReverse
523 null, // choices
524 "Race" ), // semantic
525 new AgoracastField (
526 FIELD_NAME_RATE, // name
527 null, // value
528 AgoracastField.TYPE_NUMBER,
529 false, // isReverse
530 null, // choices
531 "Hourly rate ($)" ), // semantic
532 new AgoracastField (
533 FIELD_NAME_RELIGION, // name
534 null, // value
535 AgoracastField.TYPE_STRING,
536 false, // isReverse
537 null, // choices
538 "Religion" ), // semantic
539 new AgoracastField (
540 FIELD_NAME_RENT, // name
541 null, // value
542 AgoracastField.TYPE_NUMBER,
543 false, // isReverse
544 null, // choices
545 "monthly rent" ), // semantic
546 new AgoracastField (
547 FIELD_NAME_STATE, // name
548 null, // value
549 AgoracastField.TYPE_STRING,
550 false, // isReverse
551 null, // choices
552 "State (TX=Texas)" ), // semantic
553 new AgoracastField (
554 FIELD_NAME_TITLE, // name
555 null, // value
556 AgoracastField.TYPE_STRING,
557 false, // isReverse
558 null, // choices
559 "Title" ), // semantic
560 new AgoracastField (
561 FIELD_NAME_URL, // name
562 null, // value
563 AgoracastField.TYPE_STRING,
564 false, // isReverse
565 null, // choices
566 "URL for more info" ), // semantic
567 new AgoracastField (
568 FIELD_NAME_YEAR, // name
569 null, // value
570 AgoracastField.TYPE_STRING,
571 false, // isReverse
572 null, // choices
573 "Year" ), // semantic
574 new AgoracastField (
575 FIELD_NAME_ZIPCODE, // name
576 null, // value
577 AgoracastField.TYPE_STRING,
578 false, // isReverse
579 null, // choices
580 "Zip or Postal Code" ) }; // semantic
581
582 //
583
584 public static final String DOCUMENTATION_FILENAME = "/doc.html";
585
586 //
587
588 public static final String SUBJECT_PREFIX = "[Agoracast]";
589
590 public static final String SUBJECT_PREFIX_LOWER_CASE
591 = SUBJECT_PREFIX.toLowerCase ( );
592
593 public static final String FOOTER
594 = "--" + "\r\n"
595 + "Agoracast: "
596 + "Building the World Wide Exchange (http://agoracast.com/)";
597
598 //
599
600 public static final int LOG_TEXT_LENGTH_MAX = 10000;
601
602 public static final String IDENTIFIER_DIALOG_TITLE = FRAME_TITLE;
603
604 //
605
606 public static final Font LOG_FONT
607 = new Font ( "Monospaced", Font.PLAIN, 12 );
608
609 //
610
611 public static final String DESCRIBE_TEXT
612 = "Description (optional):";
613
614 public static final String TABLE_TEXT
615 = "Click on a column name to sort. "
616 + "Double-click on a row to view the message.";
617
618 //
619
620 public static final int DOWNLOAD_MAX = 500;
621
622 //
623
624 public static final Color SELECTED_FOREGROUND_COLOR = Color.black;
625
626 public static final Color SELECTED_BACKGROUND_COLOR
627 = new Color ( 204, 255, 204 );
628
629 public static final Color ODD_FOREGROUND_COLOR = Color.black;
630
631 public static final Color ODD_BACKGROUND_COLOR
632 = new Color ( 230, 230, 190 );
633
634 public static final Color EVEN_FOREGROUND_COLOR = Color.black;
635
636 public static final Color EVEN_BACKGROUND_COLOR = Color.white;
637
638 //
639
640 public static final Color DEFAULT_PANEL_BACKGROUND_COLOR
641 = null;
642
643 public static final Color DEFAULT_TEXTFIELD_BACKGROUND_COLOR
644 = null;
645
646 //////////////////////////////////////////////////////////////////////
647 //////////////////////////////////////////////////////////////////////
648 }