Name
sn_smd.SMSvcModel
Description
No description available
Script
var SMSvcModel = Class.create();
SMSvcModel.prototype = Object.extendsObject(SMCommonModel, {
/**
* @param {IServiceContainer} svcContainer object
*/
initialize: function(svcContainer) {
if(gs.nil(svcContainer)) {
throw '[SMSvcModel.initialize] Cannot instantiate null object';
}
this.setDAO(svcContainer);
this.setSecurityContext(SMSecurityManager.SERVICE_MODEL_CTX);
},
deleteModel: function() {
try {
if(!this.canDelete()) {
throw 'Cannot delete a service model: Permission denied';
}
this.getDAO().deleteRecord();
} catch(error) {
var displayMessage = gs.getMessage('Failed to delete a service model');
var internalMessage = 'Error in SMSvcModel.deleteModel';
throw SMErrorHelper.createJavaAPIError(displayMessage, internalMessage, error);
}
},
createLayer: function(kind, identifier, name, description, parentLayerId) {
var svcEnv = null;
var parent = null; //service model layer object
if(gs.nil(parentLayerId)) {
if(!this.canCreate()) {
throw 'Cannot create a service layer: Permission denied';
}
svcEnv = this.getDAO().createEnvironment('se_' + name);
} else {
var parentLayer = SMAPI.loadServiceLayer(parentLayerId);
if(!parentLayer.canCreate()) {
throw 'Cannot create a service layer: Permission denied';
}
svcEnv = parentLayer.getEnvironment();
parent = parentLayer.getDAO();
}
var layer = svcEnv.createLayer(kind, identifier, parent);
layer.setName(name);
layer.setDescription(description || "");
return new SMSvcLayer(layer);
},
//creates new service layer with a new service environment
createLayerWithDependency: function(kind, identifier, name, description, parentLayerId) {
var parent = null;
if(!gs.nil(parentLayerId)) {
var parentLayer = SMAPI.loadServiceLayer(parentLayerId);
if(!parentLayer.canCreate()) {
throw 'Cannot create a service layer: Permission denied';
}
parent = parentLayer.getDAO();
}
else if(!this.canCreate()) {
throw 'Cannot create a service layer: Permission denied';
}
var svcEnv = this.getDAO().createEnvironment('se_' + name);
var layer = svcEnv.createLayer(kind, identifier, parent);
layer.setName(name);
layer.setDescription(description || "");
return new SMSvcLayer(layer);
},
type: 'SMSvcModel'
});
Sys ID
d13bbfb09f822200e78d317f842e704b