Skip to content

Commit

Permalink
index user on create, index groups with root dataverse #3800
Browse files Browse the repository at this point in the history
  • Loading branch information
pdurbin committed Apr 8, 2014
1 parent 74b6c0a commit 136da87
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 12 deletions.
3 changes: 1 addition & 2 deletions scripts/database/fedora/rebuild-and-test
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ GLASSFISH_HOME=$HOME/tools/devguide-gf4/glassfish4
ASADMIN=$GLASSFISH_HOME/glassfish/bin/asadmin
$ASADMIN stop-domain
psql -U postgres -c 'DROP DATABASE "dvnDb"'
scripts/search/clear
psql -U postgres -c 'CREATE DATABASE "dvnDb" WITH OWNER = "dvnApp"'
mvn package
$ASADMIN start-domain
Expand All @@ -15,7 +16,5 @@ cd scripts/api
./setup-users.sh
./setup-dvs.sh
cd ../..
# FIXME: obviate need for "index all" https://redmine.hmdc.harvard.edu/issues/3800
curl -s http://localhost:8080/api/index
scripts/search/tests/permissions
scripts/search/tests/delete-dataverse
2 changes: 0 additions & 2 deletions scripts/database/homebrew/rebuild-and-test
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,5 @@ mvn package
cp target/dataverse-4.0.war /Applications/NetBeans/glassfish4/glassfish/domains/domain1/autodeploy
sleep 15
scripts/database/homebrew/run-post-create-post-deploy
# FIXME: obviate need for "index all" https://redmine.hmdc.harvard.edu/issues/3800
curl -s http://localhost:8080/api/index
scripts/search/tests/permissions
scripts/search/tests/delete-dataverse
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
package edu.harvard.iq.dataverse;

import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.inject.Named;
import javax.persistence.EntityManager;
Expand All @@ -19,7 +22,11 @@
@Stateless
@Named
public class DataverseUserServiceBean {


private static final Logger logger = Logger.getLogger(DataverseUserServiceBean.class.getCanonicalName());

@EJB IndexServiceBean indexService;

@PersistenceContext(unitName = "VDCNet-ejbPU")
private EntityManager em;

Expand All @@ -30,7 +37,11 @@ public String encryptPassword(String plainText) {
}

public DataverseUser save(DataverseUser dataverseUser) {
return em.merge(dataverseUser);
DataverseUser savedUser = em.merge(dataverseUser);
em.flush();
String indexingResult = indexService.indexUser(savedUser);
logger.info("during user save, indexing results was: " + indexingResult);
return savedUser;
}

public DataverseUser findGuestUser() {
Expand Down
22 changes: 16 additions & 6 deletions src/main/java/edu/harvard/iq/dataverse/IndexServiceBean.java
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ public String indexAll() {
int groupIndexCount = 0;
for (Map.Entry<Long, String> group : groups.entrySet()) {
groupIndexCount++;
logger.info("indexing group " + datasetIndexCount + " of " + groups.size() + ": " + indexGroup(group));
logger.info("indexing group " + groupIndexCount + " of " + groups.size() + ": " + indexGroup(group));
}

int userIndexCount = 0;
Expand All @@ -108,7 +108,21 @@ public String indexAll() {
public String indexDataverse(Dataverse dataverse) {
Dataverse rootDataverse = dataverseService.findRootDataverse();
if (dataverse.getId() == rootDataverse.getId()) {
return "The root dataverse shoud not be indexed, returning early.";
/**
* @todo: replace hard-coded groups with real groups
*/
Map<Long, String> groups = new HashMap<>();
groups.put(publicGroupId, publicGroupString);
groups.put(tmpNsaGroupId, "nsa");
groups.put(tmpNsaGroupId + 1, "flappybird");
groups.put(tmpNsaGroupId + 2, "2048");

int groupIndexCount = 0;
for (Map.Entry<Long, String> group : groups.entrySet()) {
groupIndexCount++;
logger.info("indexing group " + groupIndexCount + " of " + groups.size() + ": " + indexGroup(group));
}
return "The root dataverse shoud not be indexed. Indexed temporary groups instead.";
}
Collection<SolrInputDocument> docs = new ArrayList<>();
SolrInputDocument solrInputDocument = new SolrInputDocument();
Expand Down Expand Up @@ -607,10 +621,6 @@ public String indexGroup(Map.Entry<Long, String> group) {
return "indexed group " + group;
}

/**
* @todo: call this when users are created (and added?) what if users are
* deleted? Can users be deleted??
*/
public String indexUser(DataverseUser user) {

Collection<SolrInputDocument> docs = new ArrayList<>();
Expand Down

0 comments on commit 136da87

Please sign in to comment.