Changeset 1496 for MDService2/trunk/MDService2/src/eu/clarin/cmdi/mdservice/action/SRUProxyAction.java
- Timestamp:
- 08/26/11 20:40:35 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
MDService2/trunk/MDService2/src/eu/clarin/cmdi/mdservice/action/SRUProxyAction.java
r1471 r1496 51 51 import eu.clarin.cmdi.mdservice.model.Diagnostic; 52 52 import eu.clarin.cmdi.mdservice.model.Diagnostics; 53 import eu.clarin.cmdi.mdservice.model.WorkspaceProfile; 53 54 54 55 … … 79 80 private String x_cmd_repository; 80 81 private String x_cmd_collections; 82 private Set paramSet; 81 83 82 84 private MDRepoProxyAction mdrepoproxyaction; … … 88 90 private static int OP_EXPLAIN = 2; 89 91 private static int OP_SCAN = 3; 92 90 93 91 94 //TODO cache after analysis … … 120 123 this.startRecord = 1; 121 124 this.maximumRecords = 50; 125 126 if (getServletRequest() != null){ 127 this.setX_cmd_repository(getServletRequest().getParameter("x-cmd-repository")); 128 this.setRepository(this.getX_cmd_repository()); 129 paramSet = getServletRequest().getParameterMap().entrySet(); 130 } 131 132 //TODO xsl usage according particular repositories ? 133 this.setActionkey("sru"); 122 134 } 123 135 … … 285 297 @Override 286 298 public String getBaseURI() { 287 Admin.notifyUser("SRU-repositorypath:" + getRepositoryPath());288 String uri = getRepositoryPath();//Admin.getConfig().getProperty(getProxyKey() + ".uri");299 Admin.notifyUser("SRU-repositorypath:" + WorkspaceProfile.getRepositoryPath(getRepository())); 300 String uri = WorkspaceProfile.getRepositoryPath(getRepository());//Admin.getConfig().getProperty(getProxyKey() + ".uri"); 289 301 return uri; 290 302 } … … 358 370 if (this.scanClause.equals("cmd.Repository")){ 359 371 XMLSerializer xmlserializer = new XMLSerializer(); 360 String xml = xmlserializer.write( mdrepoproxyaction.getRepositories() );372 String xml = xmlserializer.write( WorkspaceProfile.getRepositories());//mdrepoproxyaction.getRepositories() ); 361 373 this.setResultStream(new ByteArrayInputStream(xml.getBytes("UTF-8"))); 362 374 … … 498 510 } 499 511 512 //TODO create query + query.toURLParams ? 513 public String createURLParams(){ 514 String params = ""; 515 516 //TODO params 517 if (paramSet == null){ 518 if (!(operation == null)){ 519 params = params + "operation=" + operation; 520 } 521 if (!(version == null)){ 522 params = params + "&version=" + version; 523 } 524 if (!(query == null)){ 525 params = params + "&query=" + query; 526 } 527 if (getStartRecord() > 0){ 528 params = params + "&startRecord=" + String.valueOf(getStartRecord()); 529 } 530 if (getMaximumRecords()> 0){ 531 params = params + "&numRecords=" + String.valueOf(getMaximumRecords()); 532 } 533 } else { 534 Iterator i = paramSet.iterator(); 535 params = ""; 536 while(i.hasNext()){ 537 Map.Entry me = (Map.Entry)i.next(); 538 if (!(me.getKey().equals("x-cmd-repository") || me.getKey().equals("x-cmd-collections"))){ 539 params = params + "&" + me.getKey() + "=" + ((String[])me.getValue())[0]; 540 } 541 } 542 params = params.substring(1); 543 544 } 545 546 return params; 547 } 500 548 @Override 501 549 public URL getTargetRequest() throws IOException { … … 508 556 requestURI = this.getBaseURI(); 509 557 } 510 //TODO params 511 Set set = getServletRequest().getParameterMap().entrySet(); 512 Iterator i = set.iterator(); 513 String params = ""; 514 while(i.hasNext()){ 515 Map.Entry me = (Map.Entry)i.next(); 516 if (!(me.getKey().equals("x-cmd-repository") || me.getKey().equals("x-cmd-collections"))){ 517 params = params + "&" + me.getKey() + "=" + ((String[])me.getValue())[0]; 518 } 519 } 520 params = params.substring(1); 521 targetURL = new URL(requestURI + "?" + params); 558 559 targetURL = new URL(requestURI + "?" + createURLParams()); 522 560 return targetURL; 523 561 } … … 525 563 @Override 526 564 public void prepare() throws Exception{ 527 this.setX_cmd_repository(getServletRequest().getParameter("x-cmd-repository"));528 this.setRepository(this.getX_cmd_repository());565 //this.setX_cmd_repository(getServletRequest().getParameter("x-cmd-repository")); 566 //this.setRepository(this.getX_cmd_repository()); 529 567 //TODO xsl usage according particular repositories ? 530 this.setActionkey("sru");568 //this.setActionkey("sru"); 531 569 //this.setFormat("xml"); 532 570 533 571 //extern SRU repository 534 if ( this.isSRURepository() || this.getBaseURI() == null){572 if (WorkspaceProfile.isSRURepository(getRepository()) || this.getBaseURI() == null){ 535 573 super.prepare(); 536 574 }
Note: See TracChangeset
for help on using the changeset viewer.