Skip to content

Instantly share code, notes, and snippets.

View pmedcraft's full-sized avatar

Phil Medcraft pmedcraft

View GitHub Profile
@pmedcraft
pmedcraft / AkamaiPurgeResponse.java
Last active April 28, 2017 20:59
SDL Web Deployer Extension for sending Purge requests to Akamai
package com.tridion.ps.akamai;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
@JsonIgnoreProperties(ignoreUnknown = true)
public class AkamaiPurgeResponse {
private Integer httpStatus;
private Integer estimatedSeconds;
private Integer pingAfterSeconds;
@pmedcraft
pmedcraft / ProjectInfo.java
Last active May 16, 2017 18:16
Custom Servlet for SDL WorldServer
package com.worldservertraining;
import com.idiominc.wssdk.WSContext;
import com.idiominc.wssdk.WSVersion;
import com.idiominc.wssdk.component.servlet.WSHttpServlet;
import com.idiominc.wssdk.user.WSClient;
import com.idiominc.wssdk.workflow.WSProject;
import com.idiominc.wssdk.workflow.WSTask;
import javax.servlet.http.HttpServletRequest;
@pmedcraft
pmedcraft / WorldServerRestLogin.java
Last active November 14, 2020 22:32
Connects to SDL WorldServer via invoking the /login REST API call
/**
* Connects to SDL WorldServer via invoking the /login REST API call.
*
* @param wsBaseUrl
* @param username
* @param password
* @return a security token.
* @throws IOException
*/
private String login(String wsBaseUrl, String username, String password) throws IOException {
@pmedcraft
pmedcraft / WorldServerUploadCustomization.java
Last active November 15, 2017 18:15
Uploads customization package to WorldServer by posting to the "management_customization" servlet
/**
* Uploads customization package to WorldServer by posting to the "management_customization" servlet.
*
* @param wsBaseUrl
* @param token
* @param customizationFile
* @throws IOException
*/
private void uploadCustomization(String wsBaseUrl, String token, File customizationFile) throws IOException {
String postActionUrl = wsBaseUrl + "/ws-legacy/management_customization?action=add&token=" + token;
@pmedcraft
pmedcraft / WorldServerUploadAssetToExplorer.java
Created November 15, 2017 18:33
Uploads asset to WorldServer's Explorer (mounts) by posting to the "upload_assets" servlet.
/**
* Uploads assets to WorldServer's Explorer (mounts) by posting to the "upload_assets" servlet.
*
* @param wsBaseUrl
* @param token
* @param explorerFolder
* @param inputFile
* @throws IOException
*/
private void uploadAssetsToExplorer(String wsBaseUrl, String token, String explorerFolder, File inputFile) throws IOException {
@pmedcraft
pmedcraft / WSRestUtils01.java
Last active April 15, 2019 18:48
Authenticates a user against SDL WorldServer using the REST API returning a Security Token
public static String getSecurityToken(String wsBaseUrl, String username, String password) throws IOException {
StringBuilder loginJson = new StringBuilder();
loginJson.append("{");
loginJson.append("\"username\":\"" + username + "\",");
loginJson.append("\"password\":\"" + password + "\"");
loginJson.append("}");
HttpClient httpClient = HttpClientBuilder.create().build();
HttpPost httpPostRequest = new HttpPost(wsBaseUrl + "/ws-api/v1/login");
httpPostRequest.setHeader(new BasicHeader("Content-Type", "application/json"));
@pmedcraft
pmedcraft / FileUploadResponse.java
Last active August 12, 2019 16:26
Uploads a collection of files to SDL WorldServer using the REST API returning a list of FileUploadResponse objects containing data from each uploaded asset
public class FileUploadResponse {
private String name;
private String internalName;
private String fullName;
private String url;
private double size;
private long creationTime;
private boolean exists;
private File[] files;
@pmedcraft
pmedcraft / CreateProjectGroupResponse.java
Last active August 12, 2019 16:14
Creates a Project Group in SDL WorldServer using the REST API returning a CreateProjectGroupResponse object with data from the newly generated Project Group
public class CreateProjectGroupResponse {
private String status;
private List<Response> response;
public String getStatus() {
return status;
}
public void setStatus(String status) {
@pmedcraft
pmedcraft / CurrentTaskStep.java
Last active April 15, 2019 19:42
Gets a list of Tasks (TaskDetails objects) from a Project in SDL WorldServer using the REST API
public class CurrentTaskStep {
private int id;
private String name;
private String displayName;
private String type;
private String typeName;
private List<WorkflowTransition> workflowTransitions;
public int getId() {
@pmedcraft
pmedcraft / AssetLocationType.java
Last active April 16, 2019 15:40
Download a Task asset from SDL WorldServer using the REST API returning the path to the downloaded file
public enum AssetLocationType {
SOURCE,
TARGET,
SOURCE_TARGET
}