Name
sn_smd.SMSvcLayer
Description
No description available
Script
var SMSvcLayer = Class.create();
SMSvcLayer.prototype = Object.extendsObject(SMCommonModel, {
/**
* @param {IServiceLayer} layer - a layer object
* @param {?string} securityContext - predefined security context definition id
*/
initialize: function(layer, securityContext) {
if(gs.nil(layer)) {
throw '[SMSvcLayer.initialize] Cannot instantiate null object';
}
this.setDAO(layer);
var secCtxString = securityContext || new SMSecurityManager().getLayerContextId(layer);
this.setSecurityContext(secCtxString);
},
getKind: function() {
return this.getDAO().getKind();
},
getKindIdentifier: function() {
return this.getDAO().getKindIdentifier();
},
getEnvironment: function() {
return this.getDAO().getEnvironment();
},
getServiceModel: function() {
return new SMSvcModel(this.getDAO().getContainer());
},
getParentLayer: function() {
var parent = this.getDAO().getDependsOn();
return gs.nil(parent) ? null : new SMSvcLayer(parent);
},
deleteLayer: function() {
if(!this.canDelete()) {
throw 'Cannot delete a service layer: Permission denied';
}
var layer = this.getDAO();
try {
if(gs.nil(layer.getDependsOn())) {
layer.getEnvironment().deleteRecord();
} else {
layer.deleteRecord();
}
} catch(err) {
var displayMessage = gs.getMessage('Failed to delete a layer');
var internalMessage = 'Exception caught in SMSvcLayer.deleteLayer.';
throw SMErrorHelper.createJavaAPIError(displayMessage, internalMessage, err);
}
},
getServiceDefinitions: function() {
try {
var versions = [];
var checkouts = this.getDAO().checkedOuts();
for(var i =0; i < checkouts.length; i++) {
var checkoutId = checkouts[i].getSysId();
var activeChkpt = checkouts[i].getTimeLine().getActiveCheckpoint();
versions.push(new SMSvcModelVersion(this.getId(), activeChkpt.getSysId(), checkoutId));
}
var checkedInCheckpoints = this.getDAO().getCheckedIn().getAllCheckpoints();
for(var j = 0; j < checkedInCheckpoints.length; j++) {
versions.push(new SMSvcModelVersion(this.getId(), checkedInCheckpoints[j].getSysId(), null));
}
return versions;
} catch (err) {
var displayMessage = gs.getMessage('Failed to load the list of versions');
var internalMessage = 'Exception caught in SMSvcLayer.getVersions.';
throw SMErrorHelper.createJavaAPIError(displayMessage, internalMessage, err);
}
},
//by default set the get the value as empty string
getConfigurationValue: function(key, defaultValue) {
return this.getDAO().getConfigurationValue(key, defaultValue || '');
},
setConfigurationValue: function(key, value) {
this.getDAO().setConfigurationValue(key, value);
},
type: 'SMSvcLayer'
});
Sys ID
60417891c3822200e2ddb59af3d3ae3c