Integration → Creating Custom Source Configuration Types → Example Custom Source Configuration Type
Following is an example of a custom source configuration type.
package <user.defined.package>; import com.microfocus.da.sct.annotations.*; import com.microfocus.da.sct.dtos.VersionInfo; import com.microfocus.da.sct.interfaces.CommonIntegrator; import com.microfocus.da.sct.interfaces.ComponentInfo; import java.io.File; import java.io.PrintWriter; import java.util.*; @SourceConfigTypeConfig(name="All UI Type File Creator", versionNumber = "1.0", description = "Contains all the UI elements and creates a file") @VersionParams(versionParams = { @VersionParam(displayName = "Revision", name = "revision", description = "Revision to download")}) public class AllUITypeFileCreator implements CommonIntegrator { @SourceConfigTypeParam(displayName = "File Name", description = "Name of the file", required = true, readOnly = true) private String fileName; @SourceConfigTypeParam(displayName = "File content", description = "Content for creating the file", required = true, readOnly = true, dataType = DataType.TEXTAREA) private String fileContent; @SourceConfigTypeParam(displayName = "Skip Content Creation", description = "If selected, skips the content creation", required = true, readOnly = true, dataType = DataType.CHECKBOX) private Boolean skipContentCreation; @SourceConfigTypeParam(displayName = "Append Date", description = "Append date with the content", required = true, readOnly = true, dataType = DataType.SELECT, allowedValues= {@AllowedValue(label = "YES", value = "YES"), @AllowedValue(label = "NO", value = "NO")}) private String appendDate; @SourceConfigTypeParam(displayName = "Secure Content", description = "Secure Content", required = true, readOnly = true, dataType = DataType.SECURE) private String secureContent; @SourceConfigTypeParam(displayName = "Multi Select", description = "Select Multiple", required = true, readOnly = true, dataType = DataType.SELECT, allowedValues= {@AllowedValue(label = "One", value = "One"), @AllowedValue(label = "Two", value = "Two")}) private String multiSelect; private ComponentInfo info; public Collection<VersionInfo> getNextVersionInfo(Properties properties) throws Exception { if(properties == null) return null; List<VersionInfo> infoList = new ArrayList<VersionInfo>(); VersionInfo inf = new VersionInfo(properties.getProperty("revision")); inf.setVersionProps(properties); infoList.add(inf); return infoList; } public String getMultiSelect() { return multiSelect; } public void setMultiSelect(String multiSelect) { this.multiSelect = multiSelect; } public void downloadVersionContent(VersionInfo versionInfo, File processingDirectoryLocation) throws Exception { try { // Code for download content } catch(Exception e) { e.printStackTrace(); } } public String getFileName() { return fileName; } public void setFileName(String fileName) { this.fileName = fileName; } public String getFileContent() { return fileContent; } public void setFileContent(String fileContent) { this.fileContent = fileContent; } public Boolean getSkipContentCreation() { return skipContentCreation; } public ComponentInfo getInfo() { return info; } public void setInfo(ComponentInfo info) { this.info = info; } public void setSkipContentCreation(Boolean skipContentCreation) { this.skipContentCreation = skipContentCreation; } public String getAppendDate() { return appendDate; } public void setAppendDate(String appendDate) { this.appendDate = appendDate; } public String getSecureContent() { return secureContent; } public void setSecureContent(String secureContent) { this.secureContent = secureContent; } @Override public String toString() { return "AllUITypeFileCreator{" + "fileName='" + fileName + '\'' + ", fileContent='" + fileContent + '\'' + ", skipContentCreation=" + skipContentCreation + ", appendDate='" + appendDate + '\'' + ", secureContent='" + secureContent + '\'' + ", multiSelect='" + multiSelect + '\'' + ", info=" + info + '}'; } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof AllUITypeFileCreator)) return false; AllUITypeFileCreator that = (AllUITypeFileCreator) o; if (fileName != null ? !fileName.equals(that.fileName) : that.fileName != null) return false; if (fileContent != null ? !fileContent.equals(that.fileContent) : that.fileContent != null) return false; if (skipContentCreation != null ? !skipContentCreation.equals(that.skipContentCreation) : that.skipContentCreation != null) return false; if (appendDate != null ? !appendDate.equals(that.appendDate) : that.appendDate != null) return false; if (secureContent != null ? !secureContent.equals(that.secureContent) : that.secureContent != null) return false; if (multiSelect != null ? !multiSelect.equals(that.multiSelect) : that.multiSelect != null) return false; return info != null ? info.equals(that.info) : that.info == null; } @Override public int hashCode() { int result = fileName != null ? fileName.hashCode() : 0; result = 31 * result + (fileContent != null ? fileContent.hashCode() : 0); result = 31 * result + (skipContentCreation != null ? skipContentCreation.hashCode() : 0); result = 31 * result + (appendDate != null ? appendDate.hashCode() : 0); result = 31 * result + (secureContent != null ? secureContent.hashCode() : 0); result = 31 * result + (multiSelect != null ? multiSelect.hashCode() : 0); result = 31 * result + (info != null ? info.hashCode() : 0); return result; } }
Copyright © 2011–2017 Serena Software, Inc., a Micro Focus company. All rights reserved.