Scala SDK Samples - Wizards Operations
Get Wizards
package com.zoho.crm.sample.wizards
import java.util
import com.zoho.crm.api.ParameterMap
import com.zoho.crm.api.customviews.Criteria
import com.zoho.crm.api.wizards.APIException
import com.zoho.crm.api.wizards.ResponseWrapper
import com.zoho.crm.api.wizards.WizardsOperations
import com.zoho.crm.api.wizards.WizardsOperations.GetWizardbyIDParam
object Wizards {
/*
* get Wizards
* This method is used to get Wizards
* @throws Exception
*/
@throws[Exception]
def getWizards(): Unit = {
// Get instance of WizardsOperations Class
val wizardsOperations = new WizardsOperations()
// Call getWizards method
val responseOption = wizardsOperations.getWizards()
if (responseOption.isDefined) { //check response
var response = responseOption.get
println("Status Code: " + response.getStatusCode)
if (util.Arrays.asList(204, 304).contains(response.getStatusCode)) {
println(if (response.getStatusCode == 204) "No Content"
else "Not Modified")
return
}
// Check if expected response is received
if (response.isExpected) {
// Get object from response
val responseHandler = response.getObject
responseHandler match {
case responseWrapper: ResponseWrapper => //Get the received ResponseWrapper instance
// Get the list of obtained Wizard instances
val wizards = responseWrapper.getWizards
for (wizard <- wizards) {
// Get the CreatedTime of each Wizard
println("Wizard CreatedTime: " + wizard.getCreatedTime())
// Get the ModifiedTime of each Wizard
println("Wizard ModifiedTime: " + wizard.getModifiedTime())
// Get the Module of each Wizard
val moduleOption = wizard.getModule()
if (moduleOption.isDefined) {
val module = moduleOption.get
// Get the ID of Module
println("Wizard Module ID: " + module.getId())
// Get the apiName of Module
println("Wizard Module apiName: " + module.getAPIName())
}
// Get the Name of each Wizard
println("Wizard Name: " + wizard.getName())
//Get the Modified by
val modifiedByOption = wizard.getModifiedBy()
if (modifiedByOption.isDefined) {
val modifiedBy = modifiedByOption.get
println("Wizard Modified By Name : " + modifiedBy.getName())
println("Wizard Modified By id : " + modifiedBy.getId())
println("Wizard Modified By Name : " + modifiedBy.getEmail())
}
val profiles = wizard.getProfiles()
for (profile <- profiles) {
// Get the Name of each Profile
println("Wizard Profile Name: " + profile.getName())
// Get the ID of Attachment
println("Wizard Profile ID: " + profile.getId())
}
// Get the active of each Wizard
println("Wizard Active: " + wizard.getActive())
// Get the containers of each Wizard
val containers = wizard.getContainers()
for (container <- containers) {
// Get the id of each Container
println("Wizard Container ID: " + container.getId())
// Get the layout of each Container
val layoutOption = container.getLayout()
if (layoutOption.isDefined) {
val layout = layoutOption.get
//get Layout ID
println("Wizard Container Layout ID: " + layout.getId())
//get Layout Name
println("Wizard Container Layout Name: " + layout.getName())
}
val chartDataOption = container.getChartData()
if (chartDataOption.isDefined) {
val chartData = chartDataOption.get
//get Chart nodes
val nodes = chartData.getNodes()
for (node <- nodes) {
//get Node poistion y
println("Chart Data Node poistion y: " + node.getPosY())
//get Node poistion x
println("Chart Data Node poistion X: " + node.getPosX())
//get Node start node
println("Chart Data Node start node: " + node.getStartNode())
//get Node screen
val nodeScreenOption = node.getScreen()
if (nodeScreenOption.isDefined) {
val nodeScreen = nodeScreenOption.get
//get screens id
println(" screens id: " + nodeScreen.getId())
//get display label
println("display label: " + nodeScreen.getDisplayLabel())
}
}
//get Chart connections
val connections = chartData.getConnections()
for (connection <- connections) {
//get connection target screen
val connectionScreenOption = connection.getTargetScreen()
if (connectionScreenOption.isDefined) {
val connectionScreen = connectionScreenOption.get
//get screens id
println(" screens id: " + connectionScreen.getId())
//get display label
println("display label: " + connectionScreen.getDisplayLabel())
}
//get connection source button
val connectionButtonOption = connection.getSourceButton()
if (connectionButtonOption.isDefined) {
val connectionButton = connectionButtonOption.get
//get connectionButton id
println(" button id: " + connectionButton.getId())
//get display label
println("display label: " + connectionButton.getDisplayLabel())
}
}
//get Chart Data Canvas width
println("Chart Data Canvas width: " + chartData.getCanvasWidth())
//get Chart Data Canvas height
println("Chart Data Canvas height: " + chartData.getCanvasHeight())
}
val screens = container.getScreens()
if (screens != null) {
for (screen <- screens) {
//get screens id
println(" screens id: " + screen.getId())
//get display label
println("display label: " + screen.getDisplayLabel())
//get segments
val segments = screen.getSegments()
for (segment <- segments) {
//get screens segment id
println("screens segment id: " + segment.getId())
//get screens segment sequence number
println("screens segment equence number: " + segment.getSequenceNumber())
//get screens segment display label
println("screens segment display label: " + segment.getDisplayLabel())
//get screens segment type
println("screens segment type: " + segment.getType())
//get screens segment column count
println("screens segment column count: " + segment.getColumnCount())
val fields = segment.getFields()
for (field <- fields) {
//get screens segment field id
println("screens segment field id: " + field.getId())
//get screens segment field apiname
println("screens segment field apiname: " + field.getAPIName())
}
//get screens segment Buttons
val buttons = segment.getButtons()
for (button <- buttons) {
//get screens segment Button critera
val criteriaOption = button.getCriteria()
if (criteriaOption.isDefined) {
val criteria = criteriaOption.get
printCriteria(criteria)
}
//get Button target screen
val targetScreenOption = button.getTargetScreen()
if (targetScreenOption.isDefined) {
val targetScreen = targetScreenOption.get
//get Button target screen id
println(" Button targetScreen id : " + targetScreen.getId())
//get Button target screen display label
println(" Button targetScreen display label: " + targetScreen.getDisplayLabel())
}
//get Button display label
println(" Button display label: " + button.getDisplayLabel())
//get Button id
println(" Button id: " + button.getId())
//get Button display label
println(" Button display label: " + button.getDisplayLabel())
//get Button type
println(" Button type: " + button.getType())
//get Button bg color
println(" Button bg color: " + button.getBackgroundColor())
//get Button sequence number
println(" Button sequence number: " + button.getSequenceNumber())
//get Button color
println(" Button color: " + button.getColor())
//get Button shape
println(" Button shape: " + button.getShape())
//get Button sequence number
println(" Button sequence number: " + button.getSequenceNumber())
}
}
}
}
}
//Get the Created by
val createdByOption = wizard.getCreatedBy()
if (createdByOption.isDefined) {
val createdBy = createdByOption.get
println("Wizard Created By Name : " + createdBy.getName())
println("Wizard Created By id : " + createdBy.getId())
println("Wizard Created By Name : " + createdBy.getEmail())
}
//Get the parent Wizard
val parentWizardOption = wizard.getParentWizard()
if (parentWizardOption.isDefined) {
val parentWizard = parentWizardOption.get
println("Wizard parent Wizard id : " + parentWizard.getId())
println("Wizard parent Wizard Name : " + parentWizard.getName())
}
// Get the draft of each Wizard
println("Wizard Draft: " + wizard.getDraft())
// Get the ID of each Wizard
println("Wizard ID: " + wizard.getId())
}
case _ => //Check if the request returned an exception
responseHandler match {
case exception: APIException => //Get the received APIException instance
//Get the Status
println("Status: " + exception.getStatus.getValue)
//Get the Code
println("Code: " + exception.getCode.getValue)
println("Details: ")
exception.getDetails.foreach(entry => {
println(entry._1 + ": " + entry._2)
})
//Get the Message
println("Message: " + exception.getMessage.getValue)
case _ =>
}
}
}
else { //If response is not as expected
//Get model object from response
val responseObject = response.getModel
//Get the response object's class
val clas = responseObject.getClass
//Get all declared fields of the response class
val fields = clas.getDeclaredFields
for (field <- fields) { //Get each value
println(field.getName + ":" + field.get(responseObject))
}
}
}
}
}
class Wizards {}
Get Wizard by ID
package com.zoho.crm.sample.wizards
import java.util
import com.zoho.crm.api.ParameterMap
import com.zoho.crm.api.customviews.Criteria
import com.zoho.crm.api.wizards.APIException
import com.zoho.crm.api.wizards.ResponseWrapper
import com.zoho.crm.api.wizards.WizardsOperations
import com.zoho.crm.api.wizards.WizardsOperations.GetWizardbyIDParam
object Wizards {
/*
* get Wizard
* This method is used to get single Wizard
* @param wizardID id of the wizard
* @throws Exception
*/
def getWizard(wizardID: Long): Unit = { //example,
// Get instance of WizardsOperations Class
val wizardsOperations = new WizardsOperations()
val paramInstance = new ParameterMap()
// Call getWizardbyid method
paramInstance.add(new GetWizardbyIDParam().layoutId, "3477061000000091055")
val responseOption = wizardsOperations.getWizardById(wizardID, Option(paramInstance))
if (responseOption.isDefined) {
var response = responseOption.get
println("Status Code: " + response.getStatusCode)
if (util.Arrays.asList(204, 304).contains(response.getStatusCode)) {
println(if (response.getStatusCode == 204) "No Content"
else "Not Modified")
return
}
// Check if expected response is received
if (response.isExpected) {
val responseHandler = response.getObject
responseHandler match {
case responseWrapper: ResponseWrapper =>
// Get the list of obtained Wizard instances
val wizards = responseWrapper.getWizards()
for (wizard <- wizards) {
// Get the CreatedTime of each Wizard
println("Wizard CreatedTime: " + wizard.getCreatedTime())
// Get the ModifiedTime of each Wizard
println("Wizard ModifiedTime: " + wizard.getModifiedTime())
// Get the Module of each Wizard
val moduleOption = wizard.getModule()
if (moduleOption.isDefined) {
val module = moduleOption.get
// Get the ID of Module
println("Wizard Module ID: " + module.getId())
// Get the apiName of Module
println("Wizard Module apiName: " + module.getAPIName())
}
// Get the Name of each Wizard
println("Wizard Name: " + wizard.getName())
//Get the Modified by
val modifiedByOption = wizard.getModifiedBy()
if (modifiedByOption.isDefined) {
val modifiedBy = modifiedByOption.get
println("Wizard Modified By Name : " + modifiedBy.getName())
println("Wizard Modified By id : " + modifiedBy.getId())
println("Wizard Modified By Name : " + modifiedBy.getEmail())
}
val profiles = wizard.getProfiles()
for (profile <- profiles) {
// Get the Name of each Profile
println("Wizard Profile Name: " + profile.getName())
// Get the ID of Attachment
println("Wizard Profile ID: " + profile.getId())
}
// Get the active of each Wizard
println("Wizard Active: " + wizard.getActive())
// Get the containers of each Wizard
val containers = wizard.getContainers()
for (container <- containers) {
// Get the id of each Container
println("Wizard Container ID: " + container.getId())
// Get the layout of each Container
val layoutOption = container.getLayout()
if (layoutOption.isDefined) {
val layout = layoutOption.get
//get Layout ID
println("Wizard Container Layout ID: " + layout.getId())
//get Layout Name
println("Wizard Container Layout Name: " + layout.getName())
}
val chartDataOption = container.getChartData()
if (chartDataOption.isDefined) {
val chartData = chartDataOption.get
//get Chart nodes
val nodes = chartData.getNodes()
for (node <- nodes) {
//get Node poistion y
println("Chart Data Node poistion y: " + node.getPosY())
//get Node poistion x
println("Chart Data Node poistion X: " + node.getPosX())
//get Node start node
println("Chart Data Node start node: " + node.getStartNode())
//get Node screen
val nodeScreenOption = node.getScreen()
if (nodeScreenOption.isDefined) {
val nodeScreen = nodeScreenOption.get
//get screens id
println(" screens id: " + nodeScreen.getId())
//get display label
println("display label: " + nodeScreen.getDisplayLabel())
}
}
//get Chart connections
val connections = chartData.getConnections()
if (connections != null) {
for (connection <- connections) {
//get connection target screen
val connectionScreenOption = connection.getTargetScreen()
if (connectionScreenOption.isDefined) {
val connectionScreen = connectionScreenOption.get
//get screens id
println(" screens id: " + connectionScreen.getId())
//get display label
println("display label: " + connectionScreen.getDisplayLabel())
}
//get connection source button
val connectionButtonOption = connection.getSourceButton()
if (connectionButtonOption.isDefined) {
val connectionButton = connectionButtonOption.get
//get connectionButton id
println(" button id: " + connectionButton.getId())
//get display label
println("display label: " + connectionButton.getDisplayLabel())
}
}
}
//get Chart Data Canvas width
println("Chart Data Canvas width: " + chartData.getCanvasWidth())
//get Chart Data Canvas height
println("Chart Data Canvas height: " + chartData.getCanvasHeight())
}
val screens = container.getScreens()
if (screens != null) {
for (screen <- screens) {
//get screens id
println(" screens id: " + screen.getId())
//get display label
println("display label: " + screen.getDisplayLabel())
//get segments
val segments = screen.getSegments()
for (segment <- segments) {
//get screens segment id
println("screens segment id: " + segment.getId())
//get screens segment sequence number
println("screens segment equence number: " + segment.getSequenceNumber())
//get screens segment display label
println("screens segment display label: " + segment.getDisplayLabel())
//get screens segment type
println("screens segment type: " + segment.getType())
//get screens segment column count
println("screens segment column count: " + segment.getColumnCount())
val fields = segment.getFields()
if (fields != null) {
for (field <- fields) {
//get screens segment field id
println("screens segment field id: " + field.getId())
//get screens segment field apiname
println("screens segment field apiname: " + field.getAPIName())
}
}
//get screens segment Buttons
val buttons = segment.getButtons()
if (buttons != null) {
for (button <- buttons) {
//get screens segment Button critera
val criteriaOption = button.getCriteria()
if (criteriaOption.isDefined) {
val criteria = criteriaOption.get
printCriteria(criteria)
}
//get Button target screen
val targetScreenOption = button.getTargetScreen()
if (targetScreenOption.isDefined) {
val targetScreen = targetScreenOption.get
//get Button target screen id
println(" Button targetScreen id : " + targetScreen.getId())
//get Button target screen display label
println(" Button targetScreen display label: " + targetScreen.getDisplayLabel())
}
//get Button display label
println(" Button display label: " + button.getDisplayLabel())
//get Button id
println(" Button id: " + button.getId())
//get Button display label
println(" Button display label: " + button.getDisplayLabel())
//get Button type
println(" Button type: " + button.getType())
//get Button bg color
println(" Button bg color: " + button.getBackgroundColor())
//get Button sequence number
println(" Button sequence number: " + button.getSequenceNumber())
//get Button color
println(" Button color: " + button.getColor())
//get Button shape
println(" Button shape: " + button.getShape())
//get Button sequence number
println(" Button sequence number: " + button.getSequenceNumber())
}
}
}
}
}
}
//Get the Created by
val createdByOption = wizard.getCreatedBy()
if (createdByOption.isDefined) {
val createdBy = createdByOption.get
println("Wizard Created By Name : " + createdBy.getName())
println("Wizard Created By id : " + createdBy.getId())
println("Wizard Created By Name : " + createdBy.getEmail())
}
//Get the parent Wizard
val parentWizardOption = wizard.getParentWizard()
if (parentWizardOption.isDefined) {
val parentWizard = parentWizardOption.get
println("Wizard Folder id : " + parentWizard.getId())
println("Wizard Folder Name : " + parentWizard.getName())
}
// Get the draft of each Wizard
println("Wizard Draft: " + wizard.getDraft())
// Get the ID of each Wizard
println("Wizard ID: " + wizard.getId())
}
case exception: APIException =>
println("Status: " + exception.getStatus.getValue)
println("Code: " + exception.getCode.getValue)
println("Details: ")
exception.getDetails.foreach(entry => {
println(entry._1 + ": " + entry._2)
})
println("Message: " + exception.getMessage.getValue)
case _ =>
}
}
else {
val responseObject = response.getModel
val clas = responseObject.getClass
val fields = clas.getDeclaredFields
for (field <- fields) {
println(field.getName + ":" + field.get(responseObject))
}
}
}
}
}
class Wizards{}