Skip to content

Commit

Permalink
Fixed customizing category filter names
Browse files Browse the repository at this point in the history
  • Loading branch information
k-joseph committed Aug 3, 2015
1 parent ca90cda commit c865cdd
Show file tree
Hide file tree
Showing 14 changed files with 281 additions and 143 deletions.
Expand Up @@ -24,6 +24,7 @@
import org.openmrs.api.context.Context;
import org.openmrs.module.chartsearch.api.ChartSearchService;
import org.openmrs.module.chartsearch.cache.ChartSearchBookmark;
import org.openmrs.module.chartsearch.cache.ChartSearchCategoryDisplayName;
import org.openmrs.module.chartsearch.cache.ChartSearchHistory;
import org.openmrs.module.chartsearch.cache.ChartSearchNote;
import org.openmrs.module.chartsearch.cache.ChartSearchPreference;
Expand Down Expand Up @@ -467,20 +468,6 @@ public JSONObject saveOrUpdatePreferences(Boolean enableHistory, Boolean enableB
Boolean exists = false;
ChartSearchPreference preference = new ChartSearchPreference();

if (cats != null && cats.length != 0) {
for (int i = 0; i < cats.length; i++) {
String[] catUuidAndName = cats[i].split("<=>");
String uuid = catUuidAndName[0];
String name = catUuidAndName[1];
CategoryFilter cat = chartSearchService.getACategoryFilterByItsUuid(uuid);

if (StringUtils.isNotBlank(uuid) && StringUtils.isNotBlank(name) && cat != null) {
cat.setDisplayName(name);
chartSearchService.updateACategoryFilter(cat);
}
}
}

for (ChartSearchPreference pref : allPrefs) {
if (pref.getPreferenceOwner().getUserId().equals(Context.getAuthenticatedUser().getUserId())) {
exists = true;
Expand All @@ -504,9 +491,58 @@ public JSONObject saveOrUpdatePreferences(Boolean enableHistory, Boolean enableB
chartSearchService.saveANewChartSearchPreference(preference);
}

if (cats != null && cats.length != 0) {
for (int i = 0; i < cats.length; i++) {
String[] catUuidAndName = cats[i].split("<=>");
String uuid = catUuidAndName[0];
String displayName = catUuidAndName[1];
String name = catUuidAndName[2];
ChartSearchCategoryDisplayName catName = chartSearchService.getCategoryDisplayNameByUuid(uuid);
List<CategoryFilter> cfs = chartSearchService.getAllCategoryFilters();
CategoryFilter categoryFilter = null;

for (CategoryFilter cf : cfs) {
if (name.equals(cf.getCategoryName())) {
categoryFilter = cf;
}
}

if (StringUtils.isNotBlank(uuid) && StringUtils.isNotBlank(displayName)) {
if (catName != null && categoryDiplayNameDoesExist(displayName, name)) {
catName.setDisplayName(displayName);
chartSearchService.saveChartSearchCategoryDisplayName(catName);
} else {
ChartSearchCategoryDisplayName newName = new ChartSearchCategoryDisplayName();

newName.setDisplayName(displayName);
newName.setPreference(preference);
newName.setCategoryFilter(categoryFilter);

chartSearchService.saveChartSearchCategoryDisplayName(newName);
}
}
}
}

return GeneratingJson.generateRightMatchedPreferencesJSON();
}

private boolean categoryDiplayNameDoesExist(String displayName, String name) {
boolean exist = false;
List<ChartSearchCategoryDisplayName> allCatDNames = chartSearchService.getAllCategoryDisplayNames();

for (ChartSearchCategoryDisplayName name2 : allCatDNames) {
if (name2.getDisplayName().toLowerCase().equals(displayName.toLowerCase())
&& Context.getAuthenticatedUser().getUserId()
.equals(name2.getPreference().getPreferenceOwner().getUserId())
&& name.toLowerCase().equals(name2.getCategoryFilter().getCategoryName())) {
exist = true;
}
}

return exist;
}

public ChartSearchPreference fetchRightMatchedPreferences() {
return chartSearchService.getRightMatchedPreferences();
}
Expand Down
Expand Up @@ -34,6 +34,7 @@
import org.openmrs.api.context.Context;
import org.openmrs.module.chartsearch.api.ChartSearchService;
import org.openmrs.module.chartsearch.cache.ChartSearchBookmark;
import org.openmrs.module.chartsearch.cache.ChartSearchCategoryDisplayName;
import org.openmrs.module.chartsearch.cache.ChartSearchHistory;
import org.openmrs.module.chartsearch.cache.ChartSearchNote;
import org.openmrs.module.chartsearch.cache.ChartSearchPreference;
Expand Down Expand Up @@ -717,14 +718,28 @@ public static JSONObject generateRightMatchedPreferencesJSON() {

public static JSONArray generateAllCategoriesJSON() {
JSONArray jsonArray = new JSONArray();
List<ChartSearchCategoryDisplayName> allDisplayNames = chartSearchService.getAllCategoryDisplayNames();
List<CategoryFilter> allCats = chartSearchService.getAllCategoryFilters();

for (CategoryFilter cat : allCats) {
JSONObject json = new JSONObject();
String name = cat.getCategoryName();
String displayName = "";
String uuid = cat.getCategoryUuid();

json.put("name", cat.getCategoryName());
json.put("displayName", cat.getDisplayName());
json.put("uuid", cat.getCategoryUuid());
for (ChartSearchCategoryDisplayName catName : allDisplayNames) {

if (Context.getAuthenticatedUser().getUserId()
.equals(catName.getPreference().getPreferenceOwner().getUserId())
&& catName.getCategoryFilter().getCategoryName().equals(name)) {
displayName = catName.getDisplayName();
uuid = catName.getUuid();
}
}

json.put("name", name);
json.put("uuid", uuid);
json.put("displayName", displayName);

jsonArray.add(json);
}
Expand Down

This file was deleted.

Expand Up @@ -22,6 +22,7 @@
import org.openmrs.api.APIException;
import org.openmrs.api.OpenmrsService;
import org.openmrs.module.chartsearch.cache.ChartSearchBookmark;
import org.openmrs.module.chartsearch.cache.ChartSearchCategoryDisplayName;
import org.openmrs.module.chartsearch.cache.ChartSearchHistory;
import org.openmrs.module.chartsearch.cache.ChartSearchNote;
import org.openmrs.module.chartsearch.cache.ChartSearchPreference;
Expand Down Expand Up @@ -236,8 +237,6 @@ public interface ChartSearchService extends OpenmrsService {

/**
* Fetches all preferences of all the users that have set it up
*
* @return
*/
public List<ChartSearchPreference> getAllChartSearchPreferences();

Expand All @@ -246,4 +245,12 @@ public interface ChartSearchService extends OpenmrsService {
public ChartSearchPreference getChartSearchPreferenceOfAUser(Integer userId);

public ChartSearchPreference getRightMatchedPreferences();

public ChartSearchCategoryDisplayName getCategoryDisplayNameByUuid(String uuid);

public List<ChartSearchCategoryDisplayName> getAllCategoryDisplayNames();

public void saveChartSearchCategoryDisplayName(ChartSearchCategoryDisplayName displayName);

public void deleteChartSearchCategoryDisplayName(ChartSearchCategoryDisplayName displayName);
}
Expand Up @@ -18,6 +18,7 @@
import org.apache.solr.client.solrj.SolrServer;
import org.openmrs.module.chartsearch.api.ChartSearchService;
import org.openmrs.module.chartsearch.cache.ChartSearchBookmark;
import org.openmrs.module.chartsearch.cache.ChartSearchCategoryDisplayName;
import org.openmrs.module.chartsearch.cache.ChartSearchHistory;
import org.openmrs.module.chartsearch.cache.ChartSearchNote;
import org.openmrs.module.chartsearch.cache.ChartSearchPreference;
Expand Down Expand Up @@ -71,8 +72,16 @@ public void indexAllPatientData(Integer numberOfResults, SolrServer solrServer,
public ChartSearchPreference getChartSearchPreferenceByUuid(String uuid);

public ChartSearchPreference getChartSearchPreferenceOfAUser(Integer userId);

void updateChartSearchPreference(ChartSearchPreference pref);

public ChartSearchPreference getRightMatchedPreferences();

public ChartSearchCategoryDisplayName getCategoryDisplayNameByUuid(String uuid);

public List<ChartSearchCategoryDisplayName> getAllCategoryDisplayNames();

public void saveChartSearchCategoryDisplayName(ChartSearchCategoryDisplayName displayName);

public void deleteChartSearchCategoryDisplayName(ChartSearchCategoryDisplayName displayName);
}
Expand Up @@ -28,6 +28,7 @@
import org.openmrs.api.context.Context;
import org.openmrs.module.chartsearch.api.db.ChartSearchDAO;
import org.openmrs.module.chartsearch.cache.ChartSearchBookmark;
import org.openmrs.module.chartsearch.cache.ChartSearchCategoryDisplayName;
import org.openmrs.module.chartsearch.cache.ChartSearchHistory;
import org.openmrs.module.chartsearch.cache.ChartSearchNote;
import org.openmrs.module.chartsearch.cache.ChartSearchPreference;
Expand Down Expand Up @@ -333,4 +334,29 @@ public ChartSearchPreference getRightMatchedPreferences() {
return pref;
}

@Override
public ChartSearchCategoryDisplayName getCategoryDisplayNameByUuid(String uuid) {
ChartSearchCategoryDisplayName name = (ChartSearchCategoryDisplayName) sessionFactory.getCurrentSession()
.createQuery("from ChartSearchCategoryDisplayName n where n.uuid = :uuid").setParameter("uuid", uuid)
.uniqueResult();

return name;
}

@SuppressWarnings("unchecked")
@Override
public List<ChartSearchCategoryDisplayName> getAllCategoryDisplayNames() {
return sessionFactory.getCurrentSession().createCriteria(ChartSearchCategoryDisplayName.class).list();
}

@Override
public void saveChartSearchCategoryDisplayName(ChartSearchCategoryDisplayName displayName) {
sessionFactory.getCurrentSession().save(displayName);
}

@Override
public void deleteChartSearchCategoryDisplayName(ChartSearchCategoryDisplayName displayName) {
sessionFactory.getCurrentSession().delete(displayName);
}

}
Expand Up @@ -48,6 +48,7 @@
import org.openmrs.module.chartsearch.api.db.SynonymDAO;
import org.openmrs.module.chartsearch.api.db.SynonymGroupDAO;
import org.openmrs.module.chartsearch.cache.ChartSearchBookmark;
import org.openmrs.module.chartsearch.cache.ChartSearchCategoryDisplayName;
import org.openmrs.module.chartsearch.cache.ChartSearchHistory;
import org.openmrs.module.chartsearch.cache.ChartSearchNote;
import org.openmrs.module.chartsearch.cache.ChartSearchPreference;
Expand Down Expand Up @@ -552,4 +553,25 @@ public ChartSearchPreference getChartSearchPreference(Integer preferenceId) {
public ChartSearchPreference getRightMatchedPreferences() {
return dao.getRightMatchedPreferences();
}

@Override
public ChartSearchCategoryDisplayName getCategoryDisplayNameByUuid(String uuid) {
return dao.getCategoryDisplayNameByUuid(uuid);
}

@Override
public List<ChartSearchCategoryDisplayName> getAllCategoryDisplayNames() {
return dao.getAllCategoryDisplayNames();
}

@Override
public void saveChartSearchCategoryDisplayName(ChartSearchCategoryDisplayName displayName) {
dao.saveChartSearchCategoryDisplayName(displayName);

}

@Override
public void deleteChartSearchCategoryDisplayName(ChartSearchCategoryDisplayName displayName) {
dao.deleteChartSearchCategoryDisplayName(displayName);
}
}

0 comments on commit c865cdd

Please sign in to comment.