Hi,
btw, you can just use the .properties approach
(removing the 'extra' classes) directly and I think
that will be what you want.
sorry for the misunderstanding.
ron
> --- Rodrigo Gevaerd <[EMAIL PROTECTED]> wrote:
> > Thanks for your replies, Ron. But I think you
> did
> > not quite understand
> > the kind of problem here. The problem is how to do
> > the functionallity of the
> > code you wrote but without having to write another
> > class like App1Constant
> > or App2Constant when you add another application
> to
> > the server. More than
> > that... actually I want no change to code at all.
> > This can be done, for
> > example, this way:
> >
> > Have this start up code to run before anything
> > else in the application:
> >
> > getServletContext().setAttribute("Const", new
> > Constant(getServletContext()));
> >
> > And at Constant do:
> >
> > public Constant(ServletContext sc)
> > {
> > String fileNameToReadValues =
> > sc.getRealPath("/constant.ini");
> >
> > // read values from 'fileNameToReadValues'
> > }
> >
> > This way, when adding another application, the
> > same code may be used. Only
> > the constant.ini file in the new application will
> be
> > different (because it
> > will contain the values the application will use).
> > But there is a problem
> > doing this way: all classes that want access to
> > Constant must have access to
> > ServletContext, because only that way they will
> > obtain the right Constant
> > instance (through the getAttribute method). This
> > problem can be worked out
> > by giving every class a reference to
> ServletContext.
> > But I was asking if
> > anyone have a better solution for this problem
> than
> > doing all these.
> >
> >
> > Rodrigo.
> >
> >
> > > -----Mensagem original-----
> > > De: Ron Chan [mailto:[EMAIL PROTECTED]]
> > > Enviada em: Segunda-feira, 9 de Abril de 2001
> > 13:25
> > > Para: [EMAIL PROTECTED]
> > > Assunto: Re: Organizing Application Constants
> > >
> > >
> > > hi,
> > >
> > > something like:
> > >
> > >
> > > 1 import java.util.*;
> > >
> > > 2 public abstract class AbstractConstant
> > > 3 {
> > > 4 public final static int APP1 = 1;
> > > 5 public final static int APP2 = 2;
> > > 6 private final static String cdb =
> > > "currentDB";
> > > 7 private final static String DBURL =
> > > "dbURL";
> > >
> > > 8 public static class App1Constant
> > extends
> > > AbstractConstant {
> > > 9 public App1Constant() {
> > > 10 super();
> > > 11 setDBUrl( rb.getString(
> DBURL
> > + currentDB
> > > + APP1 ) );
> > > 12 }
> > > 13 }
> > > 14 public static class App2Constant
> > extends
> > > AbstractConstant {
> > > 15 public App2Constant() {
> > > 16 super();
> > > 17 setDBUrl( rb.getString(
> DBURL
> > + currentDB
> > > + APP2 ) );
> > > 18 }
> > > 19 }
> > >
> > > 20 private String dbURL = null;
> > > 21 private String rbString = "ac";
> > > 22 protected ResourceBundle rb = null;
> > > 23 protected String currentDB = null;
> > >
> > > 24 public AbstractConstant() {
> > > 25 rb = ResourceBundle.getBundle(
> > rbString );
> > > 26 currentDB = rb.getString( cdb );
> > > 27 }
> > >
> > > 28 public void setDBUrl( String s ) {
> > > 29 this.dbURL = s;
> > > 30 }
> > > 31 public String getDBUrl() {
> > > 32 return this.dbURL;
> > > 33 }
> > > 34 public static AbstractConstant
> Create(
> > int
> > > i ) {
> > > 35 AbstractConstant ap = null;
> > > 36 if( APP1 == i ) {
> > > 37 ap = new
> > AbstractConstant.App1Constant();
> > > 38 }
> > > 39 else if( APP2 == i ) {
> > > 40 ap = new
> > AbstractConstant.App2Constant();
> > > 41 }
> > > 42 return ap;
> > > 43 }
> > > 44 }
> > >
> > >
> > > 45 public class App1
> > > 46 {
> > > 47 private AbstractConstant abcon =
> > > AbstractConstant.Create( AbstractConstant.APP1
> );
> > > 48 public App1() {
> > > 49 System.out.println( "1 dburl: "
> +
> > > abcon.getDBUrl() );
> > > 50 }
> > > 51 public static void main( String[]
> arg
> > ) {
> > > 52 App1 ap = new App1();
> > > 53 }
> > > 54 }
> > >
> > >
> > > 55 public class App2
> > > 56 {
> > > 57 private AbstractConstant abcon =
> > > AbstractConstant.Create( AbstractConstant.APP2
> );
> > > 58 public App2() {
> > > 59 System.out.println( "2 dburl: "
> +
> > > abcon.getDBUrl() );
> > > 60 }
> > > 61 public static void main( String[]
> arg
> > ) {
> > > 62 App2 ap = new App2();
> > > 63 }
> > > 64 }
> > >
> > > 65 currentDB=oracle
> > > 66 dbURLpostgres1=something1
> > > 67 dbURLpostgres2=something2
> > >
> > > 68 dbURLoracle1=somethingElse1
> > > 69 dbURLoracle2=somethingElse2
> > >
> > > ron
> >
> >
>
===========================================================================
> > To unsubscribe: mailto [EMAIL PROTECTED] with
> > body: "signoff JSP-INTEREST".
> > For digest: mailto [EMAIL PROTECTED] with
> body:
> > "set JSP-INTEREST DIGEST".
> > Some relevant FAQs on JSP/Servlets can be found
> at:
> >
> > http://java.sun.com/products/jsp/faq.html
> > http://www.esperanto.org.nz/jsp/jspfaq.html
> >
> http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
> >
>
http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets
>
>
> __________________________________________________
> Do You Yahoo!?
> Get email at your own domain with Yahoo! Mail.
> http://personal.mail.yahoo.com/
>
>
===========================================================================
> To unsubscribe: mailto [EMAIL PROTECTED] with
> body: "signoff JSP-INTEREST".
> For digest: mailto [EMAIL PROTECTED] with body:
> "set JSP-INTEREST DIGEST".
> Some relevant FAQs on JSP/Servlets can be found at:
>
> http://java.sun.com/products/jsp/faq.html
> http://www.esperanto.org.nz/jsp/jspfaq.html
> http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
>
http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets
__________________________________________________
Do You Yahoo!?
Get email at your own domain with Yahoo! Mail.
http://personal.mail.yahoo.com/
===========================================================================
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff JSP-INTEREST".
For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST DIGEST".
Some relevant FAQs on JSP/Servlets can be found at:
http://java.sun.com/products/jsp/faq.html
http://www.esperanto.org.nz/jsp/jspfaq.html
http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets