CVS: TapestryBook/examples/src/examples/resume ResumeSummary.java,NONE,1.1 ExperienceStrings.properties,NONE,1.1 Resume.java,NONE,1.1 Language.java,NONE,1.1 LanguageStrings.properties,NONE,1.1 Experience.java,NONE,1.1 ResumeBuilder.java,NONE,1.1
Howard Lewis Ship <[email protected]> Mon, 24 Mar 2003 11:45:58 -0800
| Newsgroups | gmane.comp.java.tapestry.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/tapestry/TapestryBook/examples/src/examples/resume
In directory sc8-pr-cvs1:/tmp/cvs-serv24749/examples/src/examples/resume
Added Files:
ResumeSummary.java ExperienceStrings.properties Resume.java
Language.java LanguageStrings.properties Experience.java
ResumeBuilder.java
Log Message:
Update Chapter 06, use new "auto" parameter direction.
--- NEW FILE: ResumeSummary.java ---
package examples.resume;
import java.util.*;
import org.apache.tapestry.html.BasePage;
public abstract class ResumeSummary extends BasePage
{
public abstract void setResume(Resume resume);
public abstract Resume getResume();
private ResourceBundle _experienceBundle;
private ResourceBundle _languageBundle;
public void finishLoad()
{
_experienceBundle = getBundle("ExperienceStrings");
_languageBundle = getBundle("LanguageStrings");
}
public ResourceBundle getBundle(String name)
{
return ResourceBundle.getBundle(
getClass().getPackage().getName() + "." + name,
getLocale());
}
public String getExperience()
{
Experience experience = getResume().getExperience();
return _experienceBundle.getString(experience.getName());
}
public String getLanguages()
{
StringBuffer buffer = new StringBuffer();
List languages = getResume().getLanguages();
int count = languages.size();
for (int i = 0; i < count; i++)
{
if (i + 1 == count)
buffer.append(" and ");
else
if (i > 0)
buffer.append(", ");
Language language = (Language) languages.get(i);
buffer.append(_languageBundle.getString(language.getName()));
}
return buffer.toString();
}
}
--- NEW FILE: ExperienceStrings.properties ---
NEWBIE=1-3
JUNIOR=3-5
ASSOCIATE=5-7
SENIOR=7+
--- NEW FILE: Resume.java ---
package examples.resume;
import java.util.List;
public class Resume
{
private Experience _experience;
private List _languages;
public Experience getExperience()
{
return _experience;
}
public List getLanguages()
{
return _languages;
}
public void setExperience(Experience experience)
{
_experience = experience;
}
public void setLanguages(List languages)
{
_languages = languages;
}
}
--- NEW FILE: Language.java ---
package examples.resume;
import org.apache.commons.lang.enum.Enum;
public class Language extends Enum
{
public static final Language JAVA = new Language("JAVA");
public static final Language C = new Language("C");
public static final Language CSHARP = new Language("CSHARP");
public static final Language CPLUSPLUS = new Language("CPLUSPLUS");
public static final Language PYTHON = new Language("PYTHON");
public static final Language PERL = new Language("PERL");
public static final Language RUBY = new Language("RUBY");
public static final Language VB = new Language("VB");
public static final Language EIFFEL = new Language("EIFFEL");
public static final Language[] ALL_VALUES =
{ C, CPLUSPLUS, CSHARP, EIFFEL, JAVA, PERL, PYTHON, RUBY, VB };
protected Language(String name)
{
super(name);
}
}
--- NEW FILE: LanguageStrings.properties ---
JAVA=Java
C=C
CSHARP=C#
CPLUSPLUS=C++
PYTHON=Python
PERL=Perl
RUBY=Ruby
VB=Visual Basic
EIFFEL=Eiffel
--- NEW FILE: Experience.java ---
package examples.resume;
import org.apache.commons.lang.enum.Enum;
public class Experience extends Enum
{
public static final Experience NEWBIE = new Experience("NEWBIE");
public static final Experience JUNIOR = new Experience("JUNIOR");
public static final Experience ASSOCIATE = new Experience("ASSOCIATE");
public static final Experience SENIOR = new Experience("SENIOR");
public static final Experience[] ALL_VALUES = { NEWBIE, JUNIOR, ASSOCIATE, SENIOR };
private Experience(String name)
{
super(name);
}
}
--- NEW FILE: ResumeBuilder.java ---
package examples.resume;
import java.util.*;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.Tapestry;
import org.apache.tapestry.form.EnumPropertySelectionModel;
import org.apache.tapestry.form.IFormComponent;
import org.apache.tapestry.form.IPropertySelectionModel;
import org.apache.tapestry.html.BasePage;
import org.apache.tapestry.valid.IValidationDelegate;
import org.apache.tapestry.valid.ValidationConstraint;
public abstract class ResumeBuilder extends BasePage
{
private IPropertySelectionModel _experienceModel;
private IPropertySelectionModel _languageModel;
public IPropertySelectionModel getExperienceModel()
{
if (_experienceModel == null)
_experienceModel =
new EnumPropertySelectionModel(
Experience.ALL_VALUES,
getBundle("ExperienceStrings"));
return _experienceModel;
}
public IPropertySelectionModel getLanguageModel()
{
if (_languageModel == null)
_languageModel =
new EnumPropertySelectionModel(Language.ALL_VALUES, getBundle("LanguageStrings"));
return _languageModel;
}
public ResourceBundle getBundle(String name)
{
return ResourceBundle.getBundle(
getClass().getPackage().getName() + "." + name,
getLocale());
}
public void formSubmit(IRequestCycle cycle)
{
List languages = getLanguages();
if (Tapestry.size(languages) == 0)
{
IFormComponent inputLanguages = (IFormComponent) getComponent("inputLanguages");
IValidationDelegate delegate = (IValidationDelegate) getBeans().getBean("delegate");
delegate.setFormComponent(inputLanguages);
delegate.record(
"You must supply at least one language proficiency.",
ValidationConstraint.REQUIRED);
return;
}
Resume resume = new Resume();
resume.setLanguages(languages);
resume.setExperience(getExperience());
ResumeSummary next = (ResumeSummary)cycle.getPage("ResumeSummary");
next.setResume(resume);
cycle.setPage(next);
}
public abstract List getLanguages();
public abstract boolean getWillRelocate();
public abstract Experience getExperience();
}
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf