import java.util.List;
import java.util.Map;
-import org.splat.kernel.InvalidPropertyException;
import org.splat.dal.bo.kernel.User;
import org.splat.dal.bo.som.ProgressState;
-import org.splat.service.SearchService;
-import org.splat.service.SimulationContextService;
-import org.splat.service.UserService;
-import org.splat.service.technical.ProjectSettingsService;
import org.splat.dal.bo.som.SimulationContext;
import org.splat.dal.bo.som.SimulationContextType;
import org.splat.dal.bo.som.Study;
import org.splat.dal.bo.som.Visibility;
+import org.splat.kernel.InvalidPropertyException;
+import org.splat.service.SearchService;
+import org.splat.service.SimulationContextService;
+import org.splat.service.UserService;
+import org.splat.service.technical.ProjectSettingsService;
/**
* Search studies form action.
- *
- * @author <a href="mailto:roman.kozlov@opencascade.com">Roman Kozlov (RKV)</a>
*/
-public class SearchStudyAction extends SearchBaseAction {
-
- private String visibility = null; // "Private", "Public", "All"
- private String state = null; // "In-Work", "In-Draft", "In-Check"...
- private String matchamong = null; // "all" or "any"
- private String matcontext = null; // "all" or "any"
- private String refid = null; // Study reference
- private String words = null; // Full text search words
+public class SearchStudyAction extends AbstractSearchBaseAction {
+
+ /**
+ * "Private", "Public", "All".
+ */
+ private String _visibility = null;
+ /**
+ * "In-Work", "In-Draft", "In-Check"...
+ */
+ private String _state = null;
+ /**
+ * Criteria match: "all" or "any".
+ */
+ private String _criteriaMatch = null;
+ /**
+ * Simulation context match: "all" or "any".
+ */
+ private String _contextMatch = null;
+ /**
+ * Study reference.
+ */
+ private String _reference = null;
+ /**
+ * Full text search words.
+ */
+ private String _words = null;
/**
* Injected project settings service.
*/
- private ProjectSettingsService _projectSettingsService;
+ private ProjectSettingsService _projectSettings;
/**
* Injected search service.
*/
* @return SUCCESS if no exception, otherwise return ERROR
*/
public String doInitialize() {
+ String res = SUCCESS;
try {
loadFilter();
doSearch();
setToolProperty("none");
setLeftMenuProperty("open");
initializationFullScreenContext(_menuProperty, _toolProperty, _leftMenuProperty);
-
- return SUCCESS;
} catch (Exception error) {
// No need to roll back the transaction as it is read only
LOG.error("Reason: ", error);
setMenuProperty("none");
initializationScreenContext(_menuProperty);
- return ERROR;
+ res = ERROR;
}
+ return res;
}
+ /**
+ * {@inheritDoc}
+ * @see org.splat.simer.AbstractSearchBaseAction#doSearch()
+ */
+ @Override
protected String doSearch() throws InvalidPropertyException {
- // ----------------------------
Map<String, Object> session = getSession();
- User user = getConnectedUser();
-
Study.Properties sprop = new Study.Properties();
// Search matching all criteria
- if (!this.state.equals("ANY"))
- sprop.setState(ProgressState.valueOf(this.state));
- if (words.length() > 0)
- sprop.setTitle(words);
- if (refid.length() > 0)
- sprop.setReference(refid);
- if (context.size() > 0)
- sprop.setSimulationContexts(context);
- int index = Integer.valueOf(author);
+ if (!this._state.equals("ANY")) {
+ sprop.setState(ProgressState.valueOf(this._state));
+ }
+ if (_words.length() > 0) {
+ sprop.setTitle(_words);
+ }
+ if (_reference.length() > 0) {
+ sprop.setReference(_reference);
+ }
+ if (_context.size() > 0) {
+ sprop.setSimulationContexts(_context);
+ }
+ int index = Integer.valueOf(_author);
if (index > 0) {
User him = getUserService().selectUser(index);
sprop.setManager(him);
}
// Set of the visibility
- if (visibility.equals("all")) {
+ if ("all".equals(_visibility)) {
Study.Properties other = sprop.copy();
other.setVisibility(Visibility.PUBLIC);
sprop.setVisibility(Visibility.PRIVATE);
- sprop.setActor(user);
+ sprop.setActor(getConnectedUser());
- result = getSearchService().selectStudiesWhere(sprop, other);
+ _result = getSearchService().selectStudiesWhere(sprop, other);
} else {
Visibility reparea = null;
- if (visibility.equals("onlypublic"))
+ if ("onlypublic".equals(_visibility)) {
reparea = Visibility.PUBLIC;
- else
- reparea = Visibility.valueOf(visibility);
+ } else {
+ reparea = Visibility.valueOf(_visibility);
+ }
sprop.setVisibility(reparea);
- if (reparea == Visibility.PRIVATE)
- sprop.setActor(user);
+ if (reparea == Visibility.PRIVATE) {
+ sprop.setActor(getConnectedUser());
+ }
- result = getSearchService().selectStudiesWhere(sprop);
+ _result = getSearchService().selectStudiesWhere(sprop);
}
- session.put("search.result", result); // For redisplaying the page without re-executing the search
+ session.put(RESULT_KEY, _result); // For redisplaying the page without re-executing the search
return "refresh";
}
// ==============================================================================================================================
public String getContextMatch() {
- // --------------------------------
- return matcontext;
+ return _contextMatch;
}
public String getCriteriaMatch() {
- // ---------------------------------
- return matchamong;
+ return _criteriaMatch;
}
public String getReference() {
- // -----------------------------
- return refid;
+ return _reference;
}
public String getState() {
- // -------------------------
- return state;
+ return _state;
}
public String getVisibility() {
- // ------------------------------
- return visibility;
+ return _visibility;
}
public String getWords() {
- // -------------------------
- return words;
+ return _words;
}
// ==============================================================================================================================
// Setters
// ==============================================================================================================================
- public void setContextMatch(String value) {
- // ------------------------------------------
- this.matcontext = value;
+ public void setContextMatch(final String value) {
+ this._contextMatch = value;
}
- public void setCriteriaMatch(String value) {
- // -------------------------------------------
- this.matchamong = value;
+ public void setCriteriaMatch(final String value) {
+ this._criteriaMatch = value;
}
- public void setReference(String value) {
- // ---------------------------------------
- this.refid = value;
+ public void setReference(final String value) {
+ this._reference = value;
}
- public void setState(String value) {
- // -----------------------------------
- this.state = value;
+ public void setState(final String value) {
+ this._state = value;
}
- public void setVisibility(String value) {
- // ----------------------------------------
- this.visibility = value;
+ public void setVisibility(final String value) {
+ this._visibility = value;
}
- public void setWords(String value) {
- // -----------------------------------
- this.words = value;
+ public void setWords(final String value) {
+ this._words = value;
}
// ==============================================================================================================================
// Implementation of abstract services
// ==============================================================================================================================
+ @Override
protected List<SimulationContextType> getInvolvedContexts() {
- // ------------------------------------------------------------
List<ProjectSettingsService.Step> steps = getProjectSettings()
.getStepsOf(Study.class);
ProjectSettingsService.Step[] number = steps
return getSimulationContextService().selectTypesOf(number);
}
+ @Override
@SuppressWarnings("unchecked")
protected void loadFilter() {
- // ----------------------------
Map<String, Object> session = getSession();
User user = getConnectedUser();
Map<String, Object> filter = (Map<String, Object>) session
.get("study.filter"); // A default filter is supposed being set at start
- visibility = (String) filter.get("visibility");
- matchamong = (String) filter.get("matchamong");
- matcontext = (String) filter.get("matcontext");
- state = (String) filter.get("state");
- author = (String) filter.get("author");
- refid = (String) filter.get("reference");
- words = (String) filter.get("title");
- context = (List<SimulationContext>) filter.get("context");
+ _visibility = (String) filter.get("visibility");
+ _criteriaMatch = (String) filter.get("matchamong");
+ _contextMatch = (String) filter.get("matcontext");
+ _state = (String) filter.get("state");
+ _author = (String) filter.get("author");
+ _reference = (String) filter.get("reference");
+ _words = (String) filter.get("title");
+ _context = (List<SimulationContext>) filter.get("context");
if (user == null) {
- visibility = "onlypublic";
+ _visibility = "onlypublic";
}
}
+ @Override
@SuppressWarnings("unchecked")
protected void saveFilter() {
- // ----------------------------
Map<String, Object> session = getSession();
Map<String, Object> filter = (Map<String, Object>) session
.get("study.filter"); // A default filter is supposed being set at start
- filter.put("visibility", this.visibility);
- filter.put("matchamong", this.matchamong);
- filter.put("matcontext", this.matcontext);
- filter.put("state", this.state);
- filter.put("author", this.author);
- filter.put("reference", this.refid);
- filter.put("title", this.words);
+ filter.put("visibility", this._visibility);
+ filter.put("matchamong", this._criteriaMatch);
+ filter.put("matcontext", this._contextMatch);
+ filter.put("state", this._state);
+ filter.put("author", this._author);
+ filter.put("reference", this._reference);
+ filter.put("title", this._words);
- context = (List<SimulationContext>) filter.get("context"); // Only criteria not part of the form
+ _context = (List<SimulationContext>) filter.get("context"); // Only criteria not part of the form
}
* @param searchService
* the searchService to set
*/
- public void setSearchService(SearchService searchService) {
+ public void setSearchService(final SearchService searchService) {
_searchService = searchService;
}
* @return Project settings service
*/
private ProjectSettingsService getProjectSettings() {
- return _projectSettingsService;
+ return _projectSettings;
}
/**
* @param projectSettingsService
* project settings service
*/
- public void setProjectSettings(ProjectSettingsService projectSettingsService) {
- _projectSettingsService = projectSettingsService;
+ public void setProjectSettings(final ProjectSettingsService projectSettingsService) {
+ _projectSettings = projectSettingsService;
}
/**
*
* @return the simulationContextService
*/
+ @Override
public SimulationContextService getSimulationContextService() {
return _simulationContextService;
}
* @param simulationContextService
* the simulationContextService to set
*/
+ @Override
public void setSimulationContextService(
- SimulationContextService simulationContextService) {
+ final SimulationContextService simulationContextService) {
_simulationContextService = simulationContextService;
}
*
* @return the userService
*/
+ @Override
public UserService getUserService() {
return _userService;
}
* @param userService
* the userService to set
*/
- public void setUserService(UserService userService) {
+ @Override
+ public void setUserService(final UserService userService) {
_userService = userService;
}
* Set the menuProperty.
* @param menuProperty the menuProperty to set
*/
- public void setMenuProperty(String menuProperty) {
+ public void setMenuProperty(final String menuProperty) {
this._menuProperty = menuProperty;
}