Refactoring and removing unused variables.

This commit is contained in:
Tom Vahlman 2012-03-24 21:33:35 +01:00
parent 4b20838392
commit dc445b8450
2 changed files with 68 additions and 82 deletions
src/main/java/se/su/dsv/scipro/supervisor/panels

@ -68,10 +68,8 @@ public abstract class SupervisorInterestPanel extends Panel {
//if (reason.getModelObject() != null && reason.getModelObject().length() > 4) {
//here we should save the reason for the interest in some table
//}
SupervisorInterest existingSupervisorInterest = projectIdeaModel.getObject().getSupervisorInterest();
List<Employee> existingEmployees = existingSupervisorInterest.getSupervisorInterest();
Employee employee = supervisorDao.getFrom(SciProSession.get().getUser());
if(existingEmployees.isEmpty() || !existingEmployees.contains(employee)) {
if(isInterestAlreadyAdded(projectIdeaModel.getObject(), employee)) {
SupervisorInterest supervisorInterest = new SupervisorInterest();
List<Employee> employeeList = new ArrayList<Employee>();
employeeList.add(employee);
@ -91,5 +89,10 @@ public abstract class SupervisorInterestPanel extends Panel {
reason.add(StringValidator.minimumLength(5));
wmc1.add(reason);
}
private boolean isInterestAlreadyAdded(ProjectIdea projectIdea, Employee employee ) {
List<Employee> existingEmployees = projectIdea.getSupervisorInterest().getSupervisorInterest();
return existingEmployees.isEmpty() || !existingEmployees.contains(employee);
}
}
}

@ -16,6 +16,7 @@ import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.navigation.paging.PagingNavigator;
import org.apache.wicket.markup.html.panel.EmptyPanel;
import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
@ -137,16 +138,10 @@ public class SupervisorUnmatchedThesisPanel extends Panel {
}
private void allDataViewSetup(final Label totalProjectIdeas, final WebMarkupContainer allContainer, final ProjectIdeaDataProvider allProvider,
final Label emptyLabel) {
private void allDataViewSetup(final Label totalProjectIdeas, final WebMarkupContainer allContainer, final ProjectIdeaDataProvider allProvider, final Label emptyLabel) {
final Dialog dialog = createDialog();
add(dialog);
//Add info for the user should there be no events to display.
allContainer.add(emptyLabel);
emptyLabel.setOutputMarkupId(true); //Needs to be AJAX-enabled.
add(dialog.setOutputMarkupId(true));
allContainer.add(emptyLabel.setOutputMarkupId(true));
final DataView<ProjectIdea> allDataView = new DataView<ProjectIdea>("allDataView", allProvider) {
private static final long serialVersionUID = 1533192070850862197L;
@ -180,7 +175,6 @@ public class SupervisorUnmatchedThesisPanel extends Panel {
}
}.add(new Label("title", new Model<String>(idea.getTitle()))).setEnabled(!isInterestAlreadyAdded(idea)));
item.add(new Label("author", new Model<String>(createAuthorString(idea))));
item.add(new Label("interestAdded", "Interest is added") {
private static final long serialVersionUID = 7583144096184196178L;
@ -210,10 +204,8 @@ public class SupervisorUnmatchedThesisPanel extends Panel {
}
private boolean isInterestAlreadyAdded(ProjectIdea projectIdea) {
SupervisorInterest existingSupervisorInterest = projectIdea.getSupervisorInterest();
List<Employee> existingEmployees = existingSupervisorInterest.getSupervisorInterest();
Employee employee = supervisorDao.getFrom(SciProSession.get().getUser());
return !existingEmployees.isEmpty() && existingEmployees.contains(employee);
List<Employee> existingEmployees = projectIdea.getSupervisorInterest().getSupervisorInterest();
return !existingEmployees.isEmpty() && existingEmployees.contains(supervisorDao.getFrom(SciProSession.get().getUser()));
}
private void addSortingLinks(final WebMarkupContainer allContainer, final Params params) {
@ -238,8 +230,7 @@ public class SupervisorUnmatchedThesisPanel extends Panel {
allContainer.add(sortLink);
}
AutoCompleteObjectField<Keyword, Long> createKeywordAC(final String wicketId, final KeywordTypeDao.TYPE keyWordType,
final List<Keyword> keywords, final Component feedBackPanel,
private AutoCompleteObjectField<Keyword, Long> createKeywordAC(final String wicketId, final KeywordTypeDao.TYPE keyWordType, final List<Keyword> keywords, final Component feedBackPanel,
final WebMarkupContainer keyWordsContainer, final AjaxCheckBox includeDeletedChbx) {
return new AutoCompleteObjectField<Keyword, Long>(wicketId, Keyword.class) {
private static final long serialVersionUID = 7734889540424308421L;
@ -314,16 +305,58 @@ public class SupervisorUnmatchedThesisPanel extends Panel {
private class FilterForm extends Form<Void> {
private static final long serialVersionUID = -3290826142955107010L;
public FilterForm(final Label totalProjectIdeas, final WebMarkupContainer allContainer, final ProjectIdeaDataProvider allProvider,
final Label emptyLabel, final Params params, final Component feedBackPanel) {
public FilterForm(final Label totalProjectIdeas, final WebMarkupContainer allContainer, final ProjectIdeaDataProvider allProvider, final Label emptyLabel, final Params params, final Component feedBackPanel) {
super("form");
final TextField<String> titleField = new TextField<String>("titleField", new Model<String>());
titleField.setOutputMarkupId(true);
final List<Keyword> keywords = new ArrayList<Keyword>();
final WebMarkupContainer keyWordsContainer = new WebMarkupContainer("keyWordsContainer");
keyWordsContainer.setOutputMarkupId(true);
final ListView<Keyword> keywordListView = new ListView<Keyword>("keywordList", new Model<ArrayList<Keyword>>()) {
final ListView<Keyword> keywordListView = createKeywordListView(keyWordsContainer, feedBackPanel);
keyWordsContainer.add(keywordListView.setOutputMarkupId(true));
add(keyWordsContainer.setOutputMarkupId(true));
final AjaxCheckBox includeDeletedChbx = new AjaxCheckBox("includeDeleted", new Model<Boolean>()) {
private static final long serialVersionUID = -1810576794268334574L;
@Override
protected void onUpdate(AjaxRequestTarget target) {
target.addComponent(this);
}
};
add(titleField.setOutputMarkupId(true));
add(createKeywordAC("regKeyWordAC", KeywordTypeDao.TYPE.REGULAR, keywords, feedBackPanel, keyWordsContainer, includeDeletedChbx).setOutputMarkupId(true));
add(createKeywordAC("unitKeyWordAC", KeywordTypeDao.TYPE.UNIT, keywords, feedBackPanel, keyWordsContainer, includeDeletedChbx).setOutputMarkupId(true));
add(createKeywordAC("areaKeyWordAC", KeywordTypeDao.TYPE.RESEARCH_AREA, keywords, feedBackPanel, keyWordsContainer, includeDeletedChbx).setOutputMarkupId(true));
final CustomDateTimeField dateFrom = new CustomDateTimeField("dateFrom", new Model<Date>(getDateSixMonthsAgo()));
final CustomDateTimeField dateTo = new CustomDateTimeField("dateTo", new Model<Date>(Calendar.getInstance().getTime()));
add(new WebMarkupContainer("container").add(dateFrom).add(dateTo));
final FilterFormProjectClassPanel projectClassPanel = new FilterFormProjectClassPanel("projectClassPanel", new ArrayList<ProjectClass>());
add(projectClassPanel.setOutputMarkupId(true));
add(includeDeletedChbx.setOutputMarkupId(true));
add(createFilterButton(params, titleField, projectClassPanel, keywords, emptyLabel, allContainer, allProvider, dateFrom, dateTo, totalProjectIdeas, feedBackPanel));
add(new AjaxButton("clearSearchTermsButton") {
private static final long serialVersionUID = 443680343329839590L;
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
@SuppressWarnings("unchecked") List<Keyword> keywordList = ((ListView) keyWordsContainer.get("keywordList")).getModelObject();
if(keywordList != null && !keywordList.isEmpty()) {
keywordList.clear();
}
titleField.setModelObject(null);
projectClassPanel.getSelectedprojectClasses().clear();
includeDeletedChbx.setDefaultModelObject(false);
target.addComponent(includeDeletedChbx);
target.addComponent(feedBackPanel);
target.addComponent(keyWordsContainer);
target.addComponent(titleField);
target.addComponent(projectClassPanel);
}
});
}
private ListView<Keyword> createKeywordListView(final WebMarkupContainer keyWordsContainer, final Component feedbackPanel) {
return new ListView<Keyword>("keywordList", new Model<ArrayList<Keyword>>()) {
private static final long serialVersionUID = 78442920410294688L;
@Override
@ -354,49 +387,19 @@ public class SupervisorUnmatchedThesisPanel extends Panel {
keywordList.remove(keyword);
}
target.addComponent(keyWordsContainer);
target.addComponent(feedBackPanel);
target.addComponent(feedbackPanel);
}
};
deleteKeyWordIcon.add(new JavascriptEventConfirmation("onclick", "Are you sure you want to delete the keyword " + keyword + "?"));
keywordListItem.add(deleteKeyWordIcon);
}
};
keywordListView.setOutputMarkupId(true);
keyWordsContainer.add(keywordListView);
add(keyWordsContainer);
}
final AjaxCheckBox includeDeletedChbx = new AjaxCheckBox("includeDeleted", new Model<Boolean>()) {
private static final long serialVersionUID = -1810576794268334574L;
@Override
protected void onUpdate(AjaxRequestTarget target) {
target.addComponent(this);
}
};
includeDeletedChbx.setOutputMarkupId(true);
final AutoCompleteObjectField<Keyword, Long> regKeyWordAc = createKeywordAC("regKeyWordAC", KeywordTypeDao.TYPE.REGULAR, keywords, feedBackPanel, keyWordsContainer, includeDeletedChbx);
final AutoCompleteObjectField<Keyword, Long> unitKeyWordAc = createKeywordAC("unitKeyWordAC", KeywordTypeDao.TYPE.UNIT, keywords, feedBackPanel, keyWordsContainer, includeDeletedChbx);
final AutoCompleteObjectField<Keyword, Long> areaKeyWordAc = createKeywordAC("areaKeyWordAC", KeywordTypeDao.TYPE.RESEARCH_AREA, keywords, feedBackPanel, keyWordsContainer, includeDeletedChbx);
regKeyWordAc.setOutputMarkupId(true);
unitKeyWordAc.setOutputMarkupId(true);
areaKeyWordAc.setOutputMarkupId(true);
final CustomDateTimeField dateFrom = new CustomDateTimeField("dateFrom", new Model<Date>(getDateSixMonthsAgo()));
final CustomDateTimeField dateTo = new CustomDateTimeField("dateTo", new Model<Date>(Calendar.getInstance().getTime()));
add(titleField);
add(regKeyWordAc);
add(unitKeyWordAc);
add(areaKeyWordAc);
WebMarkupContainer container = new WebMarkupContainer("container");
container.add(dateFrom);
container.add(dateTo);
add(container);
final FilterFormProjectClassPanel projectClassPanel = new FilterFormProjectClassPanel("projectClassPanel", new ArrayList<ProjectClass>());
projectClassPanel.setOutputMarkupId(true);
add(projectClassPanel);
add(includeDeletedChbx);
AjaxButton filterButton = new AjaxButton("filterButton", new Model<String>("Filter")) {
private AjaxButton createFilterButton(final Params params, final TextField<String> titleField, final FilterFormProjectClassPanel projectClassPanel,
final List<Keyword> keywords, final Label emptyLabel, final WebMarkupContainer allContainer, final ProjectIdeaDataProvider allProvider,
final CustomDateTimeField dateFrom, final CustomDateTimeField dateTo, final Label totalProjectIdeas, final Component feedBackPanel) {
return new AjaxButton("filterButton", new Model<String>("Filter")) {
private static final long serialVersionUID = 874722659774465502L;
@Override
@ -408,7 +411,7 @@ public class SupervisorUnmatchedThesisPanel extends Panel {
} else if(params.getProjectClasses() == null || params.getProjectClasses().size() == 0) {
addProjectClasses(params);
}
if(!keywords.isEmpty()) {
params.setKeywords(keywords); // there should always be a project class, we may otherwise get an NPE when we clear() in clearSearchTermsButton#onSubmit
for(Keyword keyword : keywords) {
@ -427,28 +430,8 @@ public class SupervisorUnmatchedThesisPanel extends Panel {
target.addComponent(feedBackPanel);
}
};
add(filterButton);
add(new AjaxButton("clearSearchTermsButton") {
private static final long serialVersionUID = 443680343329839590L;
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
@SuppressWarnings("unchecked") List<Keyword> keywordList = ((ListView) keyWordsContainer.get("keywordList")).getModelObject();
if(keywordList != null && !keywordList.isEmpty()) {
keywordList.clear();
}
titleField.setModelObject(null);
projectClassPanel.getSelectedprojectClasses().clear();
includeDeletedChbx.setDefaultModelObject(false);
target.addComponent(includeDeletedChbx);
target.addComponent(feedBackPanel);
target.addComponent(keyWordsContainer);
target.addComponent(titleField);
target.addComponent(projectClassPanel);
}
});
}
private void addProjectClasses(Params params) {
Collection<ProjectClass> projectClassCollection = new ArrayList<ProjectClass>();
ProjectClass projectClass = projectClassDao.getProjectClass(ProjectClass.BACHELOR);