This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
My server does not have a GUI. During startup, if some keys in suncertify.properties are missing I use a dialog to retrieve the missing information (db file path and port number). My question is, do I need to provide a way to change the statup information ? My client GUI provides that funcionality, but server doesn't, if the use need to change the startup setting he must erase or edit the suncertify.properties file.
Your programs must not require use of command line property specifications. All configuration must be done via a GUI, and must be persistent between runs of the program.
So no, you can't require the user to edit any property files manually. BUt, the way you describe it, you already have a dialog for the Server... all you have to do is open it every time the server starts. Display all the values from the property file. The user can just press start, or he can change them first and then press start.
I was going to write a full GUI for the server, but I think I actually like this approach more because in the future, it is easy for the app to bypass the dialog and behave like a "proper" server app