manueltauber 2023-05-26 11:36:37 +02:00
commit 3059829efd
3 changed files with 63 additions and 3 deletions

View File

@ -40,8 +40,8 @@ import com.nttdata.calender.states.StateChange;
import com.nttdata.calender.states.StateChangeRequest;
import com.nttdata.calender.states.StateResponse;
import com.nttdata.calender.supportgroup.SupportGroup;
import net.bytebuddy.asm.Advice.Origin;
import com.nttdata.calender.urlConstructor.UrlConstructor;
import com.nttdata.calender.urlConstructor.UrlResponse;
/**
* REST Controller for Remedy Data
@ -53,15 +53,17 @@ public class KalenderRestController {
private final Implementer implementer;
private final PackageType packageType;
private final Approval approval;
private final UrlConstructor urlConstructor;
@Autowired
public KalenderRestController(RemedyJavaAPI javaAPI, Change change, Implementer implementer,
PackageType packageType, Approval approval) {
PackageType packageType, Approval approval, UrlConstructor urlConstructor) {
this.javaAPI = javaAPI;
this.change = change;
this.implementer = implementer;
this.packageType = packageType;
this.approval = approval;
this.urlConstructor = urlConstructor;
}
/**
@ -111,6 +113,12 @@ public class KalenderRestController {
return ResponseEntity.internalServerError().body("Support Groups couldnt be fetched.");
}
@CrossOrigin("*")
@GetMapping("/api/getUrl")
public UrlResponse getLink() throws ARException {
return urlConstructor.construct(javaAPI);
}
/**
*
* Handles a GET request to retrieve the user's support group.

View File

@ -0,0 +1,25 @@
package com.nttdata.calender.urlConstructor;
import org.springframework.stereotype.Service;
import com.bmc.arsys.api.ARException;
import com.bmc.arsys.api.Constants;
import com.nttdata.calender.api.RemedyJavaAPI;
@Service
public class UrlConstructor {
String viewForm = "/SHR%3ALandingConsole/Default+Administrator+View/?mode=search&F304255500=";
String getPkg = "&F1000000076=FormOpenNoAppList&F303647600=SearchTicketWithQual&F304255610=";
public UrlResponse construct(RemedyJavaAPI api) throws ARException {
var server = api.getServer();
var setting = new int[] { Constants.AR_SERVER_INFO_SERVER_NAME, Constants.AR_SERVER_INFO_DEFAULT_WEB_PATH };
var serverInfo = server.getServerInfo(setting);
var midTierLink = serverInfo.get(Constants.AR_SERVER_INFO_DEFAULT_WEB_PATH).getValue().toString() + "/forms/";
var shortName = midTierLink.replaceFirst("https://", "").substring(0, midTierLink.indexOf("."));
var viewFormUrl = midTierLink + shortName + viewForm;
return new UrlResponse(getPkg, viewFormUrl);
}
}

View File

@ -0,0 +1,27 @@
package com.nttdata.calender.urlConstructor;
public class UrlResponse {
private String entryUrl;
private String viewFormUrl;
public UrlResponse(String entryUrl, String viewFormUrl) {
this.entryUrl = entryUrl;
this.viewFormUrl = viewFormUrl;
}
public String getEntryUrl() {
return this.entryUrl;
}
public void setEntryUrl(String entryUrl) {
this.entryUrl = entryUrl;
}
public String getViewFormUrl() {
return this.viewFormUrl;
}
public void setViewFormUrl(String viewFormUrl) {
this.viewFormUrl = viewFormUrl;
}
}