Skip to content

Commit

Permalink
Merge c33fe1b into 56a3474
Browse files Browse the repository at this point in the history
  • Loading branch information
kaladay committed Sep 26, 2018
2 parents 56a3474 + c33fe1b commit 774ad44
Show file tree
Hide file tree
Showing 79 changed files with 1,379 additions and 1,236 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,18 @@
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import edu.tamu.sage.model.SolrReader;
import edu.tamu.sage.model.repo.SolrReaderRepo;
import edu.tamu.sage.model.Reader;
import edu.tamu.sage.model.repo.ReaderRepo;
import edu.tamu.weaver.response.ApiResponse;
import edu.tamu.weaver.validation.aspect.annotation.WeaverValidatedModel;
import edu.tamu.weaver.validation.aspect.annotation.WeaverValidation;

@RestController
@RequestMapping("/reader/solr")
public class SolrReaderController {
public class ReaderController {

@Autowired
private SolrReaderRepo solrReaderRepo;
private ReaderRepo solrReaderRepo;

private Logger logger = LoggerFactory.getLogger(this.getClass());

Expand All @@ -40,24 +40,24 @@ public ApiResponse getAll() {
@RequestMapping(method = RequestMethod.POST)
@PreAuthorize("hasRole('USER')")
@WeaverValidation(business = { @WeaverValidation.Business(value = CREATE) })
public ApiResponse createSolrReader(@WeaverValidatedModel SolrReader solrReader) {
logger.info("Creating SolrReader: " + solrReader.getName());
public ApiResponse createReader(@WeaverValidatedModel Reader solrReader) {
logger.info("Creating Reader: " + solrReader.getName());
return new ApiResponse(SUCCESS, solrReaderRepo.create(solrReader));
}

@RequestMapping(method = RequestMethod.PUT)
@PreAuthorize("hasRole('USER')")
@WeaverValidation(business = { @WeaverValidation.Business(value = UPDATE) })
public ApiResponse updateSolrReader(@WeaverValidatedModel SolrReader solrReader) {
logger.info("Updating SolrReader: " + solrReader.getName());
public ApiResponse updateReader(@WeaverValidatedModel Reader solrReader) {
logger.info("Updating Reader: " + solrReader.getName());
return new ApiResponse(SUCCESS, solrReaderRepo.update(solrReader));
}

@RequestMapping(method = RequestMethod.DELETE)
@PreAuthorize("hasRole('USER')")
@WeaverValidation(business = { @WeaverValidation.Business(value = DELETE) })
public ApiResponse deleteSolrReader(@WeaverValidatedModel SolrReader solrReader) {
logger.info("Deleting SolrReader: " + solrReader.getName());
public ApiResponse deleteReader(@WeaverValidatedModel Reader solrReader) {
logger.info("Deleting Reader: " + solrReader.getName());
solrReaderRepo.delete(solrReader);
return new ApiResponse(SUCCESS);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,21 +27,21 @@
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import edu.tamu.sage.model.SolrCore;
import edu.tamu.sage.model.Source;
import edu.tamu.sage.model.User;
import edu.tamu.sage.model.repo.SolrCoreRepo;
import edu.tamu.sage.model.repo.SourceRepo;
import edu.tamu.sage.service.SimpleProcessorService;
import edu.tamu.weaver.auth.annotation.WeaverUser;
import edu.tamu.weaver.response.ApiResponse;
import edu.tamu.weaver.validation.aspect.annotation.WeaverValidatedModel;
import edu.tamu.weaver.validation.aspect.annotation.WeaverValidation;

@RestController
@RequestMapping("/core/solr")
public class SolrCoreController {
@RequestMapping("/source/solr")
public class SourceController {

@Autowired
private SolrCoreRepo solrCoreRepo;
private SourceRepo sourceRepo;

@Autowired
private SimpleProcessorService processorService;
Expand All @@ -50,10 +50,10 @@ public class SolrCoreController {

@RequestMapping("/test/location")
@PreAuthorize("hasRole('ANONYMOUS')")
public ApiResponse testSolrCoreLocation(@WeaverValidatedModel SolrCore solrCore) throws IOException {
logger.info("Testing SolrCore location: " + solrCore.getName());
public ApiResponse testSolrCoreLocation(@WeaverValidatedModel Source source) throws IOException {
logger.info("Testing Source location: " + source.getName());

SolrClient solr = new HttpSolrClient(solrCore.getUri());
SolrClient solr = new HttpSolrClient(source.getUri());

ApiResponse response = new ApiResponse(SUCCESS);

Expand All @@ -66,77 +66,77 @@ public ApiResponse testSolrCoreLocation(@WeaverValidatedModel SolrCore solrCore)

Map<String, FieldInfo> fieldInfoMap = lukeResponse.getFieldInfo();


SolrQuery query = new SolrQuery();
query.set("q", "*");

for (Entry<String, FieldInfo> entry : fieldInfoMap.entrySet()) {
String fieldName = entry.getKey();
//FieldInfo fieldInfo = entry.getValue();
query.addFilterQuery(fieldName+":*");
query.setFacet(true);
query.addFacetField(fieldName);
query.addFacetField(fieldName);
}


System.out.println(query);
QueryResponse queryResponse = solr.query(query);


//List<FacetField> facetFields = queryResponse.getFacetFields();
FacetField cnameMainFacetField = queryResponse.getFacetField("name");
for (Count cnameAndCount : cnameMainFacetField.getValues()) {
String cnameMain = cnameAndCount.getName();
System.out.println(cnameMain);
System.out.println(cnameAndCount.getCount());
}

} catch (Exception e) {
e.getMessage();
e.printStackTrace();
response = new ApiResponse(ERROR, "Error connecting with " + solrCore.getName() + " at URL " + solrCore.getUri());
response = new ApiResponse(ERROR, "Error connecting with " + source.getName() + " at URL " + source.getUri());
} finally {
solr.close();
}


return response;
}

@RequestMapping("/test/authorization")
@PreAuthorize("hasRole('ANONYMOUS')")
public ApiResponse testSolrCoreAuthorization(@WeaverValidatedModel SolrCore solrCore) {
public ApiResponse testSolrCoreAuthorization(@WeaverValidatedModel Source source) {
return new ApiResponse(SUCCESS);
}

@RequestMapping(method = RequestMethod.GET)
@PreAuthorize("hasRole('ANONYMOUS')")
public ApiResponse getAll(@WeaverUser User user) {
return new ApiResponse(SUCCESS, solrCoreRepo.findAll());
return new ApiResponse(SUCCESS, sourceRepo.findAll());
}

@RequestMapping(method = RequestMethod.POST)
@PreAuthorize("hasRole('USER')")
@WeaverValidation(business = { @WeaverValidation.Business(value = CREATE) })
public ApiResponse createSolrCore(@WeaverValidatedModel SolrCore solrCore) {
logger.info("Creating SolrCore: " + solrCore.getName());
return new ApiResponse(SUCCESS, solrCoreRepo.create(solrCore));
public ApiResponse createSolrCore(@WeaverValidatedModel Source source) {
logger.info("Creating Source: " + source.getName());
return new ApiResponse(SUCCESS, sourceRepo.create(source));
}

@RequestMapping(method = RequestMethod.PUT)
@PreAuthorize("hasRole('USER')")
@WeaverValidation(business = { @WeaverValidation.Business(value = UPDATE) })
public ApiResponse updateSolrCore(@WeaverValidatedModel SolrCore solrCore) {
logger.info("Updating SolrCore: " + solrCore.getName());
return new ApiResponse(SUCCESS, solrCoreRepo.update(solrCore));
public ApiResponse updateSolrCore(@WeaverValidatedModel Source source) {
logger.info("Updating Source: " + source.getName());
return new ApiResponse(SUCCESS, sourceRepo.update(source));
}

@RequestMapping(method = RequestMethod.DELETE)
@PreAuthorize("hasRole('USER')")
@WeaverValidation(business = { @WeaverValidation.Business(value = DELETE) })
public ApiResponse deleteSolrCore(@WeaverValidatedModel SolrCore solrCore) {
logger.info("Deleting SolrCore: " + solrCore.getName());
solrCoreRepo.delete(solrCore);
public ApiResponse deleteSolrCore(@WeaverValidatedModel Source source) {
logger.info("Deleting Source: " + source.getName());
sourceRepo.delete(source);
return new ApiResponse(SUCCESS);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,18 @@
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import edu.tamu.sage.model.SolrWriter;
import edu.tamu.sage.model.repo.SolrWriterRepo;
import edu.tamu.sage.model.Writer;
import edu.tamu.sage.model.repo.WriterRepo;
import edu.tamu.weaver.response.ApiResponse;
import edu.tamu.weaver.validation.aspect.annotation.WeaverValidatedModel;
import edu.tamu.weaver.validation.aspect.annotation.WeaverValidation;

@RestController
@RequestMapping("/writer/solr")
public class SolrWriterController {
public class WriterController {

@Autowired
private SolrWriterRepo solrWriterRepo;
private WriterRepo solrWriterRepo;

private Logger logger = LoggerFactory.getLogger(this.getClass());

Expand All @@ -37,24 +37,24 @@ public ApiResponse getAll() {
@RequestMapping(method = RequestMethod.POST)
@PreAuthorize("hasRole('USER')")
@WeaverValidation(business = { @WeaverValidation.Business(value = CREATE) })
public ApiResponse createSolrWriter(@WeaverValidatedModel SolrWriter solrWriter) {
logger.info("Creating SolrWriter: " + solrWriter.getName());
public ApiResponse createWriter(@WeaverValidatedModel Writer solrWriter) {
logger.info("Creating Writer: " + solrWriter.getName());
return new ApiResponse(SUCCESS, solrWriterRepo.create(solrWriter));
}

@RequestMapping(method = RequestMethod.PUT)
@PreAuthorize("hasRole('USER')")
@WeaverValidation(business = { @WeaverValidation.Business(value = UPDATE) })
public ApiResponse updateSolrWriter(@WeaverValidatedModel SolrWriter solrWriter) {
logger.info("Updating SolrWriter: " + solrWriter.getName());
public ApiResponse updateWriter(@WeaverValidatedModel Writer solrWriter) {
logger.info("Updating Writer: " + solrWriter.getName());
return new ApiResponse(SUCCESS, solrWriterRepo.update(solrWriter));
}

@RequestMapping(method = RequestMethod.DELETE)
@PreAuthorize("hasRole('USER')")
@WeaverValidation(business = { @WeaverValidation.Business(value = DELETE) })
public ApiResponse deleteSolrWriter(@WeaverValidatedModel SolrWriter solrWriter) {
logger.info("Deleting SolrWriter: " + solrWriter.getName());
public ApiResponse deleteWriter(@WeaverValidatedModel Writer solrWriter) {
logger.info("Deleting Writer: " + solrWriter.getName());
solrWriterRepo.delete(solrWriter);
return new ApiResponse(SUCCESS);
}
Expand Down
8 changes: 4 additions & 4 deletions src/main/java/edu/tamu/sage/model/Field.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@

@Entity
public class Field extends ValidatingBaseEntity {

@Column
private String name;

@Column
private String schemaMapping;

public Field() {}

public Field(String name, String schemaMapping) {
setName(name);
setSchemaMapping(schemaMapping);
Expand All @@ -35,5 +35,5 @@ public String getSchemaMapping() {

public void setSchemaMapping(String schemaMapping) {
this.schemaMapping = schemaMapping;
}
}
}
20 changes: 20 additions & 0 deletions src/main/java/edu/tamu/sage/model/Readable.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package edu.tamu.sage.model;

import java.util.List;

public interface Readable {

public String getName();
public void setName(String name);

public Source getSource();
public void setSource(Source source);

public List<Field> getFields();
public void setFields(List<Field> fields);
public void addField(Field field);
public void removeField(Field field);

public String getSortTitle();
public String getSortId();
}

0 comments on commit 774ad44

Please sign in to comment.