265 lines
7.7 KiB
Java
Executable File
265 lines
7.7 KiB
Java
Executable File
package org.thdl.roster.pages.forms;
|
|
|
|
import java.util.*;
|
|
|
|
import org.apache.tapestry.*;
|
|
import org.apache.tapestry.html.*;
|
|
import org.apache.tapestry.form.*;
|
|
import org.apache.tapestry.contrib.palette.SortMode;
|
|
|
|
import org.apache.torque.*;
|
|
import org.apache.torque.om.*;
|
|
import org.apache.torque.util.*;
|
|
|
|
import org.thdl.roster.*;
|
|
import org.thdl.roster.om.*;
|
|
import org.thdl.roster.pages.*;
|
|
|
|
public class MemberData extends MemberFormSeries
|
|
{
|
|
//attributes
|
|
// private List selectedMemberTypes;
|
|
private IPropertySelectionModel personTypeModel;
|
|
private IPropertySelectionModel projectTypeModel;
|
|
private IPropertySelectionModel organizationTypeModel;
|
|
//accessors
|
|
public void setPersonTypeModel(IPropertySelectionModel personTypeModel)
|
|
{
|
|
this.personTypeModel = personTypeModel;
|
|
}
|
|
|
|
public IPropertySelectionModel getPersonTypeModel()
|
|
{
|
|
if (personTypeModel == null)
|
|
{
|
|
setPersonTypeModel( buildPersonTypeModel() );
|
|
}
|
|
return personTypeModel;
|
|
}
|
|
|
|
public void setProjectTypeModel(IPropertySelectionModel projectTypeModel)
|
|
{
|
|
this.projectTypeModel = projectTypeModel;
|
|
}
|
|
|
|
public IPropertySelectionModel getProjectTypeModel()
|
|
{
|
|
if (projectTypeModel == null)
|
|
{
|
|
setProjectTypeModel( buildProjectTypeModel() );
|
|
}
|
|
return projectTypeModel;
|
|
}
|
|
|
|
public void setOrganizationTypeModel(IPropertySelectionModel organizationTypeModel)
|
|
{
|
|
this.organizationTypeModel = organizationTypeModel;
|
|
}
|
|
|
|
public IPropertySelectionModel getOrganizationTypeModel()
|
|
{
|
|
if (organizationTypeModel == null)
|
|
{
|
|
setOrganizationTypeModel( buildOrganizationTypeModel() );
|
|
}
|
|
return organizationTypeModel;
|
|
}
|
|
|
|
/* public List getSelectedMemberTypes()
|
|
{
|
|
return selectedMemberTypes;
|
|
}
|
|
|
|
public void setSelectedMemberTypes(List selectedMemberTypes)
|
|
{
|
|
this.selectedMemberTypes = selectedMemberTypes;
|
|
}
|
|
*/
|
|
//helpers
|
|
//tapestry listeners
|
|
public void processForm(IRequestCycle cycle)
|
|
{
|
|
Visit visit = (Visit) getVisit();
|
|
Member member = (Member) visit.getMember();
|
|
if ( member instanceof Person )
|
|
{
|
|
try
|
|
{
|
|
Person person = (Person) member;
|
|
|
|
//don't move this line!
|
|
List flatDataIds = person.getPersonData().getPersonTypeIdList();
|
|
|
|
Integer userId = visit.getThdlUser().getId() ;
|
|
person.getPersonData().setThdlUserId( userId );
|
|
person.getPersonData().save();
|
|
person.setPersonDataKey( member.getPersonData().getPrimaryKey() );
|
|
person.save();
|
|
|
|
Criteria crit = new Criteria();
|
|
crit.add( PersonPersonTypePeer.PERSON_DATA_ID, person.getPersonData().getId() );
|
|
List torqueObjects = PersonPersonTypePeer.doSelect( crit );
|
|
|
|
Integer memberDataId = person.getPersonData().getId();
|
|
|
|
PersonPersonType template = new PersonPersonType();
|
|
|
|
PaletteMergeTableProcessor.processPalette( flatDataIds, torqueObjects, memberDataId, template );
|
|
}
|
|
catch ( RosterMemberTypeException rmte )
|
|
{
|
|
throw new ApplicationRuntimeException( rmte );
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
throw new ApplicationRuntimeException( e );
|
|
}
|
|
}
|
|
if ( member instanceof Organization )
|
|
{
|
|
try
|
|
{
|
|
Organization organization = (Organization) member;
|
|
|
|
//don't move this line!
|
|
List flatDataIds = organization.getOrganizationData().getOrganizationTypeIdList();
|
|
|
|
organization.getOrganizationData().save();
|
|
organization.setOrganizationDataKey( member.getOrganizationData().getPrimaryKey() );
|
|
organization.save();
|
|
|
|
Criteria crit = new Criteria();
|
|
crit.add( OrganizationOrganizationTypePeer.ORGANIZATION_DATA_ID, organization.getOrganizationData().getId() );
|
|
List torqueObjects = OrganizationOrganizationTypePeer.doSelect( crit );
|
|
Integer memberDataId = organization.getOrganizationData().getId();
|
|
OrganizationOrganizationType template = new OrganizationOrganizationType();
|
|
PaletteMergeTableProcessor.processPalette( flatDataIds, torqueObjects, memberDataId, template );
|
|
}
|
|
catch ( RosterMemberTypeException rmte )
|
|
{
|
|
throw new ApplicationRuntimeException( rmte );
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
throw new ApplicationRuntimeException( e );
|
|
}
|
|
}
|
|
if ( member instanceof Project )
|
|
{
|
|
try
|
|
{
|
|
Project project = (Project) member;
|
|
|
|
//don't move this line!
|
|
List flatDataIds = project.getProjectData().getProjectTypeIdList();
|
|
|
|
project.getProjectData().save();
|
|
project.setProjectDataKey( member.getProjectData().getPrimaryKey() );
|
|
project.save();
|
|
|
|
Criteria crit = new Criteria();
|
|
crit.add( ProjectProjectTypePeer.PROJECT_DATA_ID, project.getProjectData().getId() );
|
|
List torqueObjects = ProjectProjectTypePeer.doSelect( crit );
|
|
Integer memberDataId = project.getProjectData().getId();
|
|
ProjectProjectType template = new ProjectProjectType();
|
|
PaletteMergeTableProcessor.processPalette( flatDataIds, torqueObjects, memberDataId, template );
|
|
}
|
|
catch ( RosterMemberTypeException rmte )
|
|
{
|
|
throw new ApplicationRuntimeException( rmte );
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
throw new ApplicationRuntimeException( e );
|
|
}
|
|
}
|
|
}
|
|
|
|
public IPropertySelectionModel buildPersonTypeModel()
|
|
{
|
|
try
|
|
{
|
|
EntitySelectionModel personTypeModel = new EntitySelectionModel();
|
|
Criteria crit = new Criteria();
|
|
crit.addAscendingOrderByColumn( PersonTypePeer.PERSON_TYPE );
|
|
LinkedList list = new LinkedList( PersonTypePeer.doSelect( crit ) );
|
|
PersonType personType;
|
|
ListIterator looper = list.listIterator( 0 );
|
|
while ( looper.hasNext() )
|
|
{
|
|
personType = (PersonType) looper.next();
|
|
personTypeModel.add( personType.getId(), personType.getPersonType() );
|
|
}
|
|
return personTypeModel;
|
|
}
|
|
catch (TorqueException te) {
|
|
throw new ApplicationRuntimeException( "Torque Exception says: " + te.getMessage(), te );
|
|
}
|
|
}
|
|
public IPropertySelectionModel buildProjectTypeModel()
|
|
{
|
|
try
|
|
{
|
|
EntitySelectionModel projectTypeModel = new EntitySelectionModel();
|
|
Criteria crit = new Criteria();
|
|
crit.addAscendingOrderByColumn( ProjectTypePeer.PROJECT_TYPE );
|
|
LinkedList list = new LinkedList( ProjectTypePeer.doSelect( crit ) );
|
|
ProjectType projectType;
|
|
ListIterator looper = list.listIterator( 0 );
|
|
while ( looper.hasNext() )
|
|
{
|
|
projectType = (ProjectType) looper.next();
|
|
projectTypeModel.add( projectType.getId(), projectType.getProjectType() );
|
|
}
|
|
return projectTypeModel;
|
|
}
|
|
catch (TorqueException te) {
|
|
throw new ApplicationRuntimeException( "Torque Exception says: " + te.getMessage(), te );
|
|
}
|
|
}
|
|
public IPropertySelectionModel buildOrganizationTypeModel()
|
|
{
|
|
try
|
|
{
|
|
EntitySelectionModel organizationTypeModel = new EntitySelectionModel();
|
|
Criteria crit = new Criteria();
|
|
crit.addAscendingOrderByColumn( OrganizationTypePeer.ORGANIZATION_TYPE );
|
|
LinkedList list = new LinkedList( OrganizationTypePeer.doSelect( crit ) );
|
|
OrganizationType organizationType;
|
|
ListIterator looper = list.listIterator( 0 );
|
|
while ( looper.hasNext() )
|
|
{
|
|
organizationType = (OrganizationType) looper.next();
|
|
organizationTypeModel.add( organizationType.getId(), organizationType.getOrganizationType() );
|
|
}
|
|
return organizationTypeModel;
|
|
}
|
|
catch (TorqueException te) {
|
|
throw new ApplicationRuntimeException( "Torque Exception says: " + te.getMessage(), te );
|
|
}
|
|
}
|
|
public void detach()
|
|
{
|
|
setNextPage( "Activities" );
|
|
super.detach();
|
|
}
|
|
|
|
//constructors
|
|
public MemberData()
|
|
{
|
|
try
|
|
{
|
|
if ( !Torque.isInit() )
|
|
{
|
|
Global global = (Global) getGlobal();
|
|
Torque.init( global.getTorqueConfig() );
|
|
}
|
|
}
|
|
catch ( TorqueException te )
|
|
{
|
|
throw new ApplicationRuntimeException( "Torque Exception says: " + te.getMessage(), te );
|
|
}
|
|
setNextPage( "Activities" );
|
|
}
|
|
|
|
} |