本文整理汇总了Java中org.apache.lucene.queryparser.classic.QueryParserBase类的典型用法代码示例。如果您正苦于以下问题:Java QueryParserBase类的具体用法?Java QueryParserBase怎么用?Java QueryParserBase使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
QueryParserBase类属于org.apache.lucene.queryparser.classic包,在下文中一共展示了QueryParserBase类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: getIdentityId
import org.apache.lucene.queryparser.classic.QueryParserBase; //导入依赖的package包/类
/**
* Returns the identity id.
*
* @param identity the identity
* @return the identity id
* @throws Exception the exception
*/
public long getIdentityId(Identity identity) throws Exception {
// Set up the "full text query"
final List<Long> results = handler.getIdResults(null, null,
Branch.ROOT, "identityCode:\""
+ QueryParserBase.escape(identity.getIdentityCode()) + "\"",
null, identity.getClass(), null, new int[1], manager);
if (results.isEmpty()) {
return -1L;
}
if (results.size() > 1) {
throw new Exception("Error: identity code returned more than one id: "
+ identity.getIdentityCode());
}
return results.get(0);
}
开发者ID:WestCoastInformatics,项目名称:UMLS-Terminology-Server,代码行数:27,代码来源:UmlsIdentityServiceJpa.java
示例2: getWorkflowConfig
import org.apache.lucene.queryparser.classic.QueryParserBase; //导入依赖的package包/类
@Override
public WorkflowConfig getWorkflowConfig(Project project, String type)
throws Exception {
Logger.getLogger(getClass())
.debug("Workflow Service - get project workflow config "
+ project.getId() + ", " + type);
final SearchHandler searchHandler = getSearchHandler(null);
final int[] totalCt = new int[1];
final List<WorkflowConfigJpa> results =
searchHandler.getQueryResults(null, null, "",
composeQuery(project, "") + " AND type:\""
+ QueryParserBase.escape(type) + "\"",
"", WorkflowConfigJpa.class, null, totalCt, manager);
if (results.size() == 0) {
return null;
} else if (results.size() == 1) {
return results.get(0);
} else {
throw new Exception(
"Unexpected number of workflow configs for project and type "
+ project.getId() + "," + type);
}
}
开发者ID:WestCoastInformatics,项目名称:UMLS-Terminology-Server,代码行数:27,代码来源:WorkflowServiceJpa.java
示例3: findAtomSubsetMembers
import org.apache.lucene.queryparser.classic.QueryParserBase; //导入依赖的package包/类
@SuppressWarnings({
"rawtypes", "unchecked"
})
@Override
public SubsetMemberList findAtomSubsetMembers(String subsetId,
String terminology, String version, String branch, String query,
PfsParameter pfs) throws Exception {
Logger.getLogger(getClass())
.debug("Content Service - find atom subset members " + subsetId + "/"
+ terminology + "/" + version + ", query=" + query);
// Prepare the query string
final StringBuilder finalQuery = new StringBuilder();
finalQuery.append(query == null ? "" : query);
if (subsetId != null && !subsetId.isEmpty()) {
if (finalQuery.length() > 0) {
finalQuery.append(" AND ");
}
finalQuery
.append("subsetTerminologyId:" + QueryParserBase.escape(subsetId));
}
final SearchHandler searchHandler = getSearchHandler(terminology);
final int[] totalCt = new int[1];
final SubsetMemberList list = new SubsetMemberListJpa();
list.setObjects((List) searchHandler.getQueryResults(terminology, version,
branch, finalQuery.toString(), "memberNameSort",
AtomSubsetMemberJpa.class, pfs, totalCt, manager));
list.setTotalCount(totalCt[0]);
return list;
}
开发者ID:WestCoastInformatics,项目名称:UMLS-Terminology-Server,代码行数:31,代码来源:ContentServiceJpa.java
示例4: findConceptSubsetMembers
import org.apache.lucene.queryparser.classic.QueryParserBase; //导入依赖的package包/类
@SuppressWarnings({
"unchecked", "rawtypes"
})
@Override
public SubsetMemberList findConceptSubsetMembers(String subsetId,
String terminology, String version, String branch, String query,
PfsParameter pfs) throws Exception {
Logger.getLogger(getClass())
.debug("Content Service - find concept subset members " + subsetId + "/"
+ terminology + "/" + version + ", query=" + query);
// Prepare the query string
final StringBuilder finalQuery = new StringBuilder();
finalQuery.append(query == null ? "" : query);
if (subsetId != null && !subsetId.isEmpty()) {
if (finalQuery.length() > 0) {
finalQuery.append(" AND ");
}
finalQuery
.append("subsetTerminologyId:" + QueryParserBase.escape(subsetId));
}
final SearchHandler searchHandler = getSearchHandler(terminology);
final int[] totalCt = new int[1];
final SubsetMemberList list = new SubsetMemberListJpa();
list.setObjects((List) searchHandler.getQueryResults(terminology, version,
branch, finalQuery.toString(), "memberNameSort",
ConceptSubsetMemberJpa.class, pfs, totalCt, manager));
list.setTotalCount(totalCt[0]);
return list;
}
开发者ID:WestCoastInformatics,项目名称:UMLS-Terminology-Server,代码行数:33,代码来源:ContentServiceJpa.java
示例5: findMappingsForComponentHelper
import org.apache.lucene.queryparser.classic.QueryParserBase; //导入依赖的package包/类
/**
* Find mappings for component helper.
*
* @param terminologyId the terminology id
* @param terminology the terminology
* @param version the version
* @param branch the branch
* @param query the query
* @param pfs the pfs
* @return the mapping list
* @throws Exception the exception
*/
@SuppressWarnings({
"unchecked", "rawtypes"
})
private MappingList findMappingsForComponentHelper(String terminologyId,
String terminology, String version, String branch, String query,
PfsParameter pfs) throws Exception {
if (terminologyId == null || terminologyId.isEmpty()) {
throw new Exception("Terminology id is required");
}
final MappingList results = new MappingListJpa();
// Prepare the query string
final StringBuilder finalQuery = new StringBuilder();
finalQuery.append(query == null ? "" : query);
if (!finalQuery.toString().isEmpty()) {
finalQuery.append(" AND ");
}
finalQuery.append("fromTerminologyId:"
+ QueryParserBase.escape(terminologyId) + " AND fromTerminology:"
+ terminology + " AND fromVersion:" + version);
final SearchHandler searchHandler = getSearchHandler(terminology);
final int[] totalCt = new int[1];
// pass empty terminology/version because it's handled above
results.setObjects((List) searchHandler.getQueryResults("", "", branch,
finalQuery.toString(), "fromNameSort", MappingJpa.class, pfs, totalCt,
manager));
results.setTotalCount(totalCt[0]);
for (final Mapping mapping : results.getObjects()) {
getGraphResolutionHandler(terminology).resolve(mapping);
}
return results;
}
开发者ID:WestCoastInformatics,项目名称:UMLS-Terminology-Server,代码行数:51,代码来源:ContentServiceJpa.java
示例6: getQueryResults
import org.apache.lucene.queryparser.classic.QueryParserBase; //导入依赖的package包/类
/**
* Returns the query results.
*
* @param <T> the
* @param query the query
* @param clazz the clazz
* @param pfs the pfs
* @param totalCt the total ct
* @return the query results
* @throws Exception the exception
*/
// TODO This should no longer exist, use search handlers from RootServiceJpa
public <T> List<?> getQueryResults(final String query, final Class<T> clazz,
final PfsParameter pfs, int[] totalCt) throws Exception {
if (query == null || query.isEmpty()) {
throw new Exception("Unexpected empty query.");
}
FullTextQuery fullTextQuery = null;
try {
fullTextQuery =
IndexUtility.applyPfsToLuceneQuery(clazz, query, pfs, manager);
} catch (ParseException e) {
// If parse exception, try a literal query
final StringBuilder escapedQuery = new StringBuilder();
if (query != null && !query.isEmpty()) {
escapedQuery.append(QueryParserBase.escape(query));
}
fullTextQuery = IndexUtility.applyPfsToLuceneQuery(clazz,
escapedQuery.toString(), pfs, manager);
}
totalCt[0] = fullTextQuery.getResultSize();
return fullTextQuery.getResultList();
}
开发者ID:WestCoastInformatics,项目名称:UMLS-Terminology-Server,代码行数:38,代码来源:RootServiceJpa.java
示例7: composeClause
import org.apache.lucene.queryparser.classic.QueryParserBase; //导入依赖的package包/类
/**
* Compose clause.
*
* @param fieldName the field name
* @param fieldValue the field value
* @param escapeValue - whether the value can have characters that need to be
* escaped
* @return the string
* @throws Exception the exception
*/
public static String composeClause(String fieldName, String fieldValue,
boolean escapeValue) throws Exception {
if (!ConfigUtility.isEmpty(fieldValue)) {
if (escapeValue) {
return fieldName + ":\"" + QueryParserBase.escape(fieldValue) + "\"";
} else {
return fieldName + ":" + fieldValue;
}
} else {
return "NOT " + fieldName + ":[* TO *]";
}
}
开发者ID:WestCoastInformatics,项目名称:UMLS-Terminology-Server,代码行数:24,代码来源:ConfigUtility.java
示例8: assertEscapedQueryEquals
import org.apache.lucene.queryparser.classic.QueryParserBase; //导入依赖的package包/类
public void assertEscapedQueryEquals(String query, Analyzer a, String result)
throws Exception {
String escapedQuery = QueryParserBase.escape(query);
if (!escapedQuery.equals(result)) {
fail("Query /" + query + "/ yielded /" + escapedQuery
+ "/, expecting /" + result + "/");
}
}
开发者ID:europeana,项目名称:search,代码行数:9,代码来源:QueryParserTestBase.java
示例9: getParser
import org.apache.lucene.queryparser.classic.QueryParserBase; //导入依赖的package包/类
public QueryParser getParser(Analyzer a, Extensions extensions)
throws Exception {
if (a == null)
a = new MockAnalyzer(random(), MockTokenizer.SIMPLE, true);
QueryParser qp = extensions == null ? new ExtendableQueryParser(
TEST_VERSION_CURRENT, getDefaultField(), a) : new ExtendableQueryParser(
TEST_VERSION_CURRENT, getDefaultField(), a, extensions);
qp.setDefaultOperator(QueryParserBase.OR_OPERATOR);
return qp;
}
开发者ID:pkarmstr,项目名称:NYBC,代码行数:11,代码来源:TestExtendableQueryParser.java
示例10: testDefaultOperator
import org.apache.lucene.queryparser.classic.QueryParserBase; //导入依赖的package包/类
@Override
public void testDefaultOperator() throws Exception {
SQPTestingConfig qp = (SQPTestingConfig)getParserConfig(new MockAnalyzer(random()));
// make sure OR is the default:
assertEquals(QueryParserBase.OR_OPERATOR, qp.getDefaultOperator());
setDefaultOperatorAND(qp);
assertEquals(QueryParserBase.AND_OPERATOR, qp.getDefaultOperator());
setDefaultOperatorOR(qp);
assertEquals(QueryParserBase.OR_OPERATOR, qp.getDefaultOperator());
}
开发者ID:tballison,项目名称:lucene-addons,代码行数:12,代码来源:TestQPTestBaseSpanQuery.java
示例11: getParserConfig
import org.apache.lucene.queryparser.classic.QueryParserBase; //导入依赖的package包/类
public CommonQueryParserConfiguration getParserConfig(Analyzer a, Analyzer mtAnalyzer)
throws Exception {
if (a == null) {
a = new MockAnalyzer(random(), MockTokenizer.SIMPLE, true);
}
if (mtAnalyzer == null) {
mtAnalyzer = new MockAnalyzer(random(), MockTokenizer.KEYWORD, true);
}
SQPTestingConfig qp = new SQPTestingConfig(getDefaultField(), a, mtAnalyzer);
qp.setDefaultOperator(QueryParserBase.OR_OPERATOR);
qp.setAnalyzeRangeTerms(true);
return qp;
}
开发者ID:tballison,项目名称:lucene-addons,代码行数:15,代码来源:TestQPTestBaseSpanQuery.java
示例12: assertEscapedQueryEquals
import org.apache.lucene.queryparser.classic.QueryParserBase; //导入依赖的package包/类
public void assertEscapedQueryEquals(String query, Analyzer a, String result)
throws Exception {
String escapedQuery = QueryParserBase.escape(query);
if (!escapedQuery.equals(result)) {
fail("Query /" + query + "/ yielded /" + escapedQuery
+ "/, expecting /" + result + "/");
}
}
开发者ID:tballison,项目名称:lucene-addons,代码行数:9,代码来源:QueryParserTestBase.java
示例13: parse
import org.apache.lucene.queryparser.classic.QueryParserBase; //导入依赖的package包/类
@Override
public Query parse(QualityQuery qq) throws ParseException {
QueryParser qp = queryParser.get();
if (qp==null) {
qp = new QueryParser(Version.LUCENE_CURRENT, indexField, new StandardAnalyzer(Version.LUCENE_CURRENT));
queryParser.set(qp);
}
BooleanQuery bq = new BooleanQuery();
for (int i = 0; i < qqNames.length; i++)
bq.add(qp.parse(QueryParserBase.escape(qq.getValue(qqNames[i]))), BooleanClause.Occur.SHOULD);
return bq;
}
开发者ID:jimaguere,项目名称:Maskana-Gestor-de-Conocimiento,代码行数:14,代码来源:SimpleQQParser.java
示例14: findRelationshipsForComponentHelper
import org.apache.lucene.queryparser.classic.QueryParserBase; //导入依赖的package包/类
/**
* Find relationships for component helper.
*
* @param terminologyId the terminology id
* @param terminology the terminology
* @param version the version
* @param branch the branch
* @param query the query
* @param inverseFlag the inverse flag
* @param pfs the pfs
* @param clazz the clazz
* @return the relationship list
* @throws Exception the exception
*/
@SuppressWarnings({
"unchecked", "rawtypes"
})
private RelationshipList findRelationshipsForComponentHelper(
String terminologyId, String terminology, String version, String branch,
String query, boolean inverseFlag, PfsParameter pfs,
Class<? extends Relationship> clazz) throws Exception {
final RelationshipList results = new RelationshipListJpa();
final List<String> clauses = new ArrayList<>();
// Parts to combine
// 1. query
clauses.add(query);
// escape special chars
// 2. to/fromTerminologyId
if (inverseFlag && !ConfigUtility.isEmpty(terminologyId)) {
clauses.add("toTerminologyId:" + QueryParserBase.escape(terminologyId));
}
if (!inverseFlag && !ConfigUtility.isEmpty(terminologyId)) {
clauses.add("fromTerminologyId:" + QueryParserBase.escape(terminologyId));
}
// 3. to/fromTerminology
if (inverseFlag && !ConfigUtility.isEmpty(terminology)) {
clauses.add("toTerminology:" + terminology);
}
if (!inverseFlag && !ConfigUtility.isEmpty(terminology)) {
clauses.add("fromTerminology:" + terminology);
}
// r. to/fromVersion clause
if (inverseFlag && !ConfigUtility.isEmpty(version)) {
clauses.add("toVersion:" + version);
}
if (!inverseFlag && !ConfigUtility.isEmpty(version)) {
clauses.add("fromVersion:" + version);
}
final String finalQuery = ConfigUtility.composeQuery("AND", clauses);
final SearchHandler searchHandler = getSearchHandler(terminology);
final int[] totalCt = new int[1];
// pass empty terminology/version because it's handled above
results.setObjects((List) searchHandler.getQueryResults("", "", branch,
finalQuery, "toNameSort", clazz, pfs, totalCt, manager));
results.setTotalCount(totalCt[0]);
for (final Relationship<? extends ComponentInfo, ? extends ComponentInfo> rel : results
.getObjects()) {
getGraphResolutionHandler(terminology).resolve(rel);
}
return results;
}
开发者ID:WestCoastInformatics,项目名称:UMLS-Terminology-Server,代码行数:71,代码来源:ContentServiceJpa.java
示例15: findTreePositionsHelper
import org.apache.lucene.queryparser.classic.QueryParserBase; //导入依赖的package包/类
/**
* Find tree positions helper.
*
* @param terminologyId the terminology id
* @param terminology the terminology
* @param version the version
* @param branch the branch
* @param query the query
* @param pfs the pfs
* @param clazz the clazz
* @return the tree position list
* @throws Exception the exception
*/
@SuppressWarnings({
"unchecked", "rawtypes"
})
private TreePositionList findTreePositionsHelper(String terminologyId,
String terminology, String version, String branch, String query,
PfsParameter pfs, Class<? extends TreePosition> clazz) throws Exception {
// Prepare the query string
final StringBuilder finalQuery = new StringBuilder();
// add the query, if not null and not empty
finalQuery.append(query == null || query.isEmpty() ? "" : query);
if (terminologyId != null) {
if (finalQuery.length() > 0) {
finalQuery.append(" AND ");
}
finalQuery
.append("nodeTerminologyId:" + QueryParserBase.escape(terminologyId));
}
final SearchHandler searchHandler = getSearchHandler(terminology);
final int[] totalCt = new int[1];
final TreePositionList list = new TreePositionListJpa();
list.setObjects((List) searchHandler.getQueryResults(terminology, version,
branch, finalQuery.toString(), "nodeNameSort", clazz, pfs, totalCt,
manager));
list.setTotalCount(totalCt[0]);
// If the list has <30 entries and all are roman numerals
// and the sortField is "nodeTerminologyId" then use a roman numeral sort
// This is a hack for roman numeral sorted top-level hierarchies
if (list.size() < 30 && pfs != null && pfs.getSortField() != null
&& pfs.getSortField().equals("nodeTerminologyId")) {
boolean nonRomanFound = false;
for (final TreePosition treepos : list.getObjects()) {
if (!ConfigUtility
.isRomanNumeral(treepos.getNode().getTerminologyId())) {
nonRomanFound = true;
break;
}
}
if (!nonRomanFound) {
Collections.sort(list.getObjects(), new Comparator<TreePosition>() {
@Override
public int compare(TreePosition o1, TreePosition o2) {
try {
return ConfigUtility.toArabic(o1.getNode().getTerminologyId())
- ConfigUtility.toArabic(o2.getNode().getTerminologyId());
} catch (Exception e) {
// just return zero, don't worry about handling the error
e.printStackTrace();
return 0;
}
}
});
}
}
return list;
}
开发者ID:WestCoastInformatics,项目名称:UMLS-Terminology-Server,代码行数:75,代码来源:ContentServiceJpa.java
示例16: importWorkflowConfig
import org.apache.lucene.queryparser.classic.QueryParserBase; //导入依赖的package包/类
@POST
@Override
@Path("/config/import")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@ApiOperation(value = "Import workflow config", notes = "Imports a workflow config", response = WorkflowConfigJpa.class)
public WorkflowConfig importWorkflowConfig(
@ApiParam(value = "Form data header", required = true) @FormDataParam("file") FormDataContentDisposition contentDispositionHeader,
@ApiParam(value = "Content of members file", required = true) @FormDataParam("file") InputStream in,
@ApiParam(value = "Project id, e.g. 12345", required = true) @QueryParam("projectId") Long projectId,
@ApiParam(value = "Authorization token, e.g. 'guest'", required = true) @HeaderParam("Authorization") String authToken)
throws Exception {
Logger.getLogger(getClass())
.info("RESTful call (Workflow): /config/import?projectId=" + projectId);
final WorkflowService workflowService = new WorkflowServiceJpa();
try {
final String userName =
authorizeProject(workflowService, projectId, securityService,
authToken, "adding a process config", UserRole.ADMINISTRATOR);
workflowService.setLastModifiedBy(userName);
// This should be atomic
workflowService.setTransactionPerOperation(false);
workflowService.beginTransaction();
// Load project
final Project project = workflowService.getProject(projectId);
// Convert to a String
final String json = IOUtils.toString(in, "UTF-8");
// Convert to an object
final WorkflowConfigJpa workflow =
ConfigUtility.getGraphForJson(json, WorkflowConfigJpa.class);
// Clean up the imported process
workflow.setProject(project);
// Verify that passed projectId matches ID of the processConfig's project
verifyProject(workflow, projectId);
// Save steps
final List<WorkflowBinDefinition> binDefinitions =
new ArrayList<>(workflow.getWorkflowBinDefinitions());
// Prep workflow config
workflow.setId(null);
workflow.getWorkflowBinDefinitions().clear();
final WorkflowConfigList list = workflowService.findWorkflowConfigs(
projectId,
"type:\"" + QueryParserBase.escape(workflow.getType()) + "\"", null);
if (list.size() > 0) {
workflow.setType(workflow.getType() + " - "
+ ConfigUtility.DATE_YYYYMMDDHHMMSS.format(new Date()));
}
final WorkflowConfig newWorkflowConfig =
workflowService.addWorkflowConfig(workflow);
// Add bin definitions
for (final WorkflowBinDefinition binDefinition : binDefinitions) {
binDefinition.setId(null);
binDefinition.setWorkflowConfig(newWorkflowConfig);
newWorkflowConfig.getWorkflowBinDefinitions()
.add(workflowService.addWorkflowBinDefinition(binDefinition));
}
workflowService.updateWorkflowConfig(newWorkflowConfig);
workflowService.addLogEntry(userName, projectId,
newWorkflowConfig.getId(), null, null,
"IMPORT workflow config - " + newWorkflowConfig);
workflowService.commit();
return newWorkflowConfig;
} catch (Exception e) {
handleException(e, "trying to add a process config");
return null;
} finally {
workflowService.close();
securityService.close();
}
}
开发者ID:WestCoastInformatics,项目名称:UMLS-Terminology-Server,代码行数:81,代码来源:WorkflowServiceRestImpl.java
示例17: getLog
import org.apache.lucene.queryparser.classic.QueryParserBase; //导入依赖的package包/类
@GET
@Path("/log")
@Produces("text/plain")
@ApiOperation(value = "Get log entries", notes = "Returns log entries for specified query parameters", response = String.class)
@Override
public String getLog(
@ApiParam(value = "Project id, e.g. 5", required = true) @QueryParam("projectId") Long projectId,
@ApiParam(value = "Object id, e.g. 5", required = false) @QueryParam("objectId") Long objectId,
@ApiParam(value = "Message, e.g. Action", required = false) @QueryParam("message") String message,
@ApiParam(value = "Lines, e.g. 5", required = true) @QueryParam("lines") int lines,
@ApiParam(value = "Authorization token, e.g. 'author1'", required = true) @HeaderParam("Authorization") String authToken)
throws Exception {
Logger.getLogger(getClass()).info("RESTful call (Project): /log/"
+ projectId + ", " + objectId + ", " + message + ", " + lines);
final ProjectService projectService = new ProjectServiceJpa();
try {
authorizeProject(projectService, projectId, securityService, authToken,
"get log entries", UserRole.AUTHOR);
// Precondition checking -- must have projectId and objectId set
if (projectId == null) {
throw new LocalException("Project id and Object id must be set");
}
final PfsParameter pfs = new PfsParameterJpa();
pfs.setStartIndex(0);
pfs.setMaxResults(lines);
pfs.setAscending(false);
pfs.setSortField("lastModified");
String query = "";
// projectId and objectId must be set
if (projectId != null) {
query += "projectId:" + projectId;
}
if (objectId != null) {
query += " AND objectId:" + objectId;
}
if (message != null) {
query += " AND message:\"" + QueryParserBase.escape(message) + "\"";
}
if (query.isEmpty()) {
throw new Exception(
"Must specify at least one parameter for querying log entries");
}
final List<LogEntry> entries = projectService.findLogEntries(query, pfs);
final StringBuilder log = new StringBuilder();
for (int i = entries.size() - 1; i >= 0; i--) {
final LogEntry entry = entries.get(i);
final StringBuilder msg = new StringBuilder();
msg.append("[")
.append(ConfigUtility.DATE_FORMAT4.format(entry.getLastModified()));
msg.append("] ");
msg.append(entry.getLastModifiedBy()).append(" ");
msg.append(entry.getMessage()).append("\n");
log.append(msg);
}
return log.toString();
} catch (Exception e) {
handleException(e, "trying to get log");
} finally {
projectService.close();
securityService.close();
}
return null;
}
开发者ID:WestCoastInformatics,项目名称:UMLS-Terminology-Server,代码行数:74,代码来源:ProjectServiceRestImpl.java
示例18: addProcessConfig
import org.apache.lucene.queryparser.classic.QueryParserBase; //导入依赖的package包/类
@Override
@PUT
@Path("/config")
@ApiOperation(value = "Add new process config", notes = "Creates a new process config", response = ProcessConfigJpa.class)
public ProcessConfig addProcessConfig(
@ApiParam(value = "Project id, e.g. 12345", required = true) @QueryParam("projectId") Long projectId,
@ApiParam(value = "ProcessConfig, as POST data", required = true) ProcessConfigJpa process,
@ApiParam(value = "Authorization token, e.g. 'guest'", required = true) @HeaderParam("Authorization") String authToken)
throws Exception {
Logger.getLogger(getClass())
.info("RESTful call (Process): /config?projectId=" + projectId
+ " for user " + authToken + ", " + process);
final ProcessService processService = new ProcessServiceJpa();
try {
final String userName =
authorizeProject(processService, projectId, securityService,
authToken, "adding a process config", UserRole.ADMINISTRATOR);
processService.setLastModifiedBy(userName);
// Make sure processConfig was passed in
if (process == null) {
throw new LocalException("Error: trying to add null process config");
}
// Load project
final Project project = processService.getProject(projectId);
project.setLastModifiedBy(userName);
// Re-add project to processConfig (it does not make it intact through
// XML)
process.setProject(project);
final ProcessConfigList list =
processService.findProcessConfigs(projectId,
"nameSort:\"" + QueryParserBase.escape(process.getName()) + "\"",
null);
if (list.size() > 0) {
process.setName(process.getName() + " - "
+ ConfigUtility.DATE_YYYYMMDDHHMMSS.format(new Date()));
}
// Verify that passed projectId matches ID of the processConfig's project
verifyProject(process, projectId);
// check to see if processConfig already exists
if (processService.findProcessConfigs(projectId,
"name:\"" + process.getName() + "\"", null).size() > 0) {
throw new LocalException(
"A processConfig with this name and description already exists for this project");
}
// Add processConfig
final ProcessConfig newProcess = processService.addProcessConfig(process);
processService.addLogEntry(userName, projectId, process.getId(), null,
null, "ADD processConfig - " + process);
return newProcess;
} catch (Exception e) {
handleException(e, "trying to add a process config");
return null;
} finally {
processService.close();
securityService.close();
}
}
开发者ID:WestCoastInformatics,项目名称:UMLS-Terminology-Server,代码行数:70,代码来源:ProcessServiceRestImpl.java
示例19: importProcessConfig
import org.apache.lucene.queryparser.classic.QueryParserBase; //导入依赖的package包/类
@POST
@Override
@Path("/config/import")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@ApiOperation(value = "Import process config", notes = "Imports a process config", response = ProcessConfigJpa.class)
public ProcessConfig importProcessConfig(
@ApiParam(value = "Form data header", required = true) @FormDataParam("file") FormDataContentDisposition contentDispositionHeader,
@ApiParam(value = "Content of members file", required = true) @FormDataParam("file") InputStream in,
@ApiParam(value = "Project id, e.g. 12345", required = true) @QueryParam("projectId") Long projectId,
@ApiParam(value = "Authorization token, e.g. 'guest'", required = true) @HeaderParam("Authorization") String authToken)
throws Exception {
Logger.getLogger(getClass())
.info("RESTful call (Process): /config/import?projectId=" + projectId);
final ProcessService processService = new ProcessServiceJpa();
try {
final String userName =
authorizeProject(processService, projectId, securityService,
authToken, "adding a process config", UserRole.ADMINISTRATOR);
processService.setLastModifiedBy(userName);
// This should be atomic
processService.setTransactionPerOperation(false);
processService.beginTransaction();
// Load project
final Project project = processService.getProject(projectId);
// Convert to a String
final String json = IOUtils.toString(in, "UTF-8");
// Convert to an object
final ProcessConfigJpa process =
ConfigUtility.getGraphForJson(json, ProcessConfigJpa.class);
// Clean up the imported process
process.setProject(project);
// Verify that passed projectId matches ID of the processConfig's project
verifyProject(process, projectId);
// Save steps
final List<AlgorithmConfig> configs = new ArrayList<>(process.getSteps());
// Prep process
process.setId(null);
process.getSteps().clear();
final ProcessConfigList list = processService.findProcessConfigs(
projectId,
"name:\"" + QueryParserBase.escape(process.getName()) + "\"", null);
if (list.size() > 0) {
process.setName(process.getName() + " - "
+ ConfigUtility.DATE_YYYYMMDDHHMMSS.format(new Date()));
}
final ProcessConfig newProcess = processService.addProcessConfig(process);
// Add steps
for (final AlgorithmConfig config : configs) {
config.setId(null);
config.setProcess(newProcess);
newProcess.getSteps().add(processService.addAlgorithmConfig(config));
}
processService.updateProcessConfig(newProcess);
processService.addLogEntry(userName, projectId, newProcess.getId(), null,
null, "IMPORT process config - " + newProcess);
processService.commit();
return newProcess;
} catch (Exception e) {
handleException(e, "trying to add a process config");
return null;
} finally {
processService.close();
securityService.close();
}
}
开发者ID:WestCoastInformatics,项目名称:UMLS-Terminology-Server,代码行数:77,代码来源:ProcessServiceRestImpl.java
示例20: assertEscapedQueryEquals
import org.apache.lucene.queryparser.classic.QueryParserBase; //导入依赖的package包/类
public void assertEscapedQueryEquals(String query, Analyzer a, String result) throws Exception {
assertEquals(result, QueryParserBase.escape(query));
}
开发者ID:tballison,项目名称:lucene-addons,代码行数:4,代码来源:QueryParserTestCase.java
注:本文中的org.apache.lucene.queryparser.classic.QueryParserBase类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论