Refactoring and removing unused variables.
This commit is contained in:
parent
4b20838392
commit
dc445b8450
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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user