Interface KuwaibaSoapWebService
-
- All Known Implementing Classes:
KuwaibaSoapWebServiceImpl
public interface KuwaibaSoapWebService
The principal northbound interface. A simple, yet comprehensive, SOAP-based web service.- Author:
- Charles Edward Bedon Cortazar <charles.bedon@kuwaiba.org>
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description String
addActivity(String parentId, String parentClassName, String className, String[] attributeNames, String[] attributeValues, String sessionId)
Adds an ActivityString
addIPAddress(String id, String parentClassName, List<StringPair> attributes, String sessionId)
Adds an IP address to a Subnetvoid
addObjectsToFavoritesFolder(String[] objectClass, String[] objectId, long favoritesFolderId, long userId, String sessionId)
Associates a list of objects to an existing favorites foldervoid
addPossibleChildren(String parentClassName, String[] childrenToBeAdded, String sessionId)
Adds possible children to a given class using its name as argument.void
addPossibleChildrenForClassWithId(long parentClassId, long[] newPossibleChildren, String sessionId)
Adds possible children to a given class using its id as argument.void
addPossibleSpecialChildren(String parentClassName, String[] possibleSpecialChildren, String sessionId)
Adds special possible children to a given class using its name.void
addPossibleSpecialChildrenWithId(long parentClassId, long[] possibleSpecialChildren, String sessionId)
Adds possible special children to a given class using its id as argument.String
addProject(String parentId, String parentClassName, String className, String[] attributeNames, String[] attributeValues, String sessionId)
Adds a Projectvoid
addUserToGroup(long userId, long groupId, String sessionId)
Adds a user to a groupvoid
associateObjectsToContract(String[] objectClass, String[] objectId, String contractClass, String contractId, String sessionId)
Associates a list of objects (instances of a subclass of InventoryObject) to an existing contract (most probably a support contract)void
associateObjectsToProject(String projectClass, String projectId, String[] objectClass, String[] objectId, String sessionId)
Associates a set of objects with a Projectvoid
associateObjectsToService(String[] objectClass, String[] objectId, String serviceClass, String serviceId, String sessionId)
Associates a list of objects (resources) to an existing servicevoid
associateObjectToProject(String projectClass, String projectId, String objectClass, String objectId, String sessionId)
Associates an object to a Projectvoid
associateObjectToProxy(String objectClass, String objectId, String proxyClass, String proxyId, String sessionId)
Associates an inventory object to an inventory proxy.void
associateObjectToService(String objectClass, String objectId, String serviceClass, String serviceId, String sessionId)
Associates an object (a resource) to an existing servicevoid
associatePhysicalNodeToWarehouse(String objectClass, String objectId, String warehouseClass, String warehouseId, String sessionId)
Associates an object (a resource) to an existing warehouse or virtual warehousevoid
associatesPhysicalNodeToWarehouse(String[] objectClass, String[] objectId, String warehouseClass, String warehouseId, String sessionId)
Associates a list of objects (resources) to an existing warehouse or virtual warehouselong
attachFileToObject(String name, String tags, byte[] file, String className, String objectId, String sessionId)
Attaches a file to an inventory objectString
bulkUpload(byte[] file, int commitSize, int dataType, String sessionId)
Creates many objects at once given a well formatted file.void
closeSession(String sessionId)
Closes a sessionvoid
commitActivity(long processInstanceId, long activityDefinitionId, RemoteArtifact artifact, String sessionId)
Saves the artifact generated once an activity has been completed (for example, the user filled in a form).void
connectMirrorMultiplePort(String aObjectClass, String aObjectId, List<String> bObjectClasses, List<String> bObjectIds, String sessionId)
Connect two ports using a mirrorMultiple relationshipvoid
connectMirrorPort(String[] aObjectClass, String[] aObjectId, String[] bObjectClass, String[] bObjectId, String sessionId)
Connect two ports using a mirror relationshipvoid
connectMplsLink(String[] sideAClassNames, String[] sideAIds, String[] linksIds, String[] sideBClassNames, String[] sideBIds, String sessionId)
Connect a given mpls links with a given ports for every sidevoid
connectPhysicalContainers(String[] sideAClassNames, String[] sideAIds, String[] containersClassNames, String[] containersIds, String[] sideBClassNames, String[] sideBIds, String sessionId)
Connects pairs of elements (of any class except subclasses of GenericPort) using containers (subclasses of GenericPhysicalContainer)void
connectPhysicalLinks(String[] sideAClassNames, String[] sideAIds, String[] linksClassNames, String[] linksIds, String[] sideBClassNames, String[] sideBIds, String sessionId)
Connects pairs of ports (if they are not connected already) using physical linkString[]
copyObjects(String targetClass, String targetOid, String[] objectClasses, String[] objectOids, boolean recursive, String sessionId)
Copy objects from its current parent to a target.void
copyPoolItemToPool(String poolId, String poolItemClassName, String poolItemId, boolean recursive, String sessionId)
Copy a pool item from a pool to another poolString[]
copySpecialObjects(String targetClass, String targetOid, String[] objectClasses, String[] objectOids, boolean recursive, String sessionId)
Copy special objects from its current parent to a target.void
copySyncDataSourceConfiguration(long syncGroupId, long[] syncDataSourceConfigurationIds, String sessionId)
Creates "copy" a relation between a set of sync data source configurations and a given sync groupString[]
copyTemplateElements(String[] sourceObjectsClassNames, String[] sourceObjectsIds, String newParentClassName, String newParentId, String sessionId)
Copy template elements within templates.String[]
copyTemplateSpecialElements(String[] sourceObjectsClassNames, String[] sourceObjectsIds, String newParentClassName, String newParentId, String sessionId)
Copy template special elements within templates.void
createAttribute(String className, String name, String displayName, String type, String description, boolean administrative, boolean visible, boolean isReadOnly, boolean noCopy, boolean unique, boolean mandatory, boolean multiple, int order, String sessionId)
Adds an attribute to a class using its name as key to find it.void
createAttributeForClassWithId(long ClassId, String name, String displayName, String type, String description, boolean administrative, boolean visible, boolean readOnly, boolean noCopy, boolean unique, boolean mandatory, boolean multiple, int order, String sessionId)
Adds an attribute to a class using its id as key to find it.String[]
createBulkObjects(String className, String parentClassName, String parentOid, String namePattern, String templateId, String sessionId)
Creates multiple objects using a given name patternString[]
createBulkSpecialObjects(String className, String parentClassName, String parentId, int numberOfSpecialObjects, String namePattern, String sessionId)
Creates multiple special objects using a given naming patternString[]
createBulkSpecialTemplateElement(String stElementClass, String stElementParentClassName, String stElementParentId, String stElementNamePattern, String sessionId)
Creates multiple special template elements using a given name patternString[]
createBulkTemplateElement(String templateElementClassName, String templateElementParentClassName, String templateElementParentId, String templateElementNamePattern, String sessionId)
Creates multiple template elements using a given name patternlong
createBusinessRule(String ruleName, String ruleDescription, int ruleType, int ruleScope, String appliesTo, String ruleVersion, List<String> constraints, String sessionId)
Creates a business rule given a set of constraintslong
createClass(String className, String displayName, String description, boolean isAbstract, boolean isCustom, boolean isCountable, boolean isInDesign, String parentClassName, byte[] icon, byte[] smallIcon, int color, String sessionId)
Creates a class metadata object.long
createClassLevelReport(String className, String reportName, String reportDescription, String script, int outputType, boolean enabled, String sessionId)
Creates a class level report (a report that will be available for all instances of a given class -and its subclasses-)long
createConfigurationVariable(String configVariablesPoolId, String name, String description, int type, boolean masked, String valueDefinition, String sessionId)
Creates a configuration variable inside a pool.String
createConfigurationVariablesPool(String name, String description, String sessionId)
Creates a pool of configuration variables.String
createContact(String contactClass, List<StringPair> properties, String customerClassName, String customerId, String sessionId)
Creates a contactlong
createFavoritesFolderForUser(String favoritesFolderName, long userId, String sessionId)
Creates a favorites folder for User.long
createGeneralView(String viewClass, String name, String description, byte[] structure, byte[] background, String sessionId)
Creates a general view (a view that is not associated to any object)long
createGroup(String groupName, String description, List<Long> users, String sessionId)
Creates a grouplong
createInventoryLevelReport(String reportName, String reportDescription, String script, int outputType, boolean enabled, List<StringPair> parameters, String sessionId)
Creates an inventory level report (a report that is not tied to a particlar instance or class.String
createListTypeItem(String className, String name, String displayName, String sessionId)
Creates a list type itemlong
createListTypeItemRelatedView(String listTypeItemId, String listTypeItemClassName, String viewClassName, String name, String description, byte[] structure, byte[] background, String sessionId)
Creates a view for a given list type item.String
createMPLSLink(String classNameEndpointA, String idEndpointA, String classNameEndpointB, String idEndpointB, List<StringPair> attributesToBeSet, String sessionId)
Creates an MPLS linkString
createObject(String className, String parentObjectClassName, String parentOid, String[] attributeNames, String[] attributeValues, String templateId, String sessionId)
Creates a business objectlong
createObjectRelatedView(String objectId, String objectClass, String name, String description, String viewClassName, byte[] structure, byte[] background, String sessionId)
Creates a view an relates it to an existing objectlong
createOSPView(String name, String description, byte[] content, String sessionId)
Creates an Outside Plant ViewString
createPhysicalConnection(String aObjectClass, String aObjectId, String bObjectClass, String bObjectId, String name, String connectionClass, String templateId, String sessionId)
Creates a physical connection (a container or a link).String[]
createPhysicalConnections(String[] aObjectClasses, String[] aObjectIds, String[] bObjectClasses, String[] bObjectIds, String name, String connectionClass, String templateId, String sessionId)
Creates a physical connection (a container or a link).String
createPoolInObject(String parentClassname, String parentId, String name, String description, String instancesOfClass, int type, String sessionId)
Creates a pool that will have as parent an inventory object.String
createPoolInPool(String parentId, String name, String description, String instancesOfClass, int type, String sessionId)
Creates a pool that will have as parent another pool.String
createPoolItem(String poolId, String className, String[] attributeNames, String[] attributeValues, String templateId, String sessionId)
Creates an object within a poollong
createProcessDefinition(String name, String description, String version, boolean enabled, byte[] structure, String sessionId)
Creates a process definition.long
createProcessInstance(long processDefinitionId, String processInstanceName, String processInstanceDescription, String sessionId)
Creates an instance of a process, that is, starts oneString
createProjectPool(String name, String description, String instanceOfClass, String sessionId)
Creates a Project PoolString
createProxy(String proxyPoolId, String proxyClass, List<StringPair> attributes, String sessionId)
Creates an inventory proxy.String
createProxyPool(String name, String description, String sessionId)
Creates a proxy pool.long
createQuery(String queryName, long ownerOid, byte[] queryStructure, String description, String sessionId)
Creates a query using the Graphical Query BuilderString
createRootPool(String name, String description, String instancesOfClass, int type, String sessionId)
Creates a pool without a parent.String
createSDHContainerLink(String classNameEndpointA, String idEndpointA, String classNameEndpointB, String idEndpointB, String linkType, List<RemoteSDHPosition> positions, String defaultName, String sessionId)
Creates an SDH container link (VCX).String
createSDHTransportLink(String classNameEndpointA, String idEndpointA, String classNameEndpointB, String idEndpointB, String linkType, String defaultName, String sessionId)
Creates an SDH transport link (STMX)String
createSDHTributaryLink(String classNameEndpointA, String idEndpointA, String classNameEndpointB, String idEndpointB, String linkType, List<RemoteSDHPosition> positions, String defaultName, String sessionId)
Creates an SDH tributary link (VCXTributaryLink)RemoteSession
createSession(String username, String password, int sessionType)
Creates a session.String
createSpecialObject(String className, String parentObjectClassName, String parentOid, String[] attributeNames, String[] attributeValues, String templateId, String sessionId)
Creates a special business object.String
createSubnet(String poolId, String className, List<StringPair> attributes, String sessionId)
Creates a subnetString
createSubnetPool(String parentId, String subnetPoolName, String subnetPoolDescription, String className, String sessionId)
Creates a pool of subnets if the parentId is -1 the pool will be created in the default root for pools of subnetslong
createSynchronizationDataSourceConfig(String objectId, long syncGroupId, String name, List<StringPair> parameters, String sessionId)
Creates a Synchronization Data Source Configuration.long
createSynchronizationGroup(String name, String sessionId)
Creates a Synchronization Group.long
createTask(String name, String description, boolean enabled, boolean commitOnExecute, String script, List<StringPair> parameters, RemoteTaskScheduleDescriptor schedule, RemoteTaskNotificationDescriptor notificationType, String sessionId)
Creates and schedule a task.String
createTemplate(String templateClass, String templateName, String sessionId)
Creates a template.String
createTemplateElement(String templateElementClass, String templateElementParentClassName, String templateElementParentId, String templateElementName, String sessionId)
Creates an object inside a template.String
createTemplateSpecialElement(String tsElementClass, String tsElementParentClassName, String tsElementParentId, String tsElementName, String sessionId)
Creates an special object inside a template.long
createUser(String username, String password, String firstName, String lastName, boolean enabled, int type, String email, List<PrivilegeInfo> privileges, long defaultGroupId, String sessionId)
Creates a user.long
createValidatorDefinition(String name, String description, String classToBeApplied, String script, boolean enabled, String sessionId)
Creates a validator definition.void
deleteActivity(String className, String oid, boolean releaseRelationships, String sessionId)
Deletes an Activityvoid
deleteAttribute(String className, String attributeName, String sessionId)
Deletes an attribute from a class using the class name as key to find itvoid
deleteAttributeForClassWithId(long classId, String attributeName, String sessionId)
Deletes an attribute from a class using the class id as key to find itvoid
deleteBusinessRule(long businessRuleId, String sessionId)
Deletes a business rulevoid
deleteClass(String className, String sessionId)
Deletes a class from the data model using its name as key to find itvoid
deleteClassWithId(long classId, String sessionId)
Deletes a class from the data model using its id as key to find itvoid
deleteConfigurationVariable(String name, String sessionId)
Deletes a config variablevoid
deleteConfigurationVariablesPool(String poolId, String sessionId)
Deletes a configuration variables pool.void
deleteContact(String contactClass, String contactId, String sessionId)
Deletes a contactvoid
deleteFavoritesFolders(long[] favoritesFolderId, long userId, String sessionId)
Deletes a set of favorites foldersvoid
deleteGeneralView(List<Long> oids, String sessionId)
Deletes viewsvoid
deleteGroups(List<Long> oids, String sessionId)
Deletes a list of groupsvoid
deleteListTypeItem(String className, String oid, boolean releaseRelationships, String sessionId)
Deletes a list type itemvoid
deleteListTypeItemRelatedView(String listTypeItemId, String listTypeItemClass, long viewId, String sessionId)
Deletes a view related to a list type itemvoid
deleteMPLSLink(String linkId, boolean forceDelete, String sessionId)
Deletes a MPLS linkvoid
deleteObject(String className, String oid, boolean releaseRelationships, String sessionId)
Deletes a set of objects.void
deleteObjects(String[] classNames, String[] oids, boolean releaseRelationships, String sessionId)
Deletes a set of objects.void
deleteOSPView(long viewId, String sessionId)
Deletes an existing OSP viewvoid
deletePhysicalConnection(String objectClass, String objectId, String sessionId)
Deletes a physical connectionvoid
deletePools(String[] ids, String sessionId)
Deletes a set of poolsvoid
deleteProcessDefinition(long processDefinitionId, String sessionId)
Deletes a process definitionvoid
deleteProject(String className, String oid, boolean releaseRelationships, String sessionId)
Deletes a Projectvoid
deleteProxy(String proxyClass, String proxyId, String sessionId)
Deletes a proxy and delete its association with the related inventory objects.void
deleteProxyPool(String proxyPoolId, String sessionId)
Deletes a proxy pool.void
deleteQuery(long queryOid, String sessionId)
Deletes a queryvoid
deleteReport(long reportId, String sessionId)
Deletes a reportvoid
deleteSDHContainerLink(String containerLinkClass, String containerLinkId, boolean forceDelete, String sessionId)
Deletes a container linkvoid
deleteSDHTransportLink(String transportLinkClass, String transportLinkId, boolean forceDelete, String sessionId)
Deletes a transport linkvoid
deleteSDHTributaryLink(String tributaryLinkClass, String tributaryLinkId, String sessionId)
Deletes a tributary link and its corresponding container link.void
deleteSubnetPools(String[] ids, String sessionId)
Deletes a set of subnet poolsvoid
deleteSubnets(String className, List<String> oids, boolean releaseRelationships, String sessionId)
Deletes a subnet.void
deleteSynchronizationDataSourceConfig(long syncDataSourceConfigId, String sessionId)
Deletes a sync data source configuration.void
deleteSynchronizationGroup(long syncGroupId, String sessionId)
Deletes a synchronization group and all the sync configurations associated to itvoid
deleteTask(long taskId, String sessionId)
Deletes a task and unsubscribes all users from itvoid
deleteTemplateElement(String templateElementClass, String templateElementId, String sessionId)
Deletes an element within a template or a template itself.void
deleteUsers(List<Long> oids, String sessionId)
Deletes a list of usersvoid
deleteValidatorDefinition(long validatorDefinitionId, String sessionId)
Deletes a validator definitionvoid
detachFileFromObject(long fileObjectId, String className, String objectId, String sessionId)
Detaches a file from an inventory object.void
disconnectMPLSLink(String connectionId, int sideToDisconnect, String sessionId)
disconnect mpls linkvoid
disconnectPhysicalConnection(String connectionClass, String connectionId, int sideToDisconnect, String sessionId)
Disconnects a side or both sides of a physical connection (a link or a container)byte[]
downloadBulkLoadLog(String fileName, String sessionId)
Retrieves the log file product of a bulk load operation.byte[]
executeClassLevelReport(String objectClassName, String objectId, long reportId, String sessionId)
Executes a class level report and returns the result.byte[]
executeInventoryLevelReport(long reportId, List<StringPair> parameters, String sessionId)
Executes an inventory level report and returns the result.RemoteResultRecord[]
executeQuery(TransientQuery query, String sessionId)
Executes a complex query generated using the Graphical Query Builder.List<RemoteSyncResult>
executeSyncActions(long syncGroupId, List<RemoteSyncAction> actions, String sessionId)
Executes the synchronization actions that the user selected after check the list of findingsRemoteTaskResult
executeTask(long taskId, String sessionId)
Executes a task on demand.List<RemoteObjectLightList>
findSDHRoutesUsingContainerLinks(String communicationsEquipmentClassA, String communicationsEquipmentIdA, String communicationsEquipmentClassB, String communicationsEquipmentIB, String sessionId)
Finds a route between two GenericcommunicationsEquipment based on the ContainerLinks network map (for more details on how this works, please read the SDH Model: Technical Design and Tools document)List<RemoteObjectLightList>
findSDHRoutesUsingTransportLinks(String communicationsEquipmentClassA, String communicationsEquipmentIdA, String communicationsEquipmentClassB, String communicationsEquipmentIB, String sessionId)
Finds a route between two GenericcommunicationsEquipment based on the TransportLinks network map (for more details on how this works, please read the SDH Model: Technical Design and Tools document)void
freeObjectFromProject(String objectClass, String objectId, String projectClass, String projectId, String sessionId)
Releases an object associated to a ProjectRemoteAssetLevelCorrelatedInformation
getAffectedServices(int resourceType, String resourceDefinition, String sessionId)
Retrieves the services affected when a given network resource is alarmed (or down).List<RemoteClassMetadata>
getAllClasses(boolean includeListTypes, String sessionId)
Retrieves the metadata for the entire class hierarchy as ClassInfo instancesList<RemoteClassMetadataLight>
getAllClassesLight(boolean includeListTypes, String sessionId)
Retrieves the metadata for the entire class hierarchy as ClassInfoLight instancesList<RemoteObjectLight>
getAllProjects(String sessionId)
Retrieves the entire list of projects registered in the Project Manager module.List<RemoteInventoryProxy>
getAllProxies(String sessionId)
Gets all the inventory proxies in the database.RemoteArtifactDefinition
getArtifactDefinitionForActivity(long processDefinitionId, long activityDefinitionId, String sessionId)
Given an activity definition, returns the artifact definition associated to itRemoteArtifact
getArtifactForActivity(long processInstanceId, long activityId, String sessionId)
Gets the artifact associated to an activity (for example, a form that was already filled in by a user in a previous, already committed activity)RemoteAttributeMetadata
getAttribute(String className, String attributeName, String sessionId)
Gets a class attribute, using the class name as key to find itRemoteAttributeMetadata
getAttributeForClassWithId(String classId, String attributeName, String sessionId)
Gets a class attribute, using the class id as key to find itList<RemoteLogicalConnectionDetails>
getBGPMap(List<String> mappedBgpLinksIds, String sessionId)
Creates/updates a map of the BGPLinksApplicationLogEntry[]
getBusinessObjectAuditTrail(String objectClass, String objectId, int limit, String sessionId)
Retrieves the log entries for a given [business] objectList<RemoteBusinessRule>
getBusinessRules(int type, String sessionId)
Retrieves the business rules of a particular type.List<RemoteObject>
getChildrenOfClass(String parentOid, String parentClass, String childrenClass, int page, int maxResults, String sessionId)
Gets all children of an object of a given classList<RemoteObjectLight>
getChildrenOfClassLight(String parentOid, String parentClass, String childrenClass, int maxResults, String sessionId)
Gets all children of an object of a given classList<RemoteObjectLight>
getChildrenOfClassLightRecursive(String parentOid, String parentClass, String childrenClass, int maxResults, String sessionId)
Gets recursively all children of an object of a given classRemoteClassMetadata
getClass(String className, String sessionId)
Gets the metadata of a given class using its name as key to find itbyte[]
getClassHierarchy(boolean showAll, String sessionId)
Creates an XML document describing the class hierarchyList<RemoteReportMetadataLight>
getClassLevelReports(String className, boolean recursive, boolean includeDisabled, String sessionId)
Gets the class level reports associated to the given class (or its superclasses)RemoteClassMetadata
getClassWithId(long classId, String sessionId)
Gets the metadata of a given class using its id as key to find itRemoteObjectLight
getCommonParent(String aObjectClass, String aOid, String bObjectClass, String bOid, String sessionId)
Gets the common parent between an a object and b objectRemoteConfigurationVariable
getConfigurationVariable(String name, String sessionId)
Retrieves a configuration variableList<RemoteConfigurationVariable>
getConfigurationVariablesInPool(String poolId, String sessionId)
Gets the configuration variables in a configuration variable poolList<RemotePool>
getConfigurationVariablesPools(String sessionId)
Retrieves the list of pools of configuration variables.RemoteContact
getContact(String contactClass, String contactId, String sessionId)
Gets the whole information about a contactList<RemoteContact>
getContactsForCustomer(String customerClass, String customerId, String sessionId)
Retrieves the contacts associated to a given customerList<RemoteObjectLight>
getContainersBetweenObjects(String objectAClass, String objectAId, String objectBClass, String objectBId, String containerClass, String sessionId)
Retrieves the existing containers between two given nodes.List<RemoteBackgroundJob>
getCurrentJobs(String sessionId)
Gets the current jobs which are executingList<RemoteObjectLight>
getDeviceLayouts(String sessionId)
Gets the list of template elements with a device layoutbyte[]
getDeviceLayoutStructure(String oid, String className, String sessionId)
Gets the device layout structureRemoteViewObject
getE2View(List<String> linkClasses, List<String> linkIds, boolean includeVLANs, boolean includeBDIs, String sessionId)
Returns the structure of a logical connection.RemoteFavoritesFolder
getFavoritesFolder(long favoritesFolderId, long userId, String sessionId)
Gets a favorites folderList<RemoteFavoritesFolder>
getFavoritesFoldersForObject(long userId, String objectClass, String objectId, String sessionId)
Gets the favorites folders an object is included into.List<RemoteFavoritesFolder>
getFavoritesFoldersForUser(long userId, String sessionId)
Gets the list of favorites folders of a given User.RemoteFileObject
getFile(long fileObjectId, String className, String objectId, String sessionId)
Retrieves a particular file from those attached to an inventory object.List<RemoteFileObjectLight>
getFilesForObject(String className, String objectId, String sessionId)
Retrieves the files associated to a given inventory objectRemoteObjectLight
getFirstParentOfClass(String objectClass, String oid, String objectToMatchClassName, String sessionId)
Gets the first occurrence of a parent with a given class (according to the special and standard containment hierarchy) (for example "give me the parent of this port until you find the nearest rack")ApplicationLogEntry[]
getGeneralActivityAuditTrail(int page, int limit, String sessionId)
Retrieves the list of activity log entriesRemoteViewObject
getGeneralView(long viewId, String sessionId)
Gets the information of a particular viewRemoteViewObjectLight[]
getGeneralViews(String viewClass, int limit, String sessionId)
Gets all views that are not related to a particular objectList<GroupInfo>
getGroups(String sessionId)
Retrieves the list of groupsList<GroupInfoLight>
getGroupsForUser(long userId, String sessionId)
Retrieves the groups a user belongs toRemoteClassMetadataLight[]
getInstanceableListTypes(String sessionId)
Retrieves all possible list typesList<RemoteReportMetadataLight>
getInventoryLevelReports(boolean includeDisabled, String sessionId)
Gets the inventory class reports.String
getIPAddress()
Gets the IP address from the client issuing the requestRemoteObject
getLinkConnectedToPort(String portClassName, String portId, String sessionId)
Convenience method that returns the link connected to a port (if any).RemoteObject
getListTypeItem(String listTypeClassName, String listTypeItemId, String sessionId)
Retrieves list type item given its idRemoteViewObject
getListTypeItemRelatedView(String listTypeItemId, String listTypeItemClass, long viewId, String sessionId)
Gets a view related to a list type item, given its id.RemoteViewObjectLight[]
getListTypeItemRelatedViews(String listTypeItemId, String listTypeItemClass, int limit, String sessionId)
Gets all the views related to a list type item.List<RemoteObjectLight>
getListTypeItems(String className, String sessionId)
Retrieves all items for a single list typeRemoteLogicalConnectionDetails
getLogicalLinkDetails(String linkClass, String linkId, String sessionId)
Deprecated.List<RemoteAttributeMetadata>
getMandatoryAttributesInClass(String className, String sessionId)
Retrieves the mandatory attributes for a given classRemoteMPLSConnectionDetails
getMPLSLinkEndpoints(String connectionId, String sessionId)
The details of a given mpls linkRemoteActivityDefinition
getNextActivityForProcessInstance(long processInstanceId, String sessionId)
Requests for the next activity to be executed in a process instance.RemoteObject
getObject(String objectClass, String oid, String sessionId)
Gets the complete information about a given object (all its attributes)List<RemoteObjectLight>
getObjectChildren(String objectClassName, String oid, int maxResults, String sessionId)
Gets the children of a given object given his class name and object idList<RemoteObjectLight>
getObjectChildrenForClassWithId(String oid, long objectClassId, int maxResults, String sessionId)
Gets the children of a given object given his class id and object idRemoteObjectLight
getObjectLight(String objectClass, String oid, String sessionId)
Gets the basic information about a given object (oid, classname, name)RemoteViewObject
getObjectRelatedView(String oid, String objectClass, long viewId, String sessionId)
Gets a particular view related to an objectList<RemoteViewObjectLight>
getObjectRelatedViews(String oid, String objectClass, int viewType, int limit, String sessionId)
Returns list of views associated to an objectList<RemoteObjectLight>
getObjectsInFavoritesFolder(long favoritesFolderId, long userId, int limit, String sessionId)
Gets the objects in a to favorites folderList<RemoteObjectLight>
getObjectsOfClassLight(String className, List<StringPair> attributesToFilter, int page, int maxResults, String sessionId)
Gets all objects of a given classList<RemoteObjectLight>
getObjectSpecialChildren(String objectClass, String objectId, String sessionId)
Gets the special children of a given object.List<RemoteObject>
getObjectsWithFilter(String className, String filterName, String filterValue, String sessionId)
Same asgetObjectsWithFilterLight(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
, but returns RemoteObjects instead of RemoteObjectLightsList<RemoteObjectLight>
getObjectsWithFilterLight(String className, String filterName, String filterValue, String sessionId)
Retrieves a list of light instances of a given class given a simple filter.RemoteViewObject
getOSPView(long viewId, String sessionId)
Retrieves the specific information about an existing OSP viewList<RemoteViewObjectLight>
getOSPViews(String sessionId)
Retrieves the existing OSP viewsRemoteObjectLight
getParent(String objectClass, String oid, String sessionId)
Gets the parent of a given object in the standard and special containment hierarchyRemoteObject
getParentOfClass(String objectClass, String oid, String parentClass, String sessionId)
Gets the first parent of an object which matches the given class in the containment hierarchyList<RemoteObjectLight>
getParents(String objectClass, String oid, String sessionId)
Retrieves all the ancestors of an object in the containment hierarchy.List<RemoteObjectLight>
getParentsUntilFirstOfClass(String objectClass, String oid, String objectToMatchClassName, String sessionId)
Gets the list of parents (according to the special and standard containment hierarchy) until it finds an instance of class objectToMatchClassName (for example "give me the parents of this port until you find the nearest rack")RemoteObjectLight[]
getPhysicalConnectionEndpoints(String connectionClass, String connectionId, String sessionId)
Returns the endpoints of a physical connectionList<RemoteObjectLightList>
getPhysicalConnectionsInObject(String objectClass, String objectId, String sessionId)
Loops through all instances of GenericCommunicationsPort at any level inside the given object and gets the physical path.List<RemoteObjectLight>
getPhysicalPath(String objectClass, String objectId, String sessionId)
Gets the physical trace of connections and ports from a given port.RemoteObjectRelatedObjects
getPhysicalTree(String objectClass, String objectId, String sessionId)
Gets the tree representation of all physical paths.RemotePool
getPool(String poolId, String sessionId)
Retrieves information about a particular poolList<RemoteObjectLight>
getPoolItems(String poolId, int limit, String sessionId)
Gets the objects contained into a poolList<RemotePool>
getPoolsInObject(String objectClassName, String objectId, String poolClass, String sessionId)
Retrieves all the pools that are children of a particular object.List<RemotePool>
getPoolsInPool(String parentPoolId, String poolClass, String sessionId)
Gets the pools contained inside a pool.List<RemoteClassMetadataLight>
getPossibleChildren(String parentClassName, String sessionId)
Gets the possible children of a class according to the containment hierarchy.List<RemoteClassMetadataLight>
getPossibleChildrenNoRecursive(String parentClassName, String sessionId)
Gets the possible children of a class according to the containment hierarchy.List<RemoteClassMetadataLight>
getPossibleSpecialChildren(String parentClassName, String sessionId)
Gets the possible special children of a class according to the containment hierarchy.List<RemoteClassMetadataLight>
getPossibleSpecialChildrenNoRecursive(String parentClassName, String sessionId)
Gets the possible special children of a class according to the containment hierarchy.RemoteProcessDefinition
getProcessDefinition(long processDefinitionId, String sessionId)
Retrieves a process definitionList<RemoteObjectLight>
getProjectActivities(String projectClass, String projectId, String sessionId)
Gets project activitiesList<RemotePool>
getProjectPools(String sessionId)
Gets the project poolsList<RemoteObjectLight>
getProjectResurces(String projectClass, String projectId, String sessionId)
Gets the resources (objects) associates with a ProjectList<RemoteObjectLight>
getProjectsAssociateToObject(String objectClass, String objectId, String sessionId)
Gets the projects associate to an objectList<RemoteObjectLight>
getProjectsInProjectPool(String poolId, int limit, String sessionId)
Gets the project in a Project poolList<RemoteInventoryProxy>
getProxiesInPool(String proxyPoolId, String sessionId)
Gets the list of inventory proxies in a given pool.List<RemotePool>
getProxyPools(String sessionId)
Retrieves the list of pools of proxies.RemoteQueryLight[]
getQueries(boolean showPublic, String sessionId)
Retrieves all saved queriesRemoteQuery
getQuery(long queryOid, String sessionId)
Retrieves a saved queryRemoteReportMetadata
getReport(long reportId, String sessionId)
Gets the information related to a class level report.List<RemotePool>
getRootPools(String className, int type, boolean includeSubclasses, String sessionId)
Retrieves the pools that don't have any parent and are normally intended to be managed by the Pool ManagerList<RemoteSDHContainerLinkDefinition>
getSDHContainerLinkStructure(String containerLinkClass, String containerLinkId, String sessionId)
Gets the internal structure of a container link.List<RemoteSDHContainerLinkDefinition>
getSDHTransportLinkStructure(String transportLinkClass, String transportLinkId, String sessionId)
Retrieves the container links within a transport link (e.g.List<RemoteObjectLight>
getServiceResources(String serviceClass, String serviceId, String sessionId)
Gets the services associated to a serviceList<RemoteObjectLight>
getSiblings(String objectClassName, String oid, int maxResults, String sessionId)
Returns the siblings of an object in the containment hierarchyList<RemoteObjectLight>
getSpecialAttribute(String objectClass, String oid, String attributeName, String sessionId)
Gets the value of a special attribute, this is, those related to a model, such as cables connected to portsRemoteObjectSpecialRelationships
getSpecialAttributes(String objectClass, String oid, String sessionId)
Returns all the special relationships of a given object as a hashmap whose keys are the names of the relationships and the values the list of related objectsList<RemoteObjectLight>
getSpecialChildrenOfClassLight(String parentOid, String parentClass, String classToFilter, int maxResults, String sessionId)
Returns the special children of a given object as RemoteObjectLight instances.List<RemoteObjectLight>
getSpecialChildrenOfClassLightRecursive(String parentOid, String parentClass, String classToFilter, int maxResults, String sessionId)
Returns the special children of a given object as RemoteObjectLight instances in a recursive fashion.List<RemoteClassMetadataLight>
getSubClassesLight(String className, boolean includeAbstractClasses, boolean includeSelf, String sessionId)
Gets the subclasses of a given classList<RemoteClassMetadataLight>
getSubClassesLightNoRecursive(String className, boolean includeAbstractClasses, boolean includeSelf, String sessionId)
Gets the subclasses of a given classRemoteObject
getSubnet(String id, String className, String sessionId)
Gets the complete information about a given subnet (all its attributes)RemotePool
getSubnetPool(String subnetPoolId, String sessionId)
Gets the complete information about a given subnet pool (all its attributes)List<RemotePool>
getSubnetPools(String parentId, String className, String sessionId)
Retrieves all the pools of subnetsList<RemoteObjectLight>
getSubnets(String poolId, int limit, String sessionId)
Retrieves the subnets of a given pool idList<RemoteObjectLight>
getSubnetsInSubnet(String id, int limit, String className, String sessionId)
Retrieves the sub-subnets of a subnetList<RemoteObjectLight>
getSubnetUsedIps(String id, int limit, String className, String sessionId)
Retrieves the IP addresses of a subnetList<RemoteUserInfoLight>
getSubscribersForTask(long taskId, String sessionId)
Gets the users subscribed to a particular task.RemoteSynchronizationConfiguration
getSyncDataSourceConfiguration(String objectId, String sessionId)
Gets the synchronization data source configurations for an objectList<RemoteSynchronizationConfiguration>
getSyncDataSourceConfigurations(long syncGroupId, String sessionId)
Gets the synchronization data source configurations for a sync groupRemoteSynchronizationGroup
getSynchronizationGroup(long syncGroupId, String sessionId)
Gets a given sync groupList<RemoteSynchronizationGroup>
getSynchronizationGroups(String sessionId)
Gets the available sync groupsList<RemoteSynchronizationProvider>
getSynchronizationProviders(String sessionId)
Get the set of sync providers defined in the configuration variables pool called -Sync Providers-RemoteTask
getTask(long taskId, String sessionId)
Retrieves the information about a particular taskList<RemoteTask>
getTasks(String sessionId)
Gets all the registered tasksList<RemoteTask>
getTasksForUser(long userId, String sessionId)
Gets all the tasks related to a particular userRemoteObject
getTemplateElement(String templateElementClass, String templateElementId, String sessionId)
Retrives all the information of a given template element.List<RemoteObjectLight>
getTemplateElementChildren(String templateElementClass, String templateElementId, String sessionId)
Retrieves the children of a given template element.List<RemoteObjectLight>
getTemplatesForClass(String className, String sessionId)
Gets the templates available for a given classList<RemoteObjectLight>
getTemplateSpecialElementChildren(String tsElementClass, String tsElementId, String sessionId)
Retrieves the children of a given template special element.List<RemoteClassMetadataLight>
getUpstreamClassHierarchy(String className, boolean includeSelf, String sessionId)
Gets the parent classes of a given class up to RootObject.List<RemoteClassMetadataLight>
getUpstreamContainmentHierarchy(String className, boolean recursive, String sessionId)
Gets the containment hierarchy of a given class, but upwards (i.e.List<RemoteClassMetadataLight>
getUpstreamSpecialContainmentHierarchy(String className, boolean recursive, String sessionId)
Gets the special containment hierarchy of a given class, but upwards (i.e.List<RemoteUserInfo>
getUsers(String sessionId)
Retrieves the list of usesList<RemoteUserInfo>
getUsersInGroup(long groupId, String sessionId)
Retrieves the users in a groupList<RemoteValidatorDefinition>
getValidatorDefinitionsForClass(String className, String sessionId)
Retrieves all the validator definitions in the systemList<RemotePool>
getWarehouseRootPools(String sessionId)
Gets the warehouse module root pools.boolean
hasAttribute(String className, String attributeName, String sessionId)
Checks if a class has a attribute with a given nameboolean
isSubClassOf(String className, String allegedParentClass, String sessionId)
Tests if a class is subclass of another.boolean
itOverlaps(String networkIp, String broadcastIp, String sessionId)
Checks if a new subnet overlaps with an existing onevoid
killJob(long jobId, String sessionId)
Kills a job given its idList<RemoteSyncResult>
launchAdHocAutomatedSynchronizationTask(List<Long> synDsConfigIds, String providersName, String sessionId)
Executes an automated synchronization job, which consist on connecting to the sync data source using the configuration attached to the given sync group and finding the differences between the information currently in the inventory platform and what's in the sync data source.List<RemoteSyncResult>
launchAutomatedSynchronizationTask(long syncGroupId, String providersName, String sessionId)
Executes an automated synchronization job, which consist on connecting to the sync data source using the configuration attached to the given sync group and finding the differences between the information currently in the inventory platform and what's in the sync data source.List<RemoteSyncFinding>
launchSupervisedSynchronizationTask(long syncGroupId, String sessionId)
Executes a supervised synchronization job, which consist on connecting to the sync data source using the configuration attached to the given sync group and finding the differences between the information currently in the inventory platform and what's in the sync data source.void
moveObjects(String targetClass, String targetOid, String[] objectClasses, String[] objectOids, String sessionId)
Moves objects from their current parent to a target object.void
moveObjectsToPool(String targetClass, String targetOid, String[] objectClasses, String[] objectOids, String sessionId)
Moves objects from their current parent to a pool target object.void
moveObjectsToWarehouse(String targetClass, String targetOid, String[] objectClasses, String[] objectOids, String sessionId)
Moves objects from their current parent to a target object.void
moveObjectsToWarehousePool(String targetClass, String targetOid, String[] objectClasses, String[] objectOids, String sessionId)
Moves objects from their current parent to a warehouse pool target object.void
movePoolItemToPool(String poolId, String poolItemClassName, String poolItemId, String sessionId)
Move a pool item from a pool to another poolvoid
moveSpecialObjects(String targetClass, String targetOid, String[] objectClasses, String[] objectOids, String sessionId)
Moves special objects from their current parent to a target object.void
moveSyncDataSourceConfiguration(long newSyncGroupId, long[] syncDataSourceConfigurationIds, String sessionId)
Moves a sync data source configuration from a sync group to another sync groupvoid
reconnectPhysicalConnection(String connectionClass, String connectionId, String newASideClass, String newASideId, String newBSideClass, String newBSideId, String sessionId)
Changes one or both sides (endpoints) of a physical connection (link or container).void
relateIPtoPort(String id, String portClassName, String portId, String sessionId)
Creates a relation between an IP address and a portvoid
relatePortToInterface(String portId, String portClassName, String interfaceClassName, String interfaceId, String sessionId)
Associates any GenericCommunicationsPort to existing BridgeDomainInterfacevoid
relateSubnetToVlan(String id, String className, String vlanId, String sessionId)
Creates a relation between a Subnet and a VLAN, this method is also using to associate VFRs, and BDIs to a VLAN TODO: check the model, there are redundant relationshipsvoid
relateSubnetToVrf(String id, String className, String vrfId, String sessionId)
Creates a relation between a subnet and a VRFvoid
releaseMirrorMultiplePort(String objectClass, String objectId, String sessionId)
Releases a port mirroring multiple relationship between two ports, receiving one of the ports as parametervoid
releaseMirrorPort(String objectClass, String objectId, String sessionId)
Releases a port mirroring relationship between two ports, receiving one of the ports as parametervoid
releaseObjectFromContract(String objectClass, String objectId, String contractId, String sessionId)
Releases an inventory object from a contract it was related tovoid
releaseObjectFromProxy(String objectClass, String objectId, String proxyClass, String proxyId, String sessionId)
Releases an inventory previously related to an inventory proxy.void
releaseObjectFromService(String serviceClass, String serviceId, String targetId, String sessionId)
Releases an object from a service that is using itvoid
releasePhysicalNodeFromWarehouse(String warehouseClass, String warehouseId, String targetId, String sessionId)
Releases an object from a warehouse or virtual warehouse that is using itvoid
releasePortFromInterface(String interfaceClassName, String interfaceId, String portId, String sessionId)
Release the association between a network element and a MPLSTunnel or BridgeDomain or FrameRelay or VRFvoid
releasePortFromIP(String deviceClassName, String deviceId, String id, String sessionId)
Releases the relation between an IP address and a portvoid
releaseSubnetFromVlan(String subnetId, String vlanId, String sessionId)
Releases the relation between a subnet and a VLAN, this method is also using to release VFRs, and BDIs from a VLAN TODO: check the model there are redundant relationshipsvoid
releaseSubnetFromVRF(String subnetId, String vrfId, String sessionId)
Releases the relation between a subnet and a VRFvoid
releaseSyncDataSourceConfigFromSyncGroup(long syncGroupId, long[] syncDataSourceConfigurationIds, String sessionId)
Release a set of sync data source configuration from a given sync groupvoid
removeIP(String[] oids, boolean releaseRelationships, String sessionId)
Removes a set of IP Addresses from a subnet.void
removeObjectsFromFavoritesFolder(String[] objectClass, String[] objectId, long favoritesFolderId, long userId, String sessionId)
Removes a list of objects from a given favorites foldervoid
removePossibleChildrenForClassWithId(long parentClassId, long[] childrenToBeRemoved, String sessionId)
Removes a set of possible children for a given classvoid
removePossibleSpecialChildren(long parentClassId, long[] specialChildrenToBeRemoved, String sessionId)
Removes a set of possible special children for a given class.void
removePrivilegeFromGroup(long groupId, String featureToken, String sessionId)
Removes a privilege from a uservoid
removePrivilegeFromUser(long userId, String featureToken, String sessionId)
Removes a privilege from a uservoid
removeUserFromGroup(long userId, long groupId, String sessionId)
Removes a user from a groupList<RemoteValidator>
runValidationsForObject(String objectClass, long objectId, String sessionId)
Runs the existing validations for the class associated to the given object.void
saveQuery(long queryOid, String queryName, long ownerOid, byte[] queryStructure, String description, String sessionId)
Save the query made in the graphical Query builderList<RemoteContact>
searchForContacts(String searchString, int maxResults, String sessionId)
Searches for contacts given a search string, This string will be searched in the attribute values of all contactsvoid
setAttributeProperties(String className, long attributeId, String name, String displayName, String description, String type, Boolean administrative, Boolean mandatory, Boolean multiple, Boolean noCopy, Boolean readOnly, Boolean unique, Boolean visible, Integer order, String sessionId)
Updates a class attribute taking its name as key to find it.void
setAttributePropertiesForClassWithId(long classId, long attributeId, String name, String displayName, String description, String type, Boolean administrative, Boolean mandatory, Boolean multiple, Boolean noCopy, Boolean readOnly, Boolean unique, Boolean visible, Integer order, String sessionId)
Updates a class attribute taking its id as key to find it.void
setClassProperties(long classId, String className, String displayName, String description, byte[] smallIcon, byte[] icon, int color, Boolean isAbstract, Boolean isInDesign, Boolean isCustom, Boolean isCountable, String sessionId)
Updates a class metadata properties.void
setGroupProperties(long oid, String groupName, String description, String sessionId)
Sets the properties for an existing groupvoid
setPoolProperties(String poolId, String name, String description, String sessionId)
Updates pool name and descriptionvoid
setPrivilegeToGroup(long groupId, String featureToken, int accessLevel, String sessionId)
Sets a privilege to a group.void
setPrivilegeToUser(long userId, String featureToken, int accessLevel, String sessionId)
Sets a privilege to a user.void
setUserProperties(long oid, String username, String firstName, String lastName, String password, int enabled, int type, String email, String sessionId)
Sets the properties of a given user using the id to search for itvoid
subscribeUserToTask(long userId, long taskId, String sessionId)
Subscribes a user to a task, so it will be notified of the result of its executionvoid
unsubscribeUserFromTask(long userId, long taskId, String sessionId)
Unsubscribes a user from a task, so it will no longer be notified about the result of its executionvoid
updateConfigurationVariable(String name, String propertyToUpdate, String newValue, String sessionId)
Updates the value of a configuration variable.void
updateConfigurationVariablesPool(String poolId, String propertyToUpdate, String value, String sessionId)
Updates an attribute of a given configuration variables pool.void
updateContact(String contactClass, String contactId, List<StringPair> properties, String sessionId)
Updates a set of properties of a contactvoid
updateFavoritesFolder(long favoritesFolderId, String favoritesFolderName, long userId, String sessionId)
Updates a favorites foldervoid
updateFileProperties(long fileObjectId, List<StringPair> properties, String className, String objectId, String sessionId)
Updates the properties of a file object (name or tags)void
updateGeneralView(long viewId, String viewName, String viewDescription, byte[] structure, byte[] background, String sessionId)
Updates a general view (a view that is not linked to any particular object)void
updateListTypeItem(String className, String oid, List<StringPair> attributes, String sessionId)
Updates a list type item.void
updateListTypeItemRelatedView(String listTypeItemId, String listTypeItemClass, long viewId, String name, String description, byte[] structure, byte[] background, String sessionId)
Updates a view for a given list type item.void
updateObject(String className, String oid, List<StringPair> attributes, String sessionId)
Updates attributes of a given objectvoid
updateObjectRelatedView(String objectOid, String objectClass, long viewId, String viewName, String viewDescription, byte[] structure, byte[] background, String sessionId)
Updates an object view (a view that is linked to a particular object)void
updateOSPView(long viewId, String name, String description, byte[] content, String sessionId)
Updates an existing OSP viewvoid
updateProcessDefinition(long processDefinitionId, List<StringPair> properties, byte[] structure, String sessionId)
Updates a process definition, either its standard properties or its structurevoid
updateProxy(String proxyClass, String proxyId, List<StringPair> attributes, String sessionId)
Updates one or many proxy attributes.void
updateProxyPool(String proxyPoolId, String attributeName, String attributeValue, String sessionId)
Updates an attribute of a proxy pool.void
updateReport(long reportId, String reportName, String reportDescription, Boolean enabled, Integer type, String script, String sessionId)
Updates the properties of an existing class level report.void
updateReportParameters(long reportId, List<StringPair> parameters, String sessionId)
Updates the value of any of the parameters of a given report.void
updateSyncDataSourceConfiguration(long syncDataSourceConfigId, List<StringPair> parameters, String sessionId)
Updates a sync data source configurationvoid
updateSynchronizationGroup(long syncGroupId, List<StringPair> syncGroupProperties, String sessionId)
Creates a Synchronization Group.void
updateTaskNotificationType(long taskId, RemoteTaskNotificationDescriptor notificationType, String sessionId)
Updates a task notification typevoid
updateTaskParameters(long taskId, List<StringPair> parameters, String sessionId)
Updates the parameters of a task.void
updateTaskProperties(long taskId, String propertyName, String propertyValue, String sessionId)
Updates any of these properties from a task: name, description, enabled and scriptvoid
updateTaskSchedule(long taskId, RemoteTaskScheduleDescriptor schedule, String sessionId)
Updates a task schedulevoid
updateTemplateElement(String templateElementClass, String templateElementId, String[] attributeNames, String[] attributeValues, String sessionId)
Updates the value of an attribute of a template element.void
updateValidatorDefinition(long validatorDefinitionId, String name, String description, String classToBeApplied, String script, Boolean enabled, String sessionId)
Updates the properties of a validator.RemoteViewObject
validateSavedE2EView(List<String> linkClasses, List<String> linkIds, RemoteViewObject savedView, String sessionId)
Validates a saved structure of a end to end view.
-
-
-
Method Detail
-
createSession
RemoteSession createSession(String username, String password, int sessionType) throws ServerSideException
Creates a session. Only one session per type is allowed. If a new session is created and there was already one of the same type, the old one will be discarded. See RemoteSession.TYPE_XXX for possible session types. System users can not create sessions.- Parameters:
username
- user login namepassword
- user passwordsessionType
- The type of session to be created. This type depends on what kind of client is trying to access (a desktop client, a web client, a web service user, etc. See RemoteSession.TYPE_XXX for possible session types- Returns:
- A session object, including the session token
- Throws:
ServerSideException
- If the user does not exist If the password is incorrect or if the user is not enabled.
-
closeSession
void closeSession(String sessionId) throws ServerSideException
Closes a session- Parameters:
sessionId
- Session token- Throws:
ServerSideException
- If the session ID is Invalid or the IP does not match with the one registered for this session
-
getUsers
List<RemoteUserInfo> getUsers(String sessionId) throws ServerSideException
Retrieves the list of uses- Parameters:
sessionId
- session token- Returns:
- The list of users
- Throws:
ServerSideException
- If the user is not allowed to invoke the method
-
getUsersInGroup
List<RemoteUserInfo> getUsersInGroup(long groupId, String sessionId) throws ServerSideException
Retrieves the users in a group- Parameters:
groupId
- The id of the groupsessionId
- Session token- Returns:
- The list of users in the requested group
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the group does not exist or something unexpected happened.
-
getGroupsForUser
List<GroupInfoLight> getGroupsForUser(long userId, String sessionId) throws ServerSideException
Retrieves the groups a user belongs to- Parameters:
userId
- The id of the usersessionId
- Session token- Returns:
- The list of groups the user belongs to
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the group does not exist or something unexpected happened.
-
getGroups
List<GroupInfo> getGroups(String sessionId) throws ServerSideException
Retrieves the list of groups- Parameters:
sessionId
- Session token- Returns:
- A group object list
- Throws:
ServerSideException
- If the user is not allowed to invoke the method or any possible error raised at runtime
-
createUser
long createUser(String username, String password, String firstName, String lastName, boolean enabled, int type, String email, List<PrivilegeInfo> privileges, long defaultGroupId, String sessionId) throws ServerSideException
Creates a user. System users can be created but not deleted or modified. Create system users only if you are a developer, as they can only be modified or deleted by accessing directly to the database.- Parameters:
username
- User name. Can't be null, empty or have non standard characters.password
- A password (in plain text, it'll be encrypted later). Can't be null nor an empty stringfirstName
- User's first namelastName
- User's last nameenabled
- Is this user enable by default?type
- The type of the user. See UserProfileLight.USER_TYPE* for possible valuesemail
- User's emailprivileges
- A list privileges that will be granted to this user.defaultGroupId
- Default group this user will be associated to. Users always belong to at least one group. Other groups can be added later.sessionId
- Session token- Returns:
- The new user Id
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the username is null or empty or the username already exists, if the user type is invalid or if the password is an empty string, or if it is attempted to change the user name of the admin user name, or if this operation is attempted on a system user. Also, if the new user type is invalid.
-
setUserProperties
void setUserProperties(long oid, String username, String firstName, String lastName, String password, int enabled, int type, String email, String sessionId) throws ServerSideException
Sets the properties of a given user using the id to search for it- Parameters:
oid
- User idusername
- New user's name. Use null to leave it unchanged.password
- New user's password. Use null to leave it unchangedfirstName
- New user's first name. Use null to leave it unchangedlastName
- New user's last name. Use null to leave it unchangedenabled
- 0 for false, 1 for true, -1 to leave it unchangedtype
- User type. See UserProfile.USER_TYPE* for possible values. Use -1 to leave it unchangedemail
- New user's emailsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the username is null or empty or the username already exists, if the user type is invalid or if the password is an empty string, or if it is attempted to change the user name of the admin user name, or if this operation is attempted on a system user. Also, if the new user type is invalid.
-
addUserToGroup
void addUserToGroup(long userId, long groupId, String sessionId) throws ServerSideException
Adds a user to a group- Parameters:
userId
- The id of the user to be added to the groupgroupId
- Id of the group which the user will be added tosessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the user is already related to that group or if the user or group can not be found.
-
removeUserFromGroup
void removeUserFromGroup(long userId, long groupId, String sessionId) throws ServerSideException
Removes a user from a group- Parameters:
userId
- The id of the user to be added to the groupgroupId
- Id of the group which the user will be added tosessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the user is not related to that group or if the user or the group could not be found
-
setPrivilegeToUser
void setPrivilegeToUser(long userId, String featureToken, int accessLevel, String sessionId) throws ServerSideException
Sets a privilege to a user. If the privilege already exists, the access level is updated, otherwise, the new privilege is added to the user.- Parameters:
userId
- The user IdfeatureToken
- The feature token. See class Privilege for details. Note that this token must match to the one expected by the client application. That's the only way the correct features will be enabled.accessLevel
- The feature token. See class Privilege.ACCESS_LEVEL* for details.sessionId
- Session token- Throws:
ServerSideException
- If the access level is invalid, if the featureToken has a wrong format or if the user already has that privilege or if the user could not be found.
-
setPrivilegeToGroup
void setPrivilegeToGroup(long groupId, String featureToken, int accessLevel, String sessionId) throws ServerSideException
Sets a privilege to a group. If the privilege already exists, the access level is updated, otherwise, the new privilege is added to the group.- Parameters:
groupId
- The user IdfeatureToken
- The feature token. See class Privilege for details. Note that this token must match to the one expected by the client application. That's the only way the correct features will be enabled.accessLevel
- The feature token. See class Privilege.ACCESS_LEVEL* for details.sessionId
- Session token- Throws:
ServerSideException
- If the access level is invalid, if the featureToken has a wrong format or if the group already has that privilege or if the group could not be found
-
removePrivilegeFromUser
void removePrivilegeFromUser(long userId, String featureToken, String sessionId) throws ServerSideException
Removes a privilege from a user- Parameters:
userId
- Id of the userfeatureToken
- The feature token. See class Privilege for details.sessionId
- Session token- Throws:
ServerSideException
- If the feature token is not related to the user or if the user could not be found
-
removePrivilegeFromGroup
void removePrivilegeFromGroup(long groupId, String featureToken, String sessionId) throws ServerSideException
Removes a privilege from a user- Parameters:
groupId
- Id of the groupfeatureToken
- The feature token. See class Privilege for details.sessionId
- Session token- Throws:
ServerSideException
- If the feature token is not related to the group or if the group could not be found
-
createGroup
long createGroup(String groupName, String description, List<Long> users, String sessionId) throws ServerSideException
Creates a group- Parameters:
groupName
- Group namedescription
- Group descriptionusers
- List of user ids to be related to this groupsessionId
- Session token- Returns:
- The group id
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If any of the provided users could not be found
-
setGroupProperties
void setGroupProperties(long oid, String groupName, String description, String sessionId) throws ServerSideException
Sets the properties for an existing group- Parameters:
oid
- Group idgroupName
- New group name (null if unchanged)description
- New group description (null if unchanged)sessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If any of the privileges ids is invalid. If the group could not be found.
-
deleteUsers
void deleteUsers(List<Long> oids, String sessionId) throws ServerSideException
Deletes a list of users- Parameters:
oids
- List of user ids to be deletedsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If any of the users is the default administrator, which can't be deleted Generic exception encapsulating any possible error raised at runtime
-
deleteGroups
void deleteGroups(List<Long> oids, String sessionId) throws ServerSideException
Deletes a list of groups- Parameters:
oids
- list of group ids to be deletedsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the group you are trying to delete contains the default administrator Generic exception encapsulating any possible error raised at runtime
-
getObjectRelatedView
RemoteViewObject getObjectRelatedView(String oid, String objectClass, long viewId, String sessionId) throws ServerSideException
Gets a particular view related to an object- Parameters:
oid
- Object idobjectClass
- Object classviewId
- The view idsessionId
- Session token- Returns:
- The View object (which is basically an XML document)
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the object or the view can not be found If the corresponding class metadata can not be found If the provided view type is not supported
-
getObjectRelatedViews
List<RemoteViewObjectLight> getObjectRelatedViews(String oid, String objectClass, int viewType, int limit, String sessionId) throws ServerSideException
Returns list of views associated to an object- Parameters:
oid
- Object idobjectClass
- Object classviewType
- View typelimit
- Max number of resultssessionId
- Session token- Returns:
- List of objects related to the object
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the object can not be found If the corresponding class metadata can not be found If the provided view type is not supported
-
getGeneralViews
RemoteViewObjectLight[] getGeneralViews(String viewClass, int limit, String sessionId) throws ServerSideException
Gets all views that are not related to a particular object- Parameters:
viewClass
- View class. Used to filterlimit
- Max number if resultssessionId
- Session token- Returns:
- A list of views
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the view class does not exist If the user is not allowed to query for general views
-
getGeneralView
RemoteViewObject getGeneralView(long viewId, String sessionId) throws ServerSideException
Gets the information of a particular view- Parameters:
viewId
- View idsessionId
- Session token- Returns:
- The view
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the requested view
-
createListTypeItemRelatedView
long createListTypeItemRelatedView(String listTypeItemId, String listTypeItemClassName, String viewClassName, String name, String description, byte[] structure, byte[] background, String sessionId) throws ServerSideException
Creates a view for a given list type item. If there's already a view of the provided view type, it will be overwritten- Parameters:
listTypeItemId
- list type item idlistTypeItemClassName
- list type item class nameviewClassName
- view class namename
- view namedescription
- view descriptionstructure
- XML document with the view structurebackground
- background imagesessionId
- Session token- Returns:
- The id of the new view.
- Throws:
ServerSideException
- If the list type item class can not be found If the view type is not supported
-
updateListTypeItemRelatedView
void updateListTypeItemRelatedView(String listTypeItemId, String listTypeItemClass, long viewId, String name, String description, byte[] structure, byte[] background, String sessionId) throws ServerSideException
Updates a view for a given list type item. If there's already a view of the provided view type, it will be overwritten- Parameters:
listTypeItemId
- list type item idlistTypeItemClass
- list type item classviewId
- viewIdname
- view namedescription
- view descriptionstructure
- XML document with the view structurebackground
- Background image. If null, the previous will be removed, if 0-sized array, it will remain unchangedsessionId
- Session token- Throws:
ServerSideException
- If the list type item can not be found If the list type item class can not be found If the view type is not supported
-
getListTypeItemRelatedView
RemoteViewObject getListTypeItemRelatedView(String listTypeItemId, String listTypeItemClass, long viewId, String sessionId) throws ServerSideException
Gets a view related to a list type item, given its id. An example of these views is a layout associated to a particular device model- Parameters:
listTypeItemId
- list type item idlistTypeItemClass
- list type item classviewId
- view idsessionId
- Session token- Returns:
- The associated view (there should be only one of each type). Null if there's none yet
- Throws:
ServerSideException
- If the list type item or the view can not be found. If the corresponding class metadata can not be found. If the provided view type is not supported.
-
getListTypeItemRelatedViews
RemoteViewObjectLight[] getListTypeItemRelatedViews(String listTypeItemId, String listTypeItemClass, int limit, String sessionId) throws ServerSideException
Gets all the views related to a list type item. An example of these views is a layout associated to a particular device model- Parameters:
listTypeItemId
- list type item idlistTypeItemClass
- list type class namelimit
- max number of resultssessionId
- Session token- Returns:
- The associated views
- Throws:
ServerSideException
- If the corresponding class metadata can not be found If the provided view type is not supported
-
deleteListTypeItemRelatedView
void deleteListTypeItemRelatedView(String listTypeItemId, String listTypeItemClass, long viewId, String sessionId) throws ServerSideException
Deletes a view related to a list type item- Parameters:
listTypeItemId
- list type item idlistTypeItemClass
- list type class nameviewId
- related view idsessionId
- Session token- Throws:
ServerSideException
- If the list type item class can not be found If the list type item can no be found using the id If the view can not be found
-
getDeviceLayouts
List<RemoteObjectLight> getDeviceLayouts(String sessionId) throws ServerSideException
Gets the list of template elements with a device layout- Parameters:
sessionId
- Session id token- Returns:
- the list of template elements with a device layout
- Throws:
ServerSideException
-
getDeviceLayoutStructure
byte[] getDeviceLayoutStructure(String oid, String className, String sessionId) throws ServerSideException
Gets the device layout structure- Parameters:
oid
- object idclassName
- class of objectsessionId
- Session id token- Returns:
- the structure of the device layout
- Throws:
ServerSideException
-
createObjectRelatedView
long createObjectRelatedView(String objectId, String objectClass, String name, String description, String viewClassName, byte[] structure, byte[] background, String sessionId) throws ServerSideException
Creates a view an relates it to an existing object- Parameters:
objectId
- Object idobjectClass
- Object classname
- View namedescription
- View descriptionviewClassName
- View class namestructure
- Structure (as an XML document)background
- BackgroundsessionId
- Session id- Returns:
- The id of the newly created view
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the object can not be found If the object class can not be found If the view type is not supported
-
createGeneralView
long createGeneralView(String viewClass, String name, String description, byte[] structure, byte[] background, String sessionId) throws ServerSideException
Creates a general view (a view that is not associated to any object)- Parameters:
viewClass
- View classname
- View namedescription
- Descriptionstructure
- Structurebackground
- backgroundsessionId
- Session id- Returns:
- The id of the newly created view
- Throws:
ServerSideException
- If the user is not allowed to invoke the method InvalidArgumentException if the view type is invalid
-
updateObjectRelatedView
void updateObjectRelatedView(String objectOid, String objectClass, long viewId, String viewName, String viewDescription, byte[] structure, byte[] background, String sessionId) throws ServerSideException
Updates an object view (a view that is linked to a particular object)- Parameters:
objectOid
- Object idobjectClass
- Object classviewId
- View idviewName
- View name. Null to leave unchangedviewDescription
- View description. Null to leave unchangedstructure
- View structure. Null to leave unchangedbackground
- Background. Null to leave unchangedsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the view type is not supported
-
updateGeneralView
void updateGeneralView(long viewId, String viewName, String viewDescription, byte[] structure, byte[] background, String sessionId) throws ServerSideException
Updates a general view (a view that is not linked to any particular object)- Parameters:
viewId
- View idviewName
- View name. Null to leave unchangedviewDescription
- View Description. Null to leave unchangedstructure
- View structure. Null to leave unchangedbackground
- Background. Null to leave unchangedsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the view type is invalid or if the background could not be saved. If the view couldn't be found
-
deleteGeneralView
void deleteGeneralView(List<Long> oids, String sessionId) throws ServerSideException
Deletes views- Parameters:
oids
- Ids of the views to be deletedsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the view can't be found
-
createListTypeItem
String createListTypeItem(String className, String name, String displayName, String sessionId) throws ServerSideException
Creates a list type item- Parameters:
className
- List type item class namename
- List type item namedisplayName
- List type item display namesessionId
- Session token- Returns:
- the id of the new object
- Throws:
ServerSideException
- If the class provided is not a list type If the class is abstract or marked as in design.
-
updateListTypeItem
void updateListTypeItem(String className, String oid, List<StringPair> attributes, String sessionId) throws ServerSideException
Updates a list type item. Formerly this functionality was provided by updateObject, but the implementation was split in two methods.- Parameters:
className
- The class of the LTI to be updated. it must be a subclass of GenericObjectListoid
- The id of the LTI to be updated.attributes
- The attributes to be changed.sessionId
- The session token.- Throws:
ServerSideException
- If the LTI does not exist or if the class provided is not a subclass of GenericObjectList.
-
deleteListTypeItem
void deleteListTypeItem(String className, String oid, boolean releaseRelationships, String sessionId) throws ServerSideException
Deletes a list type item- Parameters:
className
- list type item class nameoid
- list type item idreleaseRelationships
- should the deletion process release the relationships attached to this objectsessionId
- Session token- Throws:
ServerSideException
- If the class provided is not a list type If the user can't delete a list type item
-
getListTypeItem
RemoteObject getListTypeItem(String listTypeClassName, String listTypeItemId, String sessionId) throws ServerSideException
Retrieves list type item given its id- Parameters:
listTypeClassName
- The class name of list type itemlistTypeItemId
- The id of list type itemsessionId
- Session token- Returns:
- A RemoteBusinessObject instance representing the item
- Throws:
ServerSideException
- If className is not an existing class If the class provided is not a list type
-
getListTypeItems
List<RemoteObjectLight> getListTypeItems(String className, String sessionId) throws ServerSideException
Retrieves all items for a single list type- Parameters:
className
- The list type classsessionId
- Session token- Returns:
- a list of list type items
- Throws:
ServerSideException
- If className is not an existing class If the class provided is not a list type
-
getInstanceableListTypes
RemoteClassMetadataLight[] getInstanceableListTypes(String sessionId) throws ServerSideException
Retrieves all possible list types- Parameters:
sessionId
- Session token- Returns:
- A list of list types as ClassInfoLight instances
- Throws:
ServerSideException
- If the GenericObjectList class does not exist
-
executeQuery
RemoteResultRecord[] executeQuery(TransientQuery query, String sessionId) throws ServerSideException
Executes a complex query generated using the Graphical Query Builder. Please note that the first record is reserved for the column headers, so and empty result set will have at least one record.- Parameters:
query
- The TransientQuery object (a code friendly version of the graphical query designed at client side).sessionId
- session id to check permissions- Returns:
- An array of records (the first raw is used to put the headers)
- Throws:
ServerSideException
- If the class to be search is cannot be found If the user is not allowed to invoke the method
-
createQuery
long createQuery(String queryName, long ownerOid, byte[] queryStructure, String description, String sessionId) throws ServerSideException
Creates a query using the Graphical Query Builder- Parameters:
queryName
- Query nameownerOid
- OwnerOid. Null if publicqueryStructure
- XML document as a byte arraydescription
- a short descriptions for the querysessionId
- session id to check permissions- Returns:
- a RemoteObjectLight wrapping the newly created query
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the owner could not be found.
-
saveQuery
void saveQuery(long queryOid, String queryName, long ownerOid, byte[] queryStructure, String description, String sessionId) throws ServerSideException
Save the query made in the graphical Query builder- Parameters:
queryOid
- query oid to be updatedqueryName
- query name (the same if unchanged)ownerOid
- owneroid (if unchanged)queryStructure
- XML document if unchanged. Null otherwisedescription
- Query description. Null if unchangedsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the query can not be found
-
deleteQuery
void deleteQuery(long queryOid, String sessionId) throws ServerSideException
Deletes a query- Parameters:
queryOid
- Query idsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the query could not be found
-
getQueries
RemoteQueryLight[] getQueries(boolean showPublic, String sessionId) throws ServerSideException
Retrieves all saved queries- Parameters:
showPublic
- should this method return the public queries along with the private to this user?sessionId
- Session token- Returns:
- A list with the available queries
- Throws:
ServerSideException
- If the user is not allowed to invoke the method Generic exception encapsulating any possible error raised at runtime
-
getQuery
RemoteQuery getQuery(long queryOid, String sessionId) throws ServerSideException
Retrieves a saved query- Parameters:
queryOid
- Query idsessionId
- Session token- Returns:
- The query
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the query could not be found
-
getClassHierarchy
byte[] getClassHierarchy(boolean showAll, String sessionId) throws ServerSideException
Creates an XML document describing the class hierarchy- Parameters:
showAll
- should this method return all entity classes or only InventoryObject subclassessessionId
- session identifier- Returns:
- A byte array containing the class hierarchy as an XML document.
- Throws:
ServerSideException
- If one of the core classes could not be found
-
createRootPool
String createRootPool(String name, String description, String instancesOfClass, int type, String sessionId) throws ServerSideException
Creates a pool without a parent. They're used as general purpose place to put inventory objects, or as root for particular models- Parameters:
name
- Pool namedescription
- Pool descriptioninstancesOfClass
- What kind of objects can this pool contain?type
- Type of pool. For possible values see ApplicationManager.POOL_TYPE_XXXsessionId
- The session token- Returns:
- The id of the new pool
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the log root node could not be found
-
createPoolInObject
String createPoolInObject(String parentClassname, String parentId, String name, String description, String instancesOfClass, int type, String sessionId) throws ServerSideException
Creates a pool that will have as parent an inventory object. This special containment structure can be used to provide support for new models- Parameters:
parentClassname
- Class name of the parent objectparentId
- Id of the parent objectname
- Pool namedescription
- Pool descriptionCreates a pool that will have as parent an inventory object. This special containment structure can be used to provide support for new modelsinstancesOfClass
- What kind of objects can this pool contain?type
- Type of pool. For possible values see ApplicationManager.POOL_TYPE_XXXsessionId
- The session token- Returns:
- The id of the new pool
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If instancesOfClass is not a valid subclass of InventoryObject If the parent object can not be found
-
createPoolInPool
String createPoolInPool(String parentId, String name, String description, String instancesOfClass, int type, String sessionId) throws ServerSideException
Creates a pool that will have as parent another pool. This special containment structure can be used to provide support for new models- Parameters:
parentId
- Id of the parent poolname
- Pool namedescription
- Pool descriptioninstancesOfClass
- What kind of objects can this pool contain?type
- Type of pool. Not used so far, but it will be in the future. It will probably be used to help organize the existing poolssessionId
- The session token- Returns:
- The id of the new pool
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If instancesOfClass is not a valid subclass of InventoryObject If the parent object can not be found
-
createPoolItem
String createPoolItem(String poolId, String className, String[] attributeNames, String[] attributeValues, String templateId, String sessionId) throws ServerSideException
Creates an object within a pool- Parameters:
poolId
- Id of the pool under which the object will be createdclassName
- Class this object is going to be instance ofattributeNames
- Attributes to be set in the new object. Null or empty array for noneattributeValues
- Attributes to be set in the new object (values). Null for none. The size of this array must match attributeNames sizetemplateId
- Template to be used. Use -1 to not use any templatesessionId
- Session identifier- Returns:
- The id of the newly created object
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If attributeNames and attributeValues have different sizes If the class name could not be found
-
deletePools
void deletePools(String[] ids, String sessionId) throws ServerSideException
Deletes a set of pools- Parameters:
ids
- Pools to be deletedsessionId
- Session identifier- Throws:
ServerSideException
- If the user is not allowed to invoke the method If any of the pools to be deleted couldn't be found If any of the objects in the pool can not be deleted because it's not a business related instance (it's more a security restriction)
-
getRootPools
List<RemotePool> getRootPools(String className, int type, boolean includeSubclasses, String sessionId) throws ServerSideException
Retrieves the pools that don't have any parent and are normally intended to be managed by the Pool Manager- Parameters:
className
- The class name used to filter the results. Only the pools with a className attribute matching the provided value will be returned. Use null if you want to get alltype
- The type of pools that should be retrieved. Root pools can be for general purpose, or as roots in modelsincludeSubclasses
- Usetrue
if you want to get only the pools whoseclassName
property matches exactly the one provided, andfalse
if you want to also include the subclassessessionId
- Session token- Returns:
- A set of pools
- Throws:
ServerSideException
- If the user is not allowed to invoke the method or in case something goes wrong
-
getPoolsInObject
List<RemotePool> getPoolsInObject(String objectClassName, String objectId, String poolClass, String sessionId) throws ServerSideException
Retrieves all the pools that are children of a particular object.- Parameters:
objectClassName
- Object class.objectId
- Object id.poolClass
- Type of the pools that are to be retrieved (that is, the class of the objects contained within the pool)sessionId
- Session id.- Returns:
- A list of children pools.
- Throws:
ServerSideException
- If the user is not allowed to invoke the method or if the parent object can not be found or if the argumentpoolClass
is not a valid class.
-
getPoolsInPool
List<RemotePool> getPoolsInPool(String parentPoolId, String poolClass, String sessionId) throws ServerSideException
Gets the pools contained inside a pool.- Parameters:
parentPoolId
- Parent pool id.poolClass
- Class of the objects contained by the desired pool (not the parent pool).sessionId
- Session token.- Returns:
- A list of children pools
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the parent object can not be found
-
getPool
RemotePool getPool(String poolId, String sessionId) throws ServerSideException
Retrieves information about a particular pool- Parameters:
poolId
- The id of the poolsessionId
- The session token- Returns:
- The pool object
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the pool could not be found
-
setPoolProperties
void setPoolProperties(String poolId, String name, String description, String sessionId) throws ServerSideException
Updates pool name and description- Parameters:
poolId
- Pool Idname
- Pool namedescription
- Pool descriptionsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method Generic exception encapsulating any possible error raised at runtime
-
getPoolItems
List<RemoteObjectLight> getPoolItems(String poolId, int limit, String sessionId) throws ServerSideException
Gets the objects contained into a pool- Parameters:
poolId
- Parent pool idlimit
- limit of results. -1 to return allsessionId
- Session identifier- Returns:
- The list of items
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the pool id provided is not valid
-
createTask
long createTask(String name, String description, boolean enabled, boolean commitOnExecute, String script, List<StringPair> parameters, RemoteTaskScheduleDescriptor schedule, RemoteTaskNotificationDescriptor notificationType, String sessionId) throws ServerSideException
Creates and schedule a task. A task is an application entity that allows to run jobs that will be executed depending on certain schedule- Parameters:
name
- Task namedescription
- Task descriptionenabled
- Is the task enabled?commitOnExecute
- Should this task commit the changes (if any) after its execution? Handle with extreme care, you are basically running arbitrary code and affecting the dbscript
- The script to be executedparameters
- The parameters for the scriptschedule
- When the task should be executednotificationType
- How the result of the task should be notified to the associated userssessionId
- The session token- Returns:
- The id of the newly created task
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the task is disabled If something goes wrong
-
updateTaskProperties
void updateTaskProperties(long taskId, String propertyName, String propertyValue, String sessionId) throws ServerSideException
Updates any of these properties from a task: name, description, enabled and script- Parameters:
taskId
- Task idpropertyName
- Property name. Possible values: "name", "description", "enabled" and "script"propertyValue
- The value of the property. For the property "enabled", the allowed values are "true" and "false"sessionId
- The session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the task could not be found If the property name has an invalid value
-
updateTaskParameters
void updateTaskParameters(long taskId, List<StringPair> parameters, String sessionId) throws ServerSideException
Updates the parameters of a task. If any of the values is null, that parameter will be deleted, if the parameter does not exist, it will be created- Parameters:
taskId
- Task idparameters
- The parameters to be modified as pairs paramName/paramValue. A null value means that that parameter should be deletedsessionId
- The session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the task could not be found
-
updateTaskSchedule
void updateTaskSchedule(long taskId, RemoteTaskScheduleDescriptor schedule, String sessionId) throws ServerSideException
Updates a task schedule- Parameters:
taskId
- Task idschedule
- New schedulesessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the task could not be found
-
updateTaskNotificationType
void updateTaskNotificationType(long taskId, RemoteTaskNotificationDescriptor notificationType, String sessionId) throws ServerSideException
Updates a task notification type- Parameters:
taskId
- Task idnotificationType
- New notification typesessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the task could not be found
-
getTask
RemoteTask getTask(long taskId, String sessionId) throws ServerSideException
Retrieves the information about a particular task- Parameters:
taskId
- Id of the tasksessionId
- Session token- Returns:
- A remote task object representing the task
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the task could not be found
-
getTasks
List<RemoteTask> getTasks(String sessionId) throws ServerSideException
Gets all the registered tasks- Parameters:
sessionId
- Session token- Returns:
- A list of task objects
- Throws:
ServerSideException
- If the user is not allowed to invoke the method or in case something goes wrong
-
getTasksForUser
List<RemoteTask> getTasksForUser(long userId, String sessionId) throws ServerSideException
Gets all the tasks related to a particular user- Parameters:
userId
- User ifsessionId
- Session token- Returns:
- A list of task objects
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the user can not be found
-
getSubscribersForTask
List<RemoteUserInfoLight> getSubscribersForTask(long taskId, String sessionId) throws ServerSideException
Gets the users subscribed to a particular task.- Parameters:
taskId
- Task id.sessionId
- Session token.- Returns:
- The list of subscribed users.
- Throws:
ServerSideException
- If the user is not allowed to invoke the method Id the task could not be found
-
deleteTask
void deleteTask(long taskId, String sessionId) throws ServerSideException
Deletes a task and unsubscribes all users from it- Parameters:
taskId
- Task idsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the task could not be found
-
subscribeUserToTask
void subscribeUserToTask(long userId, long taskId, String sessionId) throws ServerSideException
Subscribes a user to a task, so it will be notified of the result of its execution- Parameters:
taskId
- Id of the taskuserId
- Id of the usersessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the user is already subscribed to the task
-
unsubscribeUserFromTask
void unsubscribeUserFromTask(long userId, long taskId, String sessionId) throws ServerSideException
Unsubscribes a user from a task, so it will no longer be notified about the result of its execution- Parameters:
taskId
- Id of the taskuserId
- Id of the usersessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the task or the user could not be found
-
executeTask
RemoteTaskResult executeTask(long taskId, String sessionId) throws ServerSideException
Executes a task on demand.- Parameters:
taskId
- The task idsessionId
- The session token- Returns:
- A RemoteTaskResult object wrapping the task execution messages and details.
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the task doesn't have a script
-
createContact
String createContact(String contactClass, List<StringPair> properties, String customerClassName, String customerId, String sessionId) throws ServerSideException
Creates a contact- Parameters:
contactClass
- The class of the new contact. It must be a subclass of GenericContactproperties
- A dictionary (key-value list) with the set of string-type attributes to be set. No string-type attributes are not currently supported. Attribute name is mandatory.customerClassName
- The class of the customer this contact will be associated tocustomerId
- The id of the customer this contact will be associated tosessionId
- The session token- Returns:
- The id of the newly created contact
- Throws:
ServerSideException
- If the contact class provided is not a valid GenericCustomer, or if the customer does not exist or if any of the properties does not exist or its type is invalid (not a string)
-
updateContact
void updateContact(String contactClass, String contactId, List<StringPair> properties, String sessionId) throws ServerSideException
Updates a set of properties of a contact- Parameters:
contactClass
- The class of the contact to be updatedcontactId
- The id of the contact to be updatedproperties
- A set of pairs key-value with the properties to be updatedsessionId
- The session token- Throws:
ServerSideException
- If the contact could not be found or if any of the attributes to be set could not be found or has an invalid value
-
deleteContact
void deleteContact(String contactClass, String contactId, String sessionId) throws ServerSideException
Deletes a contact- Parameters:
contactClass
- The class of the contact to be deletedcontactId
- The id of the contact to be deletedsessionId
- The session token- Throws:
ServerSideException
- If the contact was not found
-
getContact
RemoteContact getContact(String contactClass, String contactId, String sessionId) throws ServerSideException
Gets the whole information about a contact- Parameters:
contactClass
- The class of the contactcontactId
- The id of the contactsessionId
- The session token- Returns:
- The contact object
- Throws:
ServerSideException
- If the contact could not be found
-
searchForContacts
List<RemoteContact> searchForContacts(String searchString, int maxResults, String sessionId) throws ServerSideException
Searches for contacts given a search string, This string will be searched in the attribute values of all contacts- Parameters:
searchString
- The string to be searched. Use null or an empty string to retrieve all the contactsmaxResults
- Maximum number of results. Use -1 to retrieve all results at oncesessionId
- The session token- Returns:
- The list of contacts for whom at least one of their attributes matches
- Throws:
ServerSideException
-
getContactsForCustomer
List<RemoteContact> getContactsForCustomer(String customerClass, String customerId, String sessionId) throws ServerSideException
Retrieves the contacts associated to a given customer- Parameters:
customerClass
- The class of the customer to get the contacts fromcustomerId
- The id of the customer to get the contacts fromsessionId
- The session token- Returns:
- The list of contacts associated to the customer
- Throws:
ServerSideException
- If the customer could not be found
-
createConfigurationVariable
long createConfigurationVariable(String configVariablesPoolId, String name, String description, int type, boolean masked, String valueDefinition, String sessionId) throws ServerSideException
Creates a configuration variable inside a pool. A configuration variable is a place where a value will be stored so it can retrieved by whomever need it. These variables are typically used to store values that help other modules to work, such as URLs, user names, dimensions, etc- Parameters:
configVariablesPoolId
- The id of the pool where the config variable will be putname
- The name of the pool. This value can not be null or empty. Duplicate variable names are not alloweddescription
- The description of the what the variable doestype
- The type of the variable. Use 1 for number, 2 for strings, 3 for booleans, 4 for unidimensional arrays and 5 for matrixes.masked
- If the value should be masked when rendered (for security reasons, for example)valueDefinition
- In most cases (primitive types like numbers, strings or booleans) will be the actual value of the variable as a string (for example "5" or "admin" or "true"). For arrays and matrixes use the following notation:
Arrays: (value1,value2,value3,valueN), matrix: [(row1col1, row1col2,... row1colN), (row2col1, row2col2,... row2colN), (rowNcol1, rowNcol2,... rowNcolN)]. The values will be interpreted as stringssessionId
- The session token- Returns:
- The id of the newly created variable
- Throws:
ServerSideException
- If the parent pool could not be found or if the name is empty, the type is invalid, the value definition is empty
-
updateConfigurationVariable
void updateConfigurationVariable(String name, String propertyToUpdate, String newValue, String sessionId) throws ServerSideException
Updates the value of a configuration variable. See ##createConfigurationVariable(long, java.lang.String, java.lang.String, int, boolean, java.lang.String, java.lang.String)
for value definition syntax- Parameters:
name
- The current name of the variable that will be modifiedpropertyToUpdate
- The name of the property to be updated. Possible values are: "name", "description", "type", "masked" and "value"newValue
- The new value as stringsessionId
- The session token- Throws:
ServerSideException
- If the property to be updated can not be recognized or if the config variable can not be found
-
deleteConfigurationVariable
void deleteConfigurationVariable(String name, String sessionId) throws ServerSideException
Deletes a config variable- Parameters:
name
- The name of the variable to be deletedsessionId
- The session token- Throws:
ServerSideException
- If the config variable could not be found
-
getConfigurationVariable
RemoteConfigurationVariable getConfigurationVariable(String name, String sessionId) throws ServerSideException
Retrieves a configuration variable- Parameters:
name
- The name of the variable to be retrievedsessionId
- The session token- Returns:
- The variable
- Throws:
ServerSideException
- If the variable could not be found
-
getConfigurationVariablesInPool
List<RemoteConfigurationVariable> getConfigurationVariablesInPool(String poolId, String sessionId) throws ServerSideException
Gets the configuration variables in a configuration variable pool- Parameters:
poolId
- The id pool to retrieve the variables fromsessionId
- The session token- Returns:
- The list of config variables in the given pool
- Throws:
ServerSideException
- If the pool could not be found
-
getConfigurationVariablesPools
List<RemotePool> getConfigurationVariablesPools(String sessionId) throws ServerSideException
Retrieves the list of pools of configuration variables.- Parameters:
sessionId
- The session token.- Returns:
- The available pools of configuration variables.
- Throws:
ServerSideException
- If an unexpected error occurred.
-
createConfigurationVariablesPool
String createConfigurationVariablesPool(String name, String description, String sessionId) throws ServerSideException
Creates a pool of configuration variables.- Parameters:
name
- The name of the pool. Empty or null values are not allowed.description
- The description of the pool.sessionId
- The session token.- Returns:
- The id of the newly created pool.
- Throws:
ServerSideException
- If the name provided is null or empty.
-
updateConfigurationVariablesPool
void updateConfigurationVariablesPool(String poolId, String propertyToUpdate, String value, String sessionId) throws ServerSideException
Updates an attribute of a given configuration variables pool.- Parameters:
poolId
- The id of the pool to update.propertyToUpdate
- The property to update. The valid values are "name" and "description".value
- The value of the property to be updated.sessionId
- The session token.- Throws:
ServerSideException
- If the pool could not be found or If the property provided is not valid.
-
deleteConfigurationVariablesPool
void deleteConfigurationVariablesPool(String poolId, String sessionId) throws ServerSideException
Deletes a configuration variables pool. Deleting a pool also deletes the configuration variables contained within.- Parameters:
poolId
- The id of the pool to be deleted.sessionId
- The session token.- Throws:
ServerSideException
- If the pool could not be found.
-
createProxy
String createProxy(String proxyPoolId, String proxyClass, List<StringPair> attributes, String sessionId) throws ServerSideException
Creates an inventory proxy. Inventory proxies are used to integrate third party-applications with Kuwaiba. Sometimes these applications must refer to assets managed by Kuwaiba from another perspective (financial, for example). In these applications, multiple Kuwaiba inventory assets might be represented by a single entity (e.g. a router with slots, boards and ports might just be something like "standard network device"). Proxies are used to map multiple inventory elements into a single entity. It's a sort of "impedance matching" between systems that refer to the same real world object from different perspectives.- Parameters:
proxyPoolId
- The parent pool id.proxyClass
- The proxy class. Must be subclass of GenericProxy.attributes
- The set of initial attributes. If no attributename
is specified, an empty string will be used.sessionId
- Session token.- Returns:
- The id of the newly created proxy.
- Throws:
ServerSideException
- If the parent pool could not be found or if any of the initial attributes could not be mapped or if the proxy class could not be found.
-
deleteProxy
void deleteProxy(String proxyClass, String proxyId, String sessionId) throws ServerSideException
Deletes a proxy and delete its association with the related inventory objects. These objects will remain untouched.- Parameters:
proxyClass
- The class of the proxy.proxyId
- The id of the proxysessionId
- Session token.- Throws:
ServerSideException
- If the proxy could not be found or if the proxy class could not be found.
-
updateProxy
void updateProxy(String proxyClass, String proxyId, List<StringPair> attributes, String sessionId) throws ServerSideException
Updates one or many proxy attributes.- Parameters:
proxyId
- The parent pool id,proxyClass
- The class of the proxy.attributes
- The set of initial attributes. If no attributename
is specified, an empty string will be used.sessionId
- Session token.- Throws:
ServerSideException
- If the parent pool could not be found or if any of the initial attributes could not be mapped or if the proxy class could not be found.
-
createProxyPool
String createProxyPool(String name, String description, String sessionId) throws ServerSideException
Creates a proxy pool.- Parameters:
name
- The name of the pool.description
- The description of the pool.sessionId
- Session token.- Returns:
- The id of the newly created proxy.
- Throws:
ServerSideException
- In case something unexpected happened.
-
updateProxyPool
void updateProxyPool(String proxyPoolId, String attributeName, String attributeValue, String sessionId) throws ServerSideException
Updates an attribute of a proxy pool.- Parameters:
proxyPoolId
- The id of the pool to be updated.attributeName
- The name of the pool attribute to be updated. Valid values are "name" and "description"attributeValue
- The value of the attribute. Null values will be ignored.sessionId
- Session token.- Throws:
ServerSideException
- If the pool could not be found or if an unknown attribute name is provided.
-
deleteProxyPool
void deleteProxyPool(String proxyPoolId, String sessionId) throws ServerSideException
Deletes a proxy pool.- Parameters:
proxyPoolId
- The id of the pool.sessionId
- Session token.- Throws:
ServerSideException
- If the pool could not be found.
-
getProxyPools
List<RemotePool> getProxyPools(String sessionId) throws ServerSideException
Retrieves the list of pools of proxies.- Parameters:
sessionId
- Session token.- Returns:
- The available pools of inventory proxies.
- Throws:
ServerSideException
- If case something unexpected happened.
-
getProxiesInPool
List<RemoteInventoryProxy> getProxiesInPool(String proxyPoolId, String sessionId) throws ServerSideException
Gets the list of inventory proxies in a given pool.- Parameters:
proxyPoolId
- The id of the parent pool.sessionId
- Session token.- Returns:
- The proxies
- Throws:
ServerSideException
- If the parent pool could not be found or if the object in the database can not be mapped into an InventoryProxy instance.
-
getAllProxies
List<RemoteInventoryProxy> getAllProxies(String sessionId) throws ServerSideException
Gets all the inventory proxies in the database.- Parameters:
sessionId
- Session token.- Returns:
- The list of inventory proxy objects.
- Throws:
ServerSideException
- If any proxy node could not be mapped into a Java object.
-
associateObjectToProxy
void associateObjectToProxy(String objectClass, String objectId, String proxyClass, String proxyId, String sessionId) throws ServerSideException
Associates an inventory object to an inventory proxy.- Parameters:
objectClass
- The class of the object.objectId
- The id of the object.proxyClass
- The class of the proxy.proxyId
- The id of the proxy.sessionId
- Session token.- Throws:
ServerSideException
- If the inventory object could not be found or if the proxy could not be found or if the two entities are already related.
-
releaseObjectFromProxy
void releaseObjectFromProxy(String objectClass, String objectId, String proxyClass, String proxyId, String sessionId) throws ServerSideException
Releases an inventory previously related to an inventory proxy.- Parameters:
objectClass
- The class of the object.objectId
- The id of the object.proxyClass
- The class of the proxy.proxyId
- The id of the proxy.sessionId
- Session token.- Throws:
ServerSideException
- If the inventory object could not be found or if the proxy could not be found.
-
createValidatorDefinition
long createValidatorDefinition(String name, String description, String classToBeApplied, String script, boolean enabled, String sessionId) throws ServerSideException
Creates a validator definition.- Parameters:
name
- The name of the validator. It's recommended to use camel case notation (for example thisIsAName). This field is mandatorydescription
- The optional description of the validatorclassToBeApplied
- The class or super class of the classes whose instances will be checked against this validatorscript
- The groovy script containing the logic of the validator , that is, theenabled
- If this validador should be applied or notsessionId
- The session token- Returns:
- The id of the newly created validator definition
- Throws:
ServerSideException
- If the name is null or empty or if the classToBeApplied argument could not be found
-
updateValidatorDefinition
void updateValidatorDefinition(long validatorDefinitionId, String name, String description, String classToBeApplied, String script, Boolean enabled, String sessionId) throws ServerSideException
Updates the properties of a validator. The null values will be ignored- Parameters:
validatorDefinitionId
- The id of teh validator definition to be updatedname
- The new name, if any, null otherwisedescription
- The new description, if any, null otherwiseclassToBeApplied
- The new class to be associated to this validator, if any, null otherwisescript
- The new script, if any, null otherwiseenabled
- If the validator should be enabled or not, if any, null otherwisesessionId
- The session token- Throws:
ServerSideException
- If the validator definition could not be found or if the classToBeApplied parameter is not valid or if the name is not null, but it is empty
-
getValidatorDefinitionsForClass
List<RemoteValidatorDefinition> getValidatorDefinitionsForClass(String className, String sessionId) throws ServerSideException
Retrieves all the validator definitions in the system- Parameters:
className
- The class to retrieve the validator definitions from.sessionId
- The session token- Returns:
- The list of validator definitions
- Throws:
ServerSideException
- In case of an unexpected server side error
-
runValidationsForObject
List<RemoteValidator> runValidationsForObject(String objectClass, long objectId, String sessionId) throws ServerSideException
Runs the existing validations for the class associated to the given object. Validators set to enabled = false will be ignored- Parameters:
objectClass
- The class of the objectobjectId
- The id of the objectsessionId
- The session token- Returns:
- The list of validators associated to the object and its class
- Throws:
ServerSideException
- If the object can not be found
-
deleteValidatorDefinition
void deleteValidatorDefinition(long validatorDefinitionId, String sessionId) throws ServerSideException
Deletes a validator definition- Parameters:
validatorDefinitionId
- the id of the validator to be deletedsessionId
- The session token- Throws:
ServerSideException
- If the validator definition could not be found
-
getObjectChildrenForClassWithId
List<RemoteObjectLight> getObjectChildrenForClassWithId(String oid, long objectClassId, int maxResults, String sessionId) throws ServerSideException
Gets the children of a given object given his class id and object id- Parameters:
objectClassId
- object's class idoid
- object's idmaxResults
- Max number of children to be returned. O for allsessionId
- Session token- Returns:
- An array of all the direct children of the provided object according with the current container hierarchy
- Throws:
ServerSideException
- If the class could not be found
-
getObjectChildren
List<RemoteObjectLight> getObjectChildren(String objectClassName, String oid, int maxResults, String sessionId) throws ServerSideException
Gets the children of a given object given his class name and object id- Parameters:
oid
- Object's oidobjectClassName
- object's class namemaxResults
- Max number of children to be returned. O for allsessionId
- Session token- Returns:
- An array of all the direct children of the provided object according with the current container hierarchy
- Throws:
ServerSideException
- If the class could not be found.
-
getSiblings
List<RemoteObjectLight> getSiblings(String objectClassName, String oid, int maxResults, String sessionId) throws ServerSideException
Returns the siblings of an object in the containment hierarchy- Parameters:
objectClassName
- Object classoid
- Object oidmaxResults
- Max number of results to be returnedsessionId
- Session token- Returns:
- List of siblings
- Throws:
ServerSideException
- If the class does not exist If the object does not exist
-
getChildrenOfClass
List<RemoteObject> getChildrenOfClass(String parentOid, String parentClass, String childrenClass, int page, int maxResults, String sessionId) throws ServerSideException
Gets all children of an object of a given class- Parameters:
parentOid
- Parent whose children are requestedparentClass
- Class name of the element we want the children fromchildrenClass
- The type of children we want to retrievepage
- the number of elements to skip in the querymaxResults
- Max number of children to be returned. O for allsessionId
- Session token- Returns:
- An array with the children objects
- Throws:
ServerSideException
- If any of the classes can not be found If parent object can not be found If the database objects can not be correctly mapped into serializable Java objects.
-
getChildrenOfClassLightRecursive
List<RemoteObjectLight> getChildrenOfClassLightRecursive(String parentOid, String parentClass, String childrenClass, int maxResults, String sessionId) throws ServerSideException
Gets recursively all children of an object of a given class- Parameters:
parentOid
- Parent whose children are requestedparentClass
- Class name of the element we want the children fromchildrenClass
- The type of children we want to retrievemaxResults
- Max number of children to be returned. O for allsessionId
- Session token- Returns:
- An array with the children objects
- Throws:
ServerSideException
- If any of the classes can not be found If parent object can not be found If the database objects can not be correctly mapped into serializable Java objects.
-
getChildrenOfClassLight
List<RemoteObjectLight> getChildrenOfClassLight(String parentOid, String parentClass, String childrenClass, int maxResults, String sessionId) throws ServerSideException
Gets all children of an object of a given class- Parameters:
parentOid
- Object oid whose children will be returnedparentClass
-childrenClass
-maxResults
- Max number of children to be returned. O for allsessionId
- Session token- Returns:
- An array with children
- Throws:
ServerSideException
- If any of the classes can not be found If parent object can not be found
-
getSpecialChildrenOfClassLight
List<RemoteObjectLight> getSpecialChildrenOfClassLight(String parentOid, String parentClass, String classToFilter, int maxResults, String sessionId) throws ServerSideException
Returns the special children of a given object as RemoteObjectLight instances. This method is not recursive.- Parameters:
parentOid
- The id of the parent object.parentClass
- The class name of the parent object.classToFilter
- The superclass/class to be used to filter the results. You can also use abstract superclasses.maxResults
- The max number of results to fetch. Use -1 to retrieve all.sessionId
- The session token.- Returns:
- The list of special children of the given object, filtered using classToFilter.
- Throws:
ServerSideException
- If the parent class name provided could not be found or if the parent object could not be found.
-
getSpecialChildrenOfClassLightRecursive
List<RemoteObjectLight> getSpecialChildrenOfClassLightRecursive(String parentOid, String parentClass, String classToFilter, int maxResults, String sessionId) throws ServerSideException
Returns the special children of a given object as RemoteObjectLight instances in a recursive fashion.- Parameters:
parentOid
- The id of the parent object.parentClass
- The class name of the parent object.classToFilter
- The superclass/class to be used to filter the results. You can also use abstract superclasses.maxResults
- The max number of results to fetch. Use -1 to retrieve all.sessionId
- The session token.- Returns:
- The recursive list of special children of the given object, filtered using classToFilter.
- Throws:
ServerSideException
- If the parent class name provided could not be found or if the parent object could not be found.
-
getObject
RemoteObject getObject(String objectClass, String oid, String sessionId) throws ServerSideException
Gets the complete information about a given object (all its attributes)- Parameters:
objectClass
- Object classoid
- Object idsessionId
- Session token- Returns:
- a representation of the entity as a RemoteObject. The list of attribute values is a hashmap of strings (should be mapped to actual types by the consumer of the service). Single list types are represented by the id of the list type item (a numeric value), while multiple list types are strings wit the ids of the related list type items separated by semicolons (e.g. 123;786576;92332)
- Throws:
ServerSideException
- If the className class could not be found If the requested object could not be found If the object id could not be found
-
getObjectLight
RemoteObjectLight getObjectLight(String objectClass, String oid, String sessionId) throws ServerSideException
Gets the basic information about a given object (oid, classname, name)- Parameters:
objectClass
- Object class nameoid
- Object oidsessionId
- Session token- Returns:
- a representation of the entity as a RemoteObjectLight
- Throws:
ServerSideException
- Generic exception encapsulating any possible error raised at runtime
-
getObjectsWithFilterLight
List<RemoteObjectLight> getObjectsWithFilterLight(String className, String filterName, String filterValue, String sessionId) throws ServerSideException
Retrieves a list of light instances of a given class given a simple filter. This method will search for all objects with a string-based attribute (filterName) whose value matches a value provided (filterValue)- Parameters:
className
- The class of the objects to be searched. This method support abstract superclasses as wellfilterName
- The attribute to be used as filter. This will work only with String-type attributes. Example: serialNumberfilterValue
- The value to be use to match the instances. Example "Serial-12345"sessionId
- The session token- Returns:
- The list of instances that matches the filterName/filterValue criteria
- Throws:
ServerSideException
- if the class provided could not be found
-
getObjectsWithFilter
List<RemoteObject> getObjectsWithFilter(String className, String filterName, String filterValue, String sessionId) throws ServerSideException
Same asgetObjectsWithFilterLight(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
, but returns RemoteObjects instead of RemoteObjectLights- Parameters:
className
- The class of the objects to be searched. This method support abstract superclasses as wellfilterName
- The attribute to be used as filter. This will work only with String-type attributes. Example: serialNumberfilterValue
- The value to be use to match the instances. Example "Serial-12345"sessionId
- The session token- Returns:
- The list of instances that matches the filterName/filterValue criteria
- Throws:
ServerSideException
- if the class provided could not be found
-
getObjectsOfClassLight
List<RemoteObjectLight> getObjectsOfClassLight(String className, List<StringPair> attributesToFilter, int page, int maxResults, String sessionId) throws ServerSideException
Gets all objects of a given class- Parameters:
className
- Class nameattributesToFilter
- attributes to filter forpage
- number of results to skip. Use -1 to retrieve allmaxResults
- Max number of results. Use -1 to retrieve allsessionId
- Session token- Returns:
- A list of instances of @className
- Throws:
ServerSideException
- If the class can not be found If the class is not subclass of InventoryObject
-
getCommonParent
RemoteObjectLight getCommonParent(String aObjectClass, String aOid, String bObjectClass, String bOid, String sessionId) throws ServerSideException
Gets the common parent between an a object and b object- Parameters:
aObjectClass
- Object a class nameaOid
- Object a idbObjectClass
- Object b class namebOid
- Object a idsessionId
- Session Id token- Returns:
- The common parent
- Throws:
ServerSideException
- If the requested object can't be found If any of the class nodes involved is malformed If the database object could not be properly mapped into a serializable java object.
-
getParent
RemoteObjectLight getParent(String objectClass, String oid, String sessionId) throws ServerSideException
Gets the parent of a given object in the standard and special containment hierarchy- Parameters:
objectClass
- Object class of childoid
- Object id for the childsessionId
- Session id- Returns:
- The parent object
- Throws:
ServerSideException
- If the requested object can't be found If any of the class nodes involved is malformed If the database object could not be properly mapped into a serializable java object.
-
getParents
List<RemoteObjectLight> getParents(String objectClass, String oid, String sessionId) throws ServerSideException
Retrieves all the ancestors of an object in the containment hierarchy. If the provided object is in a pool, the ancestor pools will be returned.- Parameters:
objectClass
- Object classoid
- Object id.sessionId
- Session token.- Returns:
- The list of ancestors.
- Throws:
ServerSideException
- In case something goes wrong.
-
getSpecialAttributes
RemoteObjectSpecialRelationships getSpecialAttributes(String objectClass, String oid, String sessionId) throws ServerSideException
Returns all the special relationships of a given object as a hashmap whose keys are the names of the relationships and the values the list of related objects- Parameters:
objectClass
- Object classoid
- Object idsessionId
- Session token- Returns:
- An object comprising the list of special relationships of the given object and the other end of such relationship
- Throws:
ServerSideException
- If case something goes wrong
-
getParentsUntilFirstOfClass
List<RemoteObjectLight> getParentsUntilFirstOfClass(String objectClass, String oid, String objectToMatchClassName, String sessionId) throws ServerSideException
Gets the list of parents (according to the special and standard containment hierarchy) until it finds an instance of class objectToMatchClassName (for example "give me the parents of this port until you find the nearest rack")- Parameters:
objectClass
- Class of the object to get the parents fromoid
- Id of the object to get the parents fromobjectToMatchClassName
- Class of the object that will limit the search. It can be a superclass, if you want to match many classes at oncesessionId
- Session token- Returns:
- The list of parents until an instance of objectToMatchClassName is found. If no instance of that class is found, all parents until the Dummy Root will be returned
- Throws:
ServerSideException
- If the object to evaluate can not be found or if any of the classes provided could not be found.
-
getFirstParentOfClass
RemoteObjectLight getFirstParentOfClass(String objectClass, String oid, String objectToMatchClassName, String sessionId) throws ServerSideException
Gets the first occurrence of a parent with a given class (according to the special and standard containment hierarchy) (for example "give me the parent of this port until you find the nearest rack")- Parameters:
objectClass
- Class of the object to get the parent fromoid
- Id of the object to get the parent fromobjectToMatchClassName
- Class of the object that will limit the search. It can be a superclass, if you want to match many classes at oncesessionId
- The session id token- Returns:
- The the first occurrence of a parent with a given class. If no instance of that class is found, the child of Dummy Root related in this hierarchy will be returned
- Throws:
ServerSideException
- If the object to evaluate can not be found If any of the classes provided could not be found If the object provided is not in the standard containment hierarchy
-
getParentOfClass
RemoteObject getParentOfClass(String objectClass, String oid, String parentClass, String sessionId) throws ServerSideException
Gets the first parent of an object which matches the given class in the containment hierarchy- Parameters:
objectClass
- Object classoid
- Object oidparentClass
- Class to be matchedsessionId
- sssion Id- Returns:
- The direct parent of the provided object.
- Throws:
ServerSideException
- Generic exception encapsulating any possible error raised at runtime
-
getSpecialAttribute
List<RemoteObjectLight> getSpecialAttribute(String objectClass, String oid, String attributeName, String sessionId) throws ServerSideException
Gets the value of a special attribute, this is, those related to a model, such as cables connected to ports- Parameters:
objectClass
- Object's classoid
- object oidattributeName
- attribute's namesessionId
- Session token- Returns:
- A list of the values related to the given object through attributeName. Note that this is a string array on purpose, so the values used not necessarily are not longs
- Throws:
ServerSideException
- Generic exception encapsulating any possible error raised at runtime
-
getObjectSpecialChildren
List<RemoteObjectLight> getObjectSpecialChildren(String objectClass, String objectId, String sessionId) throws ServerSideException
Gets the special children of a given object. This relationship depends on the model. The relationship between a container and the links in the physical layer model is an example of this kind of relationships.- Parameters:
objectClass
- The class of the object to be searched.objectId
- The id of the object to be searched.sessionId
- Session token.- Returns:
- A list of special children.
- Throws:
ServerSideException
- If the class could not be found If the object could not be found
-
updateObject
void updateObject(String className, String oid, List<StringPair> attributes, String sessionId) throws ServerSideException
Updates attributes of a given object- Parameters:
className
- object's class nameoid
- Object idattributes
- A dictionary with pairs key-value, being key, the attribute name, and value, the serialized version of the attribute value. Single list types are represented by the id of the list type item (a numeric value), while multiple list types are strings wit the ids of the related list type items separated by semicolons (e.g. 123;786576;92332)sessionId
- Session token- Throws:
ServerSideException
- If the object class can't be found If the object can't be found If the update can't be performed due a business rule or because the object is blocked If any of the names provided does not exist or can't be set using this method or of the value of any of the attributes can not be mapped correctly.
-
createObject
String createObject(String className, String parentObjectClassName, String parentOid, String[] attributeNames, String[] attributeValues, String templateId, String sessionId) throws ServerSideException
Creates a business object- Parameters:
className
- New object class nameparentObjectClassName
- New object parent's class nameparentOid
- New object parent's idattributeNames
- Names of the attributes to be set at creation timeattributeValues
- Values for those attributestemplateId
- Template id. Use -1 to not use any templatesessionId
- Session token- Returns:
- the id of the new object
- Throws:
ServerSideException
- If the object's class can't be found If the parent id is not found If there's a business constraint that doesn't allow to create the object. If any of the attribute values has an invalid value or format. If the specified template could not be found
-
createSpecialObject
String createSpecialObject(String className, String parentObjectClassName, String parentOid, String[] attributeNames, String[] attributeValues, String templateId, String sessionId) throws ServerSideException
Creates a special business object. It's a generic method to create objects proper to special models. Parent object won't be linked to the new object through a conventional containment relationship- Parameters:
className
- New object class nameparentObjectClassName
- New object parent's class nameparentOid
- New object parent's idattributeNames
- Names of the attributes to be set at creation timeattributeValues
- Values for those attributestemplateId
- Template id. Use -1 to not use any templatesessionId
- Session token- Returns:
- the id of the new object
- Throws:
ServerSideException
- If the object's class can't be found If the parent id is not found If the update can't be performed due to a format issue If any of the attribute values has an invalid value or format. If the specified template could not be found.
-
deleteObject
void deleteObject(String className, String oid, boolean releaseRelationships, String sessionId) throws ServerSideException
Deletes a set of objects. Note that this method must be used only for business objects (not metadata or application ones)- Parameters:
className
- Objects class namesoid
- object id from the objects to be deletedreleaseRelationships
- Should the deletion be forced, deleting all the relationships?sessionId
- Session token- Throws:
ServerSideException
- If the object couldn't be found If the class could not be found If the object could not be deleted because there's some business rules that avoids it or it has incoming relationships.
-
deleteObjects
void deleteObjects(String[] classNames, String[] oids, boolean releaseRelationships, String sessionId) throws ServerSideException
Deletes a set of objects. Note that this method must be used only for business objects (not metadata or application ones)- Parameters:
classNames
- Objects class namesoids
- object id from the objects to be deletedreleaseRelationships
- Should the deletion be forced, deleting all the relationships?sessionId
- Session token- Throws:
ServerSideException
- If the requested object can't be found If the requested object class can't be found If the update can't be performed due a business rule or because the object is blocked or it has relationships and releaseRelationships is false If it was not possible to release the possible unique attributes
-
moveObjectsToPool
void moveObjectsToPool(String targetClass, String targetOid, String[] objectClasses, String[] objectOids, String sessionId) throws ServerSideException
Moves objects from their current parent to a pool target object.- Parameters:
targetClass
- New parent object idtargetOid
- The new parent's oidobjectClasses
- Class names of the objects to be movedobjectOids
- Oids of the objects to be movedsessionId
- Session token- Throws:
ServerSideException
- If the object's or new parent's class can't be found If the object or its new parent can't be found If the update can't be performed due to a business rule
-
moveObjects
void moveObjects(String targetClass, String targetOid, String[] objectClasses, String[] objectOids, String sessionId) throws ServerSideException
Moves objects from their current parent to a target object.- Parameters:
targetClass
- New parent object idtargetOid
- The new parent's oidobjectClasses
- Class names of the objects to be movedobjectOids
- Oids of the objects to be movedsessionId
- Session token- Throws:
ServerSideException
- If the object's or new parent's class can't be found If the object or its new parent can't be found If the update can't be performed due to a business rule
-
moveSpecialObjects
void moveSpecialObjects(String targetClass, String targetOid, String[] objectClasses, String[] objectOids, String sessionId) throws ServerSideException
Moves special objects from their current parent to a target object.- Parameters:
targetClass
- New parent object idtargetOid
- The new parent's oidobjectClasses
- Class names of the objects to be movedobjectOids
- Oids of the objects to be movedsessionId
- Session token- Throws:
ServerSideException
- If the object's or new parent's class can't be found If the object or its new parent can't be found If the update can't be performed due to a business rule
-
movePoolItemToPool
void movePoolItemToPool(String poolId, String poolItemClassName, String poolItemId, String sessionId) throws ServerSideException
Move a pool item from a pool to another pool- Parameters:
poolId
- The id of the pool nodepoolItemClassName
- The class name for the pool itempoolItemId
- The id for the pool itemsessionId
- Session token- Throws:
ServerSideException
- If the pool node can not be found If the pool item can not be move to the selected pool If the pool item can not be found If the pool item class name can no be found
-
copyObjects
String[] copyObjects(String targetClass, String targetOid, String[] objectClasses, String[] objectOids, boolean recursive, String sessionId) throws ServerSideException
Copy objects from its current parent to a target. This is not a deep copy. Only the selected object will be copied, not the children- Parameters:
targetClass
- The new parent class nametargetOid
- The new parent oidobjectClasses
- Class names of the objects to be copiedobjectOids
- Oids of the objects to be copiedrecursive
- should the objects be copied recursively? (themselves plus their children)sessionId
- Session token- Returns:
- An array with the ids of the new objects
- Throws:
ServerSideException
- If any of the provided classes couldn't be found If any of the template objects couldn't be found If the target parent can't contain any of the new instances
-
copySpecialObjects
String[] copySpecialObjects(String targetClass, String targetOid, String[] objectClasses, String[] objectOids, boolean recursive, String sessionId) throws ServerSideException
Copy special objects from its current parent to a target. This is not a deep copy. Only the selected object will be copied, not the children- Parameters:
targetClass
- The new parent class nametargetOid
- The new parent oidobjectClasses
- Class names of the objects to be copiedobjectOids
- Oids of the objects to be copiedrecursive
- should the objects be copied recursively? (themselves plus their children)sessionId
- Session token- Returns:
- An array with the ids of the new objects
- Throws:
ServerSideException
- If any of the provided classes couldn't be found If any of the template objects couldn't be found If the target parent can't contain any of the new instances
-
copyPoolItemToPool
void copyPoolItemToPool(String poolId, String poolItemClassName, String poolItemId, boolean recursive, String sessionId) throws ServerSideException
Copy a pool item from a pool to another pool- Parameters:
poolId
- The id of the pool nodepoolItemClassName
- The class name for the pool itempoolItemId
- The id for the pool itemrecursive
- If this operation should also copy the children objects recursivelysessionId
- Session token- Throws:
ServerSideException
- If the pool node can not be found If the pool item can not be move to the selected pool If the pool item can not be found If the pool item class name can no be found
-
getMandatoryAttributesInClass
List<RemoteAttributeMetadata> getMandatoryAttributesInClass(String className, String sessionId) throws ServerSideException
Retrieves the mandatory attributes for a given class- Parameters:
className
- The class namesessionId
- Session token- Returns:
- The list of mandatory attributes in the given class
- Throws:
ServerSideException
- If the class doesn't exist
-
createBulkObjects
String[] createBulkObjects(String className, String parentClassName, String parentOid, String namePattern, String templateId, String sessionId) throws ServerSideException
Creates multiple objects using a given name pattern- Parameters:
className
- The class name for the new objectsparentClassName
- The parent class name for the new objectsparentOid
- The object id of the parentnamePattern
- A pattern to create the names for the new objectstemplateId
- the id template to create the object, it can be null if not a template is going to be usedsessionId
- Session id token- Returns:
- A list of ids for the new objects
- Throws:
ServerSideException
- If the className or the parentClassName can not be found. If the className is not a possible children of parentClassName. If the className is not in design or are abstract. If the className is not an InventoryObject. If the parent node can not be found. If the given name pattern not match with the regular expression to build the new object name.
-
createBulkSpecialObjects
String[] createBulkSpecialObjects(String className, String parentClassName, String parentId, int numberOfSpecialObjects, String namePattern, String sessionId) throws ServerSideException
Creates multiple special objects using a given naming pattern- Parameters:
className
- The class name for the new special objectsparentClassName
- The parent class name for the new special objectsparentId
- The object id of the parentnumberOfSpecialObjects
- Number of special objects to be creatednamePattern
- A pattern to create the names for the new special objectssessionId
- Session id token- Returns:
- A list of ids for the new special objects
- Throws:
ServerSideException
- If the className or the parentClassName can not be found. If the parent node can not be found. If the given name pattern not match with the regular expression to build the new object name. If the className is not a possible special children of parentClassName. If the className is not in design or are abstract. If the className is not an InventoryObject.
-
connectMirrorPort
void connectMirrorPort(String[] aObjectClass, String[] aObjectId, String[] bObjectClass, String[] bObjectId, String sessionId) throws ServerSideException
Connect two ports using a mirror relationship- Parameters:
aObjectClass
- Port A classaObjectId
- Port A idbObjectClass
- Port B classbObjectId
- Port B idsessionId
- Session token- Throws:
ServerSideException
- If any of the objects can't be found If any of the objects involved can't be connected (i.e. if it's not an inventory object) If any of the classes provided can not be found
-
connectMirrorMultiplePort
void connectMirrorMultiplePort(String aObjectClass, String aObjectId, List<String> bObjectClasses, List<String> bObjectIds, String sessionId) throws ServerSideException
Connect two ports using a mirrorMultiple relationship- Parameters:
aObjectClass
- Port a classaObjectId
- Port a idbObjectClasses
- Port b classesbObjectIds
- Port b idssessionId
- Session token- Throws:
ServerSideException
-
releaseMirrorPort
void releaseMirrorPort(String objectClass, String objectId, String sessionId) throws ServerSideException
Releases a port mirroring relationship between two ports, receiving one of the ports as parameter- Parameters:
objectClass
- Object classobjectId
- Object idsessionId
- Session token- Throws:
ServerSideException
- If the object can not be found If the class can not be found
-
releaseMirrorMultiplePort
void releaseMirrorMultiplePort(String objectClass, String objectId, String sessionId) throws ServerSideException
Releases a port mirroring multiple relationship between two ports, receiving one of the ports as parameter- Parameters:
objectClass
- Object classobjectId
- Object idsessionId
- Session token- Throws:
ServerSideException
- If the object can not be found If the class can not be found
-
createPhysicalConnection
String createPhysicalConnection(String aObjectClass, String aObjectId, String bObjectClass, String bObjectId, String name, String connectionClass, String templateId, String sessionId) throws ServerSideException
Creates a physical connection (a container or a link). The validations are made at server side (this is, if the connection can be established between the two endpoints, if they're not already connected, etc)- Parameters:
aObjectClass
- "a" endpoint object classaObjectId
- "a" endpoint object idbObjectClass
- "b" endpoint object classbObjectId
- "b" endpoint object idname
- COnnection name. Leave empty if you want to use the one in the templateconnectionClass
- Class used to create the connection. See Constants class for supported valuestemplateId
- Id of the template for class connectionClass. Use -1 if you want to create a connection without templatesessionId
- Session token- Returns:
- The new connection id
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the object's class can't be found If the parent id is not found If the update can't be performed due to a format issue If any of the attribute values has an invalid value or format. If the specified template could not be found. If any of the objects can't be found If any of the objects involved can't be connected (i.e. if it's not an inventory object) If any of the classes provided can not be found
-
createPhysicalConnections
String[] createPhysicalConnections(String[] aObjectClasses, String[] aObjectIds, String[] bObjectClasses, String[] bObjectIds, String name, String connectionClass, String templateId, String sessionId) throws ServerSideException
Creates a physical connection (a container or a link). The validations are made at server side (this is, if the connection can be established between the two endpoints, if they're not already connected, etc)- Parameters:
aObjectClasses
- "a" endpoints object classaObjectIds
- "a" endpoints object idbObjectClasses
- "b" endpoints object classbObjectIds
- "b" endpoints object idname
- COnnection name. Leave empty if you want to use the one in the templateconnectionClass
- Class used to create the connection. See Constants class for supported valuestemplateId
- Id of the template for class connectionClass. Use -1 if you want to create a connection without templatesessionId
- Session token- Returns:
- The new connection id
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the object's class can't be found If the parent id is not found If the update can't be performed due to a format issue If any of the attribute values has an invalid value or format. If the specified template could not be found. If any of the objects can't be found If any of the objects involved can't be connected (i.e. if it's not an inventory object) If any of the classes provided can not be found
-
getPhysicalConnectionEndpoints
RemoteObjectLight[] getPhysicalConnectionEndpoints(String connectionClass, String connectionId, String sessionId) throws ServerSideException
Returns the endpoints of a physical connection- Parameters:
connectionClass
- Connection classconnectionId
- Connection idsessionId
- Session token- Returns:
- An array of two positions: the first is the A endpoint and the second is the B endpoint
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the object can not be found If either the object class or the attribute can not be found
-
getLogicalLinkDetails
@Deprecated RemoteLogicalConnectionDetails getLogicalLinkDetails(String linkClass, String linkId, String sessionId) throws ServerSideException
Deprecated.Returns the structure of a logical connection. The current implementation is quite simple and the return object simply provides the endpoints and the next ports connected to such endpoints using a physical connection- Parameters:
linkClass
- The class of the connection to be evaluatedlinkId
- The id of the connection to be evaluatedsessionId
- Session token- Returns:
- An object with the details of the connection and the physical resources associated to it
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the provided connection could not be found
-
validateSavedE2EView
RemoteViewObject validateSavedE2EView(List<String> linkClasses, List<String> linkIds, RemoteViewObject savedView, String sessionId) throws ServerSideException
Validates a saved structure of a end to end view. The current implementation provides the endpoints and the next ports connected to such endpoints using a physical connection also adds continuity if a VLAN or a BridgeDomain is found- Parameters:
linkClasses
- The class of the connection to be evaluatedlinkIds
- The id of the connection to be evaluatedsavedView
- a given saved view to validatesessionId
- Session token- Returns:
- An object with the details of the connection and the physical resources associated to it
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the provided connection could not be found
-
getE2View
RemoteViewObject getE2View(List<String> linkClasses, List<String> linkIds, boolean includeVLANs, boolean includeBDIs, String sessionId) throws ServerSideException
Returns the structure of a logical connection. The current implementation is quite simple and the return object simply provides the endpoints and the next ports connected to such endpoints using a physical connection- Parameters:
linkClasses
- The class of the connection to be evaluatedlinkIds
- The id of the connection to be evaluatedincludeVLANs
- true to include the bridge domains continuityincludeBDIs
- true to include the bridge domains continuitysessionId
- Session token- Returns:
- An object with the details of the connection and the physical resources associated to it
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the provided connection could not be found
-
getContainersBetweenObjects
List<RemoteObjectLight> getContainersBetweenObjects(String objectAClass, String objectAId, String objectBClass, String objectBId, String containerClass, String sessionId) throws ServerSideException
Retrieves the existing containers between two given nodes.- Parameters:
objectAClass
- The class of the object A.objectAId
- The id of the object A.objectBClass
- The class of the object B. (end point B class)objectBId
- The id of the object B (end point B id).containerClass
- The class of the containers to be return.sessionId
- Session token- Returns:
- A list with the common wire containers between the two objects
- Throws:
ServerSideException
- if an objects doesn't exist or if a given class doesn't exist
-
getPhysicalConnectionsInObject
List<RemoteObjectLightList> getPhysicalConnectionsInObject(String objectClass, String objectId, String sessionId) throws ServerSideException
Loops through all instances of GenericCommunicationsPort at any level inside the given object and gets the physical path. Only the ports with connections (physicalPath.size > 1) are returned- Parameters:
objectClass
- The class of the object.objectId
- The id of the object.sessionId
- Session token- Returns:
- A list of physical paths from all the ports with connections inside the given object. See
getPhysicalPath
for details about the structure of each entry - Throws:
ServerSideException
- In the same cases asgetChildrenOfClassLightRecursive
andgetPhysicalPath
-
getLinkConnectedToPort
RemoteObject getLinkConnectedToPort(String portClassName, String portId, String sessionId) throws ServerSideException
Convenience method that returns the link connected to a port (if any). It serves to avoid callinggetSpecialAttribute(java.lang.String,java.lang.String,java.lang.String,java.lang.String)
two times.- Parameters:
portClassName
- The class of the portportId
- The id of the portsessionId
- The session token- Returns:
- The link connected to the port or null if there isn't any
- Throws:
ServerSideException
- If the port could not be found or if the class provided does not exist or if The class provided is not a subclass of GenericPort
-
getPhysicalPath
List<RemoteObjectLight> getPhysicalPath(String objectClass, String objectId, String sessionId) throws ServerSideException
Gets the physical trace of connections and ports from a given port.- Parameters:
objectClass
- Object classobjectId
- Object idsessionId
- Session token- Returns:
- An array containing the sorted elements in the physical path of the given port. The first element is the port from which the trace is generated, while the last is the destination port until which there is physical continuity. If the source port does not have any connection, the physical path will have only one element (that port).
- Throws:
ServerSideException
- If the user is not allowed to invoke the method
-
getPhysicalTree
RemoteObjectRelatedObjects getPhysicalTree(String objectClass, String objectId, String sessionId) throws ServerSideException
Gets the tree representation of all physical paths.- Parameters:
objectClass
- Port object classobjectId
- Port object idsessionId
- Session token- Returns:
- A tree representation of all physical paths.
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If any of the objects involved in the path cannot be found If any of the object classes involved in the path cannot be found If any of the objects involved in the path has a malformed list type attribute If any of the objects involved in the path has an invalid objectId or className
-
connectPhysicalLinks
void connectPhysicalLinks(String[] sideAClassNames, String[] sideAIds, String[] linksClassNames, String[] linksIds, String[] sideBClassNames, String[] sideBIds, String sessionId) throws ServerSideException
Connects pairs of ports (if they are not connected already) using physical link- Parameters:
sideAClassNames
- The list of classes of one of the sides of the connectionsideAIds
- The list of ids the objects on one side of the connectionlinksClassNames
- the classes of the links that will connect the two sideslinksIds
- The ids of these linkssideBClassNames
- The list of classes of the other side of the connectionsideBIds
- The list of ids the objects on the other side of the connectionsessionId
- Session token- Throws:
ServerSideException
- If the object can not be found If either the object class or the attribute can not be found If any of the objects can't be found If any of the objects involved can't be connected (i.e. if it's not an inventory object) If any of the classes provided can not be found If the object activity log could no be found
-
connectPhysicalContainers
void connectPhysicalContainers(String[] sideAClassNames, String[] sideAIds, String[] containersClassNames, String[] containersIds, String[] sideBClassNames, String[] sideBIds, String sessionId) throws ServerSideException
Connects pairs of elements (of any class except subclasses of GenericPort) using containers (subclasses of GenericPhysicalContainer)- Parameters:
sideAClassNames
- The list of classes of one of the sides of the connectionsideAIds
- The list of ids the objects on one side of the connectioncontainersClassNames
- the classes of the containers that will connect the two sidescontainersIds
- The ids of these containerssideBClassNames
- The list of classes of the other side of the connectionsideBIds
- The list of ids the objects on the other side of the connectionsessionId
- Session token- Throws:
ServerSideException
- If any of the provided objects can not be found, if the endpoints are already connected, or if one of the endpoints is a port
-
disconnectPhysicalConnection
void disconnectPhysicalConnection(String connectionClass, String connectionId, int sideToDisconnect, String sessionId) throws ServerSideException
Disconnects a side or both sides of a physical connection (a link or a container)- Parameters:
connectionClass
- Class of the connection to be editedconnectionId
- Id of the connection to be editedsideToDisconnect
- Side to disconnect. Use 1 to disconnect only the side a, 2 to disconnect only side b and 3 to disconnect both sides at oncesessionId
- Session token- Throws:
ServerSideException
- If the object can not be found If either the object class or the attribute can not be found If the class provided does not exist If any of the relationships is now allowed according to the defined data model If the object activity log could no be found
-
reconnectPhysicalConnection
void reconnectPhysicalConnection(String connectionClass, String connectionId, String newASideClass, String newASideId, String newBSideClass, String newBSideId, String sessionId) throws ServerSideException
Changes one or both sides (endpoints) of a physical connection (link or container). Use this method carefully in containers, as it does not check if the endpoints of the links inside the container that was reconnected are consistent with its new endpoints. Also note that when used in physical links, the link will NOT be moved (as in the special containment hierarchy) to the nearest common parent of both endpoints. This method can not be used to disconnect connections, to do that use#disconnectPhysicalConnection(java.lang.String, long, int, java.lang.String)
.- Parameters:
connectionClass
- The class of the connection to be modifiedconnectionId
- The id of the connection to be modifiednewASideClass
- The class of the new side A of the connection. Use null if this side is not to be changed.newASideId
- The id of the new side A of the connection. Use -1 if this side is not to be changed.newBSideClass
- The class of the new side B of the connection. Use null if this side is not to be changed.newBSideId
- The id of the new side B of the connection. Use -1 if this side is not to be changed.sessionId
- The session token- Throws:
ServerSideException
- If any of the objects provided could not be found or if the new endpoint is not a port (if reconnecting a link) or if it is a port (if reconnecting a container)
-
deletePhysicalConnection
void deletePhysicalConnection(String objectClass, String objectId, String sessionId) throws ServerSideException
Deletes a physical connection- Parameters:
objectClass
- Object classobjectId
- Object idsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the object couldn't be found If the class could not be found If the object could not be deleted because there's some business rules that avoids it or it has incoming relationships. If the log root node could not be found
-
associateObjectToService
void associateObjectToService(String objectClass, String objectId, String serviceClass, String serviceId, String sessionId) throws ServerSideException
Associates an object (a resource) to an existing service- Parameters:
objectClass
- Object classobjectId
- Object idserviceClass
- service classserviceId
- service idsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If any of the objects can't be found If any of the objects involved can't be connected (i.e. if it's not an inventory object) If any of the classes provided can not be found
-
associateObjectsToService
void associateObjectsToService(String[] objectClass, String[] objectId, String serviceClass, String serviceId, String sessionId) throws ServerSideException
Associates a list of objects (resources) to an existing service- Parameters:
objectClass
- Object classobjectId
- Object idserviceClass
- service classserviceId
- service idsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If any of the objects can't be found If any of the objects involved can't be connected (i.e. if it's not an inventory object) If any of the classes provided can not be found
-
releaseObjectFromService
void releaseObjectFromService(String serviceClass, String serviceId, String targetId, String sessionId) throws ServerSideException
Releases an object from a service that is using it- Parameters:
serviceClass
- Service classserviceId
- Service idtargetId
- target object idsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the object can not be found If the class can not be found If the object activity log could no be found
-
getServiceResources
List<RemoteObjectLight> getServiceResources(String serviceClass, String serviceId, String sessionId) throws ServerSideException
Gets the services associated to a service- Parameters:
serviceClass
- Service classserviceId
- Service idsessionId
- Session token- Returns:
- A list of services
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the object can not be found If either the object class or the attribute can not be found
-
getBusinessObjectAuditTrail
ApplicationLogEntry[] getBusinessObjectAuditTrail(String objectClass, String objectId, int limit, String sessionId) throws ServerSideException
Retrieves the log entries for a given [business] object- Parameters:
objectClass
- Object classobjectId
- Object idlimit
- Max number of results (0 to retrieve all)sessionId
- Session token- Returns:
- The object's audit trail
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the class provided is not subclass of InventoryObject
-
getGeneralActivityAuditTrail
ApplicationLogEntry[] getGeneralActivityAuditTrail(int page, int limit, String sessionId) throws ServerSideException
Retrieves the list of activity log entries- Parameters:
page
- current pagelimit
- limit of results per page. 0 to retrieve them allsessionId
- The session id- Returns:
- The list of activity log entries
- Throws:
ServerSideException
- If the user is not allowed to invoke the method, If anything goes wrong
-
attachFileToObject
long attachFileToObject(String name, String tags, byte[] file, String className, String objectId, String sessionId) throws ServerSideException
Attaches a file to an inventory object- Parameters:
name
- The name of the file. It's more like its title, instead of the file nametags
- A semicolon (";") separated string with the tags associated to this document. These tags can be used to help find documents in a searchfile
- The actual fileclassName
- The class name of the inventory object the file will be attached toobjectId
- The id of the inventory object the file will be attached tosessionId
- Session token- Returns:
- The id of the file object that was created
- Throws:
ServerSideException
- If the file can not be saved or if there's already a file with that name related to the object or if the file exceeds the max size configured
-
detachFileFromObject
void detachFileFromObject(long fileObjectId, String className, String objectId, String sessionId) throws ServerSideException
Detaches a file from an inventory object. Note that the file will also be deleted.- Parameters:
fileObjectId
- The id of the file objectclassName
- The class of the object the file will be detached fromobjectId
- The id of the object the file will be detached fromsessionId
- The session token- Throws:
ServerSideException
- If the object or its class could not be found, or if the file object could not be found or if there was a problem physically deleting the file from disk
-
getFilesForObject
List<RemoteFileObjectLight> getFilesForObject(String className, String objectId, String sessionId) throws ServerSideException
Retrieves the files associated to a given inventory object- Parameters:
className
- The class of the object o retrieve the files fromobjectId
- The id of the object o retrieve the files fromsessionId
- The session token- Returns:
- A list of light file objects
- Throws:
ServerSideException
- If the object or its class could not be found
-
getFile
RemoteFileObject getFile(long fileObjectId, String className, String objectId, String sessionId) throws ServerSideException
Retrieves a particular file from those attached to an inventory object. The returned object contains the contents of the file- Parameters:
fileObjectId
- The id of the file objectclassName
- The class of the object the file will be detached fromobjectId
- The id of the object the file will be detached fromsessionId
- The session token- Returns:
- The object file encapsulating the contents of the file.
- Throws:
ServerSideException
- If the object or its class could not be found, or if the file object could not be found or if there was a problem physically deleting the file from disk
-
updateFileProperties
void updateFileProperties(long fileObjectId, List<StringPair> properties, String className, String objectId, String sessionId) throws ServerSideException
Updates the properties of a file object (name or tags)- Parameters:
fileObjectId
- The id of the file objectproperties
- The set of properties as a dictionary key-value. Valid keys are "name" and "tags"className
- The class of the object the file is attached toobjectId
- The id of the object the file is attached tosessionId
- The session token- Throws:
ServerSideException
- If the object file is attached to could not be found or if the file object could not be found or if any of the properties has an invalid name or if the file name is empty or if the class of the object file is attached to could not be found
-
createClass
long createClass(String className, String displayName, String description, boolean isAbstract, boolean isCustom, boolean isCountable, boolean isInDesign, String parentClassName, byte[] icon, byte[] smallIcon, int color, String sessionId) throws ServerSideException
Creates a class metadata object. This method is still under testing and might be buggy- Parameters:
className
- Class namedisplayName
- Class display namedescription
- Class descriptionisAbstract
- is this class abstract?isCustom
- Is this class part of the core of the application (can not be deleted) or if it's an extension to the default data model. In most cases, this should be "true".parentClassName
- Parent class nameisCountable
- NOt used so far. It's intended to be used to mark the classes that are created to make consistent the model, but that are not actual inventory elements, such as Slotsicon
- Icon for views. The size is limited by the value in Constants.MAX_ICON_SIZE and it's typically 32x32 pixelsisInDesign
- Says if a class can be instantiated or not. This is useful if you are creating many classes and want to avoid the users to create objects from those classes until you have finished the data model roll-out.smallIcon
- Icon for trees. The size is limited by the value in Constants.MAX_ICON_SIZEsessionId
- Session tokencolor
- The color to be used to display the instances of this class (depends on the client used)- Returns:
- the id of the new class metadata object
- Throws:
ServerSideException
- If the specified parent class doesn't exist If the reference node doesn't exist If any of the fields of the class definition has an invalid value
-
setClassProperties
void setClassProperties(long classId, String className, String displayName, String description, byte[] smallIcon, byte[] icon, int color, Boolean isAbstract, Boolean isInDesign, Boolean isCustom, Boolean isCountable, String sessionId) throws ServerSideException
Updates a class metadata properties. Use null values for those properties that shouldn't be touched- Parameters:
classId
-className
- metadata name. Null if unchangeddisplayName
- New class metadata display name. Null if unchangeddescription
- New class metadata description. Null if unchangedisAbstract
- is this class abstract?icon
- New icon for views. Null if unchanged. The size is limited by the value in Constants.MAX_ICON_SIZEcolor
- The color of the instances of this class.smallIcon
- New icon for trees. Null if unchanged. The size is limited by the value in Constants.MAX_ICON_SIZEisInDesign
- If the class is in design stage (see createClass).isCustom
- If the class is custom (see createClass).isCountable
- If the class is countable (see createClass).sessionId
- Session token- Throws:
ServerSideException
- If there is any problem retrieving an object, while checking if every created object of the class with an attributes marked as mandatory has value.
-
hasAttribute
boolean hasAttribute(String className, String attributeName, String sessionId) throws ServerSideException
Checks if a class has a attribute with a given name- Parameters:
className
- Class nameattributeName
- Attribute namesessionId
- Session token- Returns:
- True if the given class has the attribute
- Throws:
ServerSideException
- If there is no a class with such className
-
getAttribute
RemoteAttributeMetadata getAttribute(String className, String attributeName, String sessionId) throws ServerSideException
Gets a class attribute, using the class name as key to find it- Parameters:
className
- the class nameattributeName
-sessionId
- Session token- Returns:
- the class attribute
- Throws:
ServerSideException
- If there is no a class with such className If the attributeName does not exist
-
getAttributeForClassWithId
RemoteAttributeMetadata getAttributeForClassWithId(String classId, String attributeName, String sessionId) throws ServerSideException
Gets a class attribute, using the class id as key to find it- Parameters:
classId
- Class idattributeName
- Attribute namesessionId
- Session token- Returns:
- The attribute definition
- Throws:
ServerSideException
- If there is no a class with such classId If the attributeName does not exist
-
createAttribute
void createAttribute(String className, String name, String displayName, String type, String description, boolean administrative, boolean visible, boolean isReadOnly, boolean noCopy, boolean unique, boolean mandatory, boolean multiple, int order, String sessionId) throws ServerSideException
Adds an attribute to a class using its name as key to find it. If value of a given attribute is null, a default value will be set (except for the name, which is mandatory)- Parameters:
className
- Class name where the attribute will be attachedname
- attribute namedisplayName
- attribute display nametype
- attribute typedescription
- attribute descriptionadministrative
- is the attribute administrative?visible
- is the attribute visible?noCopy
- Marks an attribute as not to be copied during a copy operation.isReadOnly
- is the attribute read only?unique
- should this attribute be unique?mandatory
- is the attribute mandatory when an object is createdmultiple
- Indicates if the attribute is a multiple selection list type. This flag has no effect in primitive types, such as strings or numbersorder
- Tells the system how to sort the attributes. A call to any method that returns the attributes of a class will return them sorted by order. This is useful to show the attributes in property sheets in order of importance, for example. The default value is 1000sessionId
- session token- Throws:
ServerSideException
- If there is no a class with such className If any of the parameters to create the attribute has a wrong value
-
createAttributeForClassWithId
void createAttributeForClassWithId(long ClassId, String name, String displayName, String type, String description, boolean administrative, boolean visible, boolean readOnly, boolean noCopy, boolean unique, boolean mandatory, boolean multiple, int order, String sessionId) throws ServerSideException
Adds an attribute to a class using its id as key to find it. If value of a given attribute is null, a default value will be put in place (except for the name, which is mandatory)- Parameters:
ClassId
- Class id where the attribute will be attachedname
- attribute namedisplayName
- attribute display nametype
- attribute typedescription
- attribute descriptionadministrative
- is the attribute administrative?visible
- is the attribute visible?readOnly
- is the attribute read only?noCopy
- Marks an attribute as not to be copied during a copy operation.unique
- should this attribute be unique?mandatory
- is the attribute mandatory when an object is createdmultiple
- Indicates if the attribute is a multiple selection list type. This flag has no effect in primitive types, such as strings or numbersorder
- Tells the system how to sort the attributes. A call to any method that returns the attributes of a class will return them sorted by order. This is useful to show the attributes in property sheets in order of importance, for example. The default value is 1000sessionId
- session token- Throws:
ServerSideException
- If any of the parameters to create the attribute has a wrong value
-
setAttributeProperties
void setAttributeProperties(String className, long attributeId, String name, String displayName, String description, String type, Boolean administrative, Boolean mandatory, Boolean multiple, Boolean noCopy, Boolean readOnly, Boolean unique, Boolean visible, Integer order, String sessionId) throws ServerSideException
Updates a class attribute taking its name as key to find it. If value of a given attribute is null, the old value will remain unchanged.- Parameters:
className
- Class the attribute belongs toattributeId
- attribute idname
- attribute namedisplayName
- attribute display nametype
- attribute typedescription
- attribute descriptionadministrative
- is the attribute administrative?visible
- is the attribute visible?readOnly
- is the attribute read only?unique
- should this attribute be unique?mandatory
- is the attribute mandatory when an object is createdmultiple
- Indicates if the attribute is a multiple selection list type. This flag has no effect in primitive types, such as strings or numbersnoCopy
- can this attribute be copy in copy/paste operation?order
- Tells the system how to sort the attributes. A call to any method that returns the attributes of a class will return them sorted by order. This is useful to show the attributes in property sheets in order of importance, for example. The default value is 1000sessionId
- session token- Throws:
ServerSideException
- If an object can't be find, while it is checking if every object of the class (or subclasses) has a value in an attribute marked as mandatory
-
setAttributePropertiesForClassWithId
void setAttributePropertiesForClassWithId(long classId, long attributeId, String name, String displayName, String description, String type, Boolean administrative, Boolean mandatory, Boolean multiple, Boolean noCopy, Boolean readOnly, Boolean unique, Boolean visible, Integer order, String sessionId) throws ServerSideException
Updates a class attribute taking its id as key to find it. If value of a given attribute is null, the old value will remain unchanged.- Parameters:
classId
- Class the attribute belongs toattributeId
- attribute idname
- attribute namedisplayName
- attribute display nametype
- attribute typedescription
- attribute descriptionadministrative
- is the attribute administrative?visible
- is the attribute visible?readOnly
- is the attribute read only?unique
- should this attribute be unique?mandatory
- is the attribute mandatory when an object is createdmultiple
- Indicates if the attribute is a multiple selection list type. This flag has no effect in primitive types, such as strings or numbersnoCopy
- can this attribute be copy in copy/paste operation?order
- Tells the system how to sort the attributes. A call to any method that returns the attributes of a class will return them sorted by order. This is useful to show the attributes in property sheets in order of importance, for example. The default value is 1000sessionId
- session token- Throws:
ServerSideException
- If an object can't be find, while it is checking if every object of the class (or subclasses) has a value in an attribute marked as mandatory
-
deleteAttribute
void deleteAttribute(String className, String attributeName, String sessionId) throws ServerSideException
Deletes an attribute from a class using the class name as key to find it- Parameters:
className
- Class nameattributeName
- Attribute namesessionId
- Session token- Throws:
ServerSideException
- If the class could not be found. If the attributes name or creationDate are to be deleted.
-
deleteAttributeForClassWithId
void deleteAttributeForClassWithId(long classId, String attributeName, String sessionId) throws ServerSideException
Deletes an attribute from a class using the class id as key to find it- Parameters:
classId
- Class idattributeName
- Attribute namesessionId
- Session token- Throws:
ServerSideException
- If the class could not be found. If the attributes name or creationDate are to be deleted.
-
getClass
RemoteClassMetadata getClass(String className, String sessionId) throws ServerSideException
Gets the metadata of a given class using its name as key to find it- Parameters:
className
- Class namesessionId
- Session token- Returns:
- The metadata as a ClassInfo instance
- Throws:
ServerSideException
- If there is no class with such className
-
getClassWithId
RemoteClassMetadata getClassWithId(long classId, String sessionId) throws ServerSideException
Gets the metadata of a given class using its id as key to find it- Parameters:
classId
- Class metadata object idsessionId
- session token- Returns:
- The metadata as a ClassInfo instance
- Throws:
ServerSideException
- If there is no class with such classId
-
getSubClassesLight
List<RemoteClassMetadataLight> getSubClassesLight(String className, boolean includeAbstractClasses, boolean includeSelf, String sessionId) throws ServerSideException
Gets the subclasses of a given class- Parameters:
className
- Class nameincludeAbstractClasses
- should the result include the abstract classes?includeSelf
- Should the list include the subclasses and the parent class?sessionId
- Session token- Returns:
- The list of subclasses
- Throws:
ServerSideException
- If the provided class is not a subclass of InventoryObject
-
getSubClassesLightNoRecursive
List<RemoteClassMetadataLight> getSubClassesLightNoRecursive(String className, boolean includeAbstractClasses, boolean includeSelf, String sessionId) throws ServerSideException
Gets the subclasses of a given class- Parameters:
className
- Class nameincludeAbstractClasses
- should the result include the abstract classes?includeSelf
- Should the list include the subclasses and the parent class?sessionId
- Session token- Returns:
- The list of subclasses
- Throws:
ServerSideException
- Exception If the class could not be found.
-
getAllClasses
List<RemoteClassMetadata> getAllClasses(boolean includeListTypes, String sessionId) throws ServerSideException
Retrieves the metadata for the entire class hierarchy as ClassInfo instances- Parameters:
sessionId
- Session tokenincludeListTypes
- boolean to indicate if the list should include the subclasses of GenericObjectList- Returns:
- An array with the metadata for the entire class hierarchy as ClassInfo instances
- Throws:
ServerSideException
- Generic exception encapsulating any possible error raised at runtime
-
getAllClassesLight
List<RemoteClassMetadataLight> getAllClassesLight(boolean includeListTypes, String sessionId) throws ServerSideException
Retrieves the metadata for the entire class hierarchy as ClassInfoLight instances- Parameters:
sessionId
- Session tokenincludeListTypes
- boolean to indicate if the list should include the subclasses of GenericObjectList- Returns:
- An array with the metadata for the entire class hierarchy as ClassInfoLight instances
- Throws:
ServerSideException
- If GenericListType class does not exist.
-
deleteClass
void deleteClass(String className, String sessionId) throws ServerSideException
Deletes a class from the data model using its name as key to find it- Parameters:
className
- Class namesessionId
- Session token- Throws:
ServerSideException
- If there is not a class with de ClassName If the class is a core class, has instances, has incoming relationships or is a list type that is used by another class.
-
deleteClassWithId
void deleteClassWithId(long classId, String sessionId) throws ServerSideException
Deletes a class from the data model using its id as key to find it- Parameters:
classId
- Class idsessionId
- Session token- Throws:
ServerSideException
- If the class is a core class, has instances, has incoming relationships or is a list type that is used by another class.
-
getPossibleChildren
List<RemoteClassMetadataLight> getPossibleChildren(String parentClassName, String sessionId) throws ServerSideException
Gets the possible children of a class according to the containment hierarchy. This method is recursive, and if a possible child is an abstract class, it gets its non-abstract subclasses- Parameters:
parentClassName
- Class to retrieve its possible childrensessionId
- Session token- Returns:
- A list of possible children as ClassInfoLight instances An array with the metadata for the entire class hierarchy as ClassInfoLight instances
- Throws:
ServerSideException
- If the class can not be found
-
getPossibleSpecialChildren
List<RemoteClassMetadataLight> getPossibleSpecialChildren(String parentClassName, String sessionId) throws ServerSideException
Gets the possible special children of a class according to the containment hierarchy. This method is recursive, and if a possible special child is an abstract class, it gets its non-abstract subclasses- Parameters:
parentClassName
- Class to retrieve its possible special childrensessionId
- Session token- Returns:
- A list of possible special children as ClassInfoLight instances
- Throws:
ServerSideException
- If the class can not be found
-
getPossibleChildrenNoRecursive
List<RemoteClassMetadataLight> getPossibleChildrenNoRecursive(String parentClassName, String sessionId) throws ServerSideException
Gets the possible children of a class according to the containment hierarchy. This method is not recursive, and only returns the direct possible children, even if they're abstract- Parameters:
parentClassName
- Class to retrieve its possible childrensessionId
- Session token- Returns:
- An array with the metadata for the entire class hierarchy as ClassInfoLight instances
- Throws:
ServerSideException
- If the class could not be found
-
getPossibleSpecialChildrenNoRecursive
List<RemoteClassMetadataLight> getPossibleSpecialChildrenNoRecursive(String parentClassName, String sessionId) throws ServerSideException
Gets the possible special children of a class according to the containment hierarchy. This method is not recursive, and only returns the direct possible special children, even if they're abstract- Parameters:
parentClassName
- Class to retrieve its possible special childrensessionId
- Session token- Returns:
- A List with the metadata for the entire class hierarchy as ClassInfoLight instances
- Throws:
ServerSideException
- If the class could not be found
-
addPossibleChildrenForClassWithId
void addPossibleChildrenForClassWithId(long parentClassId, long[] newPossibleChildren, String sessionId) throws ServerSideException
Adds possible children to a given class using its id as argument. If any of the arguments provided are already added, it will abort the operation and rise an exception- Parameters:
parentClassId
- Class to attach the new possible childrennewPossibleChildren
- List of new possible children. Abstract classes are de-aggregatedsessionId
- Session token- Throws:
ServerSideException
- If any of the possible children or the parent doesn't exist If any of the possible children classes already are possible children.
-
addPossibleSpecialChildrenWithId
void addPossibleSpecialChildrenWithId(long parentClassId, long[] possibleSpecialChildren, String sessionId) throws ServerSideException
Adds possible special children to a given class using its id as argument. If any of the arguments provided are already added, it will abort the operation and rise an exception- Parameters:
parentClassId
- Class to attach the new possible special childrenpossibleSpecialChildren
- List of new possible children. Abstract classes are de-aggregatedsessionId
- Session token- Throws:
ServerSideException
- If any of the possible children or the parent doesn't exist If any of the possible children classes already are possible special children.
-
addPossibleChildren
void addPossibleChildren(String parentClassName, String[] childrenToBeAdded, String sessionId) throws ServerSideException
Adds possible children to a given class using its name as argument. If any of the arguments provided are already added, it will abort the operation and rise an exception- Parameters:
parentClassName
- Class to attach the new possible childrenchildrenToBeAdded
- List of new possible children. Abstract classes are de-aggregatedsessionId
- Session token- Throws:
ServerSideException
- If the parent class or any of the possible children can not be found If any of the given possible children can not be a possible children of parentClassName
-
addPossibleSpecialChildren
void addPossibleSpecialChildren(String parentClassName, String[] possibleSpecialChildren, String sessionId) throws ServerSideException
Adds special possible children to a given class using its name. If any of the arguments provided are already added, it will abort the operation and rise an exception- Parameters:
parentClassName
- Class to attach the new possible special childrenpossibleSpecialChildren
- List of new possible special children. Abstract classes are de-aggregatedsessionId
- Session token- Throws:
ServerSideException
- If the parent class or any of the possible children can not be found If any of the given possible children can not be a possible children of parentClassName
-
removePossibleChildrenForClassWithId
void removePossibleChildrenForClassWithId(long parentClassId, long[] childrenToBeRemoved, String sessionId) throws ServerSideException
Removes a set of possible children for a given class- Parameters:
parentClassId
- Class the possible children are going to be removed fromchildrenToBeRemoved
- List of ids of classes to be removed as possible childrensessionId
- Session token- Throws:
ServerSideException
- If any of the ids provided can't be found
-
removePossibleSpecialChildren
void removePossibleSpecialChildren(long parentClassId, long[] specialChildrenToBeRemoved, String sessionId) throws ServerSideException
Removes a set of possible special children for a given class.- Parameters:
parentClassId
- Parent Class of the possible special children are going to be removed fromspecialChildrenToBeRemoved
- List of ids of classes to be remove as possible special childrensessionId
- Session token- Throws:
ServerSideException
- If any of the ids provided can't be found
-
getUpstreamContainmentHierarchy
List<RemoteClassMetadataLight> getUpstreamContainmentHierarchy(String className, boolean recursive, String sessionId) throws ServerSideException
Gets the containment hierarchy of a given class, but upwards (i.e. for Building, it could return City, Country, Continent)- Parameters:
className
- Class to be evaluatedrecursive
- do it recursively or notsessionId
-- Returns:
- List of classes in the upstream containment hierarchy
- Throws:
ServerSideException
- If className does not correspond to any existing class
-
getUpstreamSpecialContainmentHierarchy
List<RemoteClassMetadataLight> getUpstreamSpecialContainmentHierarchy(String className, boolean recursive, String sessionId) throws ServerSideException
Gets the special containment hierarchy of a given class, but upwards (i.e. for Building, it could return City, Country, Continent)- Parameters:
className
- Class to be evaluatedrecursive
- Do it recursively or notsessionId
- Session id token- Returns:
- List of classes in upstream special containment hierarchy
- Throws:
ServerSideException
- If className does not correspond to any existing class
-
getUpstreamClassHierarchy
List<RemoteClassMetadataLight> getUpstreamClassHierarchy(String className, boolean includeSelf, String sessionId) throws ServerSideException
Gets the parent classes of a given class up to RootObject.- Parameters:
className
- The class to get the superclasses fromincludeSelf
- If the result should also include the class in classNamesessionId
- The session token- Returns:
- The list of super classes until the root of the hierarchy
- Throws:
ServerSideException
- If the class provided could not be found
-
isSubClassOf
boolean isSubClassOf(String className, String allegedParentClass, String sessionId) throws ServerSideException
Tests if a class is subclass of another.- Parameters:
className
- Class to be tested.allegedParentClass
- Class to be tested against.sessionId
- Session token.- Returns:
- If the tested class is subclass of allegedParentClass or not.
- Throws:
ServerSideException
- In case something goes wrong.
-
bulkUpload
String bulkUpload(byte[] file, int commitSize, int dataType, String sessionId) throws ServerSideException
Creates many objects at once given a well formatted file. See user manual for details on how to format the file- Parameters:
file
- The file with size no greatercommitSize
- The records are not committed one by one, but in batch. This number tells Kuwaiba how many records (lines) to commit at once.dataType
- What kind of data contains the file, listTypes, inventory objects, etcsessionId
- Session token.- Returns:
- The result of the operation.
- Throws:
ServerSideException
- If something goes wrong.
-
downloadBulkLoadLog
byte[] downloadBulkLoadLog(String fileName, String sessionId) throws ServerSideException
Retrieves the log file product of a bulk load operation.- Parameters:
fileName
- The name of the file (provided by the method that performs the bulk creation)sessionId
- Session token- Returns:
- The contents of the file.
- Throws:
ServerSideException
- If something goes wrong.
-
createTemplate
String createTemplate(String templateClass, String templateName, String sessionId) throws ServerSideException
Creates a template.- Parameters:
templateClass
- The class you want to create a template for.templateName
- The name of the template.sessionId
- Session token.- Returns:
- The id of the newly created template.
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the provided class does not exist If the template class is abstract.
-
createTemplateElement
String createTemplateElement(String templateElementClass, String templateElementParentClassName, String templateElementParentId, String templateElementName, String sessionId) throws ServerSideException
Creates an object inside a template.- Parameters:
templateElementClass
- Class of the object you want to create.templateElementParentClassName
- Class of the parent to the object you want to create.templateElementParentId
- Id of the parent to the object you want to create.templateElementName
- Name of the element.sessionId
- Session token.- Returns:
- The id of the new object.
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the object (or its parent) class could not be found If the parent object could not be found If the class provided to create the new element from is abstract.
-
createTemplateSpecialElement
String createTemplateSpecialElement(String tsElementClass, String tsElementParentClassName, String tsElementParentId, String tsElementName, String sessionId) throws ServerSideException
Creates an special object inside a template.- Parameters:
tsElementClass
- Class of the special object you want to create.tsElementParentClassName
- Class of the parent to the special object you want to create.tsElementParentId
- Id of the parent to the special object you want to create.tsElementName
- Name of the element.sessionId
- Session token.- Returns:
- The id of the new object.
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the element class are not a possible special child of the element parent class If the element class given are abstract If the element class or element parent class can not be found If the element parent can no be found
-
createBulkTemplateElement
String[] createBulkTemplateElement(String templateElementClassName, String templateElementParentClassName, String templateElementParentId, String templateElementNamePattern, String sessionId) throws ServerSideException
Creates multiple template elements using a given name pattern- Parameters:
templateElementClassName
- The class name of the new set of template elementstemplateElementParentClassName
- The parent class name of the new set of template elementstemplateElementParentId
- The parent id of the new set of template elementstemplateElementNamePattern
- Name pattern of the new set of template elementssessionId
- Session id token- Returns:
- An array of ids for the new template elements
- Throws:
ServerSideException
- If the parent class name or the template element class name cannot be found If the given template element class cannot be a child of the given parent If the parent class name cannot be found If the given pattern to generate the name has less possibilities that the number of template elements to be created
-
createBulkSpecialTemplateElement
String[] createBulkSpecialTemplateElement(String stElementClass, String stElementParentClassName, String stElementParentId, String stElementNamePattern, String sessionId) throws ServerSideException
Creates multiple special template elements using a given name pattern- Parameters:
stElementClass
- The class name of the new set of special template elementsstElementParentClassName
- The parent class name of the new set of special template elementsstElementParentId
- The parent id of the new set of special template elementsstElementNamePattern
- Name pattern of the new set of special template elementssessionId
- Session id token- Returns:
- An array if ids for the new special template elements
- Throws:
ServerSideException
- If the parent class name or the special template element class name cannot be found If the given special template element class cannot be a child of the given parent If the parent class name cannot be found If the given pattern to generate the name has less possibilities that the number of special template elements to be created
-
updateTemplateElement
void updateTemplateElement(String templateElementClass, String templateElementId, String[] attributeNames, String[] attributeValues, String sessionId) throws ServerSideException
Updates the value of an attribute of a template element.- Parameters:
templateElementClass
- Class of the element you want to update.templateElementId
- Id of the element you want to update.attributeNames
- Names of the attributes that you want to be updated as an array of strings.attributeValues
- The values of the attributes you want to update. For list types, it's the id of the related typesessionId
- Session token.- Throws:
ServerSideException
- If the user is not allowed to invoke the method If any of the classes provided as arguments do not exist If the template element could not be found If the arrays attributeNames and attributeValues have different sizes
-
deleteTemplateElement
void deleteTemplateElement(String templateElementClass, String templateElementId, String sessionId) throws ServerSideException
Deletes an element within a template or a template itself.- Parameters:
templateElementClass
- The template element class.templateElementId
- The template element id.sessionId
- Session token.- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the element's class could not be found. If the element could not be found.
-
getTemplatesForClass
List<RemoteObjectLight> getTemplatesForClass(String className, String sessionId) throws ServerSideException
Gets the templates available for a given class- Parameters:
className
- Class whose templates we needsessionId
- Session token- Returns:
- A list of templates (actually, the top element) as a list of RemoteOObjects
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the class provided could not be found.
-
copyTemplateElements
String[] copyTemplateElements(String[] sourceObjectsClassNames, String[] sourceObjectsIds, String newParentClassName, String newParentId, String sessionId) throws ServerSideException
Copy template elements within templates. Should not be used to copy entire templates.- Parameters:
sourceObjectsClassNames
- Array with the class names of the elements to be copied.sourceObjectsIds
- Array with the ids of the elements to be copied.newParentClassName
- Class of the parent of the copied objects.newParentId
- Id of the parent of the copied objects.sessionId
- Session token.- Returns:
- An array with the ids of the newly created elements in the same order they were provided.
- Throws:
ServerSideException
- If the user is not allowed to invoke the method. If any of the classes could not be found. If any of the source template elements could not be found. If the arrays provided as arguments have different sizes.
-
copyTemplateSpecialElements
String[] copyTemplateSpecialElements(String[] sourceObjectsClassNames, String[] sourceObjectsIds, String newParentClassName, String newParentId, String sessionId) throws ServerSideException
Copy template special elements within templates. Should not be used to copy entire templates.- Parameters:
sourceObjectsClassNames
- Array with the class names of the special elements to be copied.sourceObjectsIds
- Array with the ids of the special elements to be copied.newParentClassName
- Class of the parent of the copied objects.newParentId
- Id of the parent of the copied objects.sessionId
- Session token.- Returns:
- An array with the ids of the newly created special elements in the same order they were provided.
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the arrays provided as arguments have different sizes. If any of the classes could not be found. If any of the source template elements could not be found.
-
getTemplateElementChildren
List<RemoteObjectLight> getTemplateElementChildren(String templateElementClass, String templateElementId, String sessionId) throws ServerSideException
Retrieves the children of a given template element.- Parameters:
templateElementClass
- Template element class.templateElementId
- Template element id.sessionId
-- Returns:
- The template element's children as a list of RemoteBusinessObjectLight instances.
- Throws:
ServerSideException
- If the user is not allowed to invoke the method
-
getTemplateSpecialElementChildren
List<RemoteObjectLight> getTemplateSpecialElementChildren(String tsElementClass, String tsElementId, String sessionId) throws ServerSideException
Retrieves the children of a given template special element.- Parameters:
tsElementClass
- Template special element class.tsElementId
- Template special element id.sessionId
-- Returns:
- The template element's children as a list of RemoteBusinessObjectLight instances.
- Throws:
ServerSideException
- If the user is not allowed to invoke the method
-
getTemplateElement
RemoteObject getTemplateElement(String templateElementClass, String templateElementId, String sessionId) throws ServerSideException
Retrives all the information of a given template element.- Parameters:
templateElementClass
- Template element class.templateElementId
- Template element id.sessionId
- session token- Returns:
- The template element information
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the template class does not exist If the template element could not be found If an attribute value can't be mapped into value
-
createClassLevelReport
long createClassLevelReport(String className, String reportName, String reportDescription, String script, int outputType, boolean enabled, String sessionId) throws ServerSideException
Creates a class level report (a report that will be available for all instances of a given class -and its subclasses-)- Parameters:
className
- Class this report is going to be related to. It can be ab abstract class and the report will be available for all its subclassesreportName
- Name of the report.reportDescription
- Report description.script
- Script text.outputType
- What will be the default output of this report? See ClassLevelReportDescriptor for possible valuesenabled
- If enabled, a report can be executed.sessionId
- Session token- Returns:
- The id of the newly created report.
- Throws:
ServerSideException
- If the user is not allowed to invoke the method. If the class provided could not be found.
-
createInventoryLevelReport
long createInventoryLevelReport(String reportName, String reportDescription, String script, int outputType, boolean enabled, List<StringPair> parameters, String sessionId) throws ServerSideException
Creates an inventory level report (a report that is not tied to a particlar instance or class. In most cases, they also receive parameters)- Parameters:
reportName
- Name of the report.reportDescription
- Report description.script
- Script text.outputType
- What will be the default output of this report? See InventoryLevelReportDescriptor for possible valuesenabled
- If enabled, a report can be executed.parameters
- Optional (it might be either null or an empty array). The list of the names parameters that this report will support. They will always be captured as strings, so it's up to the author of the report the sanitization and conversion of the inputssessionId
- Session token- Returns:
- The id of the newly created report.
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the dummy root could not be found, which is actually a severe problem.
-
deleteReport
void deleteReport(long reportId, String sessionId) throws ServerSideException
Deletes a report- Parameters:
reportId
- The id of the report.sessionId
- Session token.- Throws:
ServerSideException
- If the user is not allowed to invoke the method. If the report could not be found.
-
updateReport
void updateReport(long reportId, String reportName, String reportDescription, Boolean enabled, Integer type, String script, String sessionId) throws ServerSideException
Updates the properties of an existing class level report.- Parameters:
reportId
- Id of the report.reportName
- The name of the report. Null to leave it unchanged.reportDescription
- The description of the report. Null to leave it unchanged.enabled
- Is the report enabled? . Null to leave it unchanged.type
- Type of the output of the report. See LocalReportLight for possible valuesscript
- Text of the script.sessionId
- Session token.- Throws:
ServerSideException
- If the user is not allowed to invoke the method If any of the report properties has a wrong or unexpected format If the report could not be found.
-
updateReportParameters
void updateReportParameters(long reportId, List<StringPair> parameters, String sessionId) throws ServerSideException
Updates the value of any of the parameters of a given report.- Parameters:
reportId
- Report id.parameters
- List of pairs attribute-value of the report. Valid values are name, description, script and enabled.sessionId
- Session token.- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the any of the parameters has an invalid name
-
getClassLevelReports
List<RemoteReportMetadataLight> getClassLevelReports(String className, boolean recursive, boolean includeDisabled, String sessionId) throws ServerSideException
Gets the class level reports associated to the given class (or its superclasses)- Parameters:
className
- The class to extract the reports from.recursive
- False to get only the directly associated reports. True top get also the reports associate top its superclassesincludeDisabled
- True to also include the reports marked as disabled. False to return only the enabled ones.sessionId
- Session token.- Returns:
- The list of reports.
- Throws:
ServerSideException
- If the class could not be found If the user is not allowed to invoke the method
-
getInventoryLevelReports
List<RemoteReportMetadataLight> getInventoryLevelReports(boolean includeDisabled, String sessionId) throws ServerSideException
Gets the inventory class reports.- Parameters:
includeDisabled
- True to also include the reports marked as disabled. False to return only the enabled ones.sessionId
- Session token.- Returns:
- The list of reports.
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the dummy root could not be found, which is actually a severe problem.
-
getReport
RemoteReportMetadata getReport(long reportId, String sessionId) throws ServerSideException
Gets the information related to a class level report.- Parameters:
reportId
- The id of the report.sessionId
- Session token.- Returns:
- The report.
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the report could not be found.
-
executeClassLevelReport
byte[] executeClassLevelReport(String objectClassName, String objectId, long reportId, String sessionId) throws ServerSideException
Executes a class level report and returns the result.- Parameters:
objectClassName
- The class of the instance that will be used as input for the report.objectId
- The id of the instance that will be used as input for the report.reportId
- The id of the report.sessionId
- Session token.- Returns:
- The result of the report execution.
- Throws:
ServerSideException
- If the class could not be found or if the report could not be found or if the inventory object could not be found or if there's an error during the execution of the report.
-
executeInventoryLevelReport
byte[] executeInventoryLevelReport(long reportId, List<StringPair> parameters, String sessionId) throws ServerSideException
Executes an inventory level report and returns the result.- Parameters:
reportId
- The id of the report.parameters
- List of pairs param name - param valuesessionId
- Session token.- Returns:
- The result of the report execution.
- Throws:
ServerSideException
- If the user is not allowed to invoke the method or If the report could not be found or if the associated script exits with error.
-
createFavoritesFolderForUser
long createFavoritesFolderForUser(String favoritesFolderName, long userId, String sessionId) throws ServerSideException
Creates a favorites folder for User.- Parameters:
favoritesFolderName
- Bookmark folder nameuserId
- User idsessionId
- The session token- Returns:
- The id of the new Bookmark folder
- Throws:
ServerSideException
- If the user is not allowed to invoke the method or If the user can not be found or If the name is null or empty
-
deleteFavoritesFolders
void deleteFavoritesFolders(long[] favoritesFolderId, long userId, String sessionId) throws ServerSideException
Deletes a set of favorites folders- Parameters:
favoritesFolderId
- Bookmark folder iduserId
- The User idsessionId
- The session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method or If any favorites folder in the array can not be found
-
getFavoritesFoldersForUser
List<RemoteFavoritesFolder> getFavoritesFoldersForUser(long userId, String sessionId) throws ServerSideException
Gets the list of favorites folders of a given User.- Parameters:
userId
- User idsessionId
- The session token- Returns:
- The list of Bookmarks for user
- Throws:
ServerSideException
- If the user is not allowed to invoke the method or If the user can not be found
-
addObjectsToFavoritesFolder
void addObjectsToFavoritesFolder(String[] objectClass, String[] objectId, long favoritesFolderId, long userId, String sessionId) throws ServerSideException
Associates a list of objects to an existing favorites folder- Parameters:
objectClass
- Object class nameobjectId
- Object idfavoritesFolderId
- Bookmark folder iduserId
- The User idsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the favorites folder can not be found If the object can not be found If the object have a relationship with the favorite folder
-
removeObjectsFromFavoritesFolder
void removeObjectsFromFavoritesFolder(String[] objectClass, String[] objectId, long favoritesFolderId, long userId, String sessionId) throws ServerSideException
Removes a list of objects from a given favorites folder- Parameters:
objectClass
- Object class nameobjectId
- Object idfavoritesFolderId
- Bookmark folder iduserId
- User id the favorites folder belongs tosessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the favorites folder can not be found If the object can not be found If the object can not be found
-
getObjectsInFavoritesFolder
List<RemoteObjectLight> getObjectsInFavoritesFolder(long favoritesFolderId, long userId, int limit, String sessionId) throws ServerSideException
Gets the objects in a to favorites folder- Parameters:
favoritesFolderId
- Bookmark folder iduserId
- User Idlimit
- Max number of results. Use -1 to retrieve all.sessionId
- Session token- Returns:
- The list of objects
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the favorites folder can not be found
-
getFavoritesFoldersForObject
List<RemoteFavoritesFolder> getFavoritesFoldersForObject(long userId, String objectClass, String objectId, String sessionId) throws ServerSideException
Gets the favorites folders an object is included into.- Parameters:
userId
- User IdobjectClass
- Object Class nameobjectId
- Object idsessionId
- Session token- Returns:
- The list of bookmarks where an object is associated
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the object can not be found If the object is associated to a bookmark folder but The favorites folder is not associated to the current user
-
getFavoritesFolder
RemoteFavoritesFolder getFavoritesFolder(long favoritesFolderId, long userId, String sessionId) throws ServerSideException
Gets a favorites folder- Parameters:
favoritesFolderId
- Bookmark folder iduserId
- User idsessionId
- Session token- Returns:
- The Bookmark folder
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the favorites folder can not be found
-
updateFavoritesFolder
void updateFavoritesFolder(long favoritesFolderId, String favoritesFolderName, long userId, String sessionId) throws ServerSideException
Updates a favorites folder- Parameters:
favoritesFolderId
- Favorites folder idfavoritesFolderName
- Favorites folder nameuserId
- User idsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the favorites folder can not be found If the name of the favorites folder is null or empty
-
createBusinessRule
long createBusinessRule(String ruleName, String ruleDescription, int ruleType, int ruleScope, String appliesTo, String ruleVersion, List<String> constraints, String sessionId) throws ServerSideException
Creates a business rule given a set of constraints- Parameters:
ruleName
- Rule nameruleDescription
- Rule descriptionruleType
- Rule type. See BusinesRule.TYPE* for possible values.ruleScope
- The scope of the rule. See BusinesRule.SCOPE* for possible values.appliesTo
- The class this rule applies to. Can not be null.ruleVersion
- The version of the rule. Useful to migrate it if necessary in further versions of the platformconstraints
- An array with the definition of the logic to be matched with the rule. Can not be empty or nullsessionId
- Session token- Returns:
- The id of the newly created business rule
- Throws:
ServerSideException
- If any of the parameters is null (strings) or leer than 1 or if the constraints array is null or empty
-
deleteBusinessRule
void deleteBusinessRule(long businessRuleId, String sessionId) throws ServerSideException
Deletes a business rule- Parameters:
businessRuleId
- Rule idsessionId
- Session token- Throws:
ServerSideException
- If the given rule does not exist
-
getBusinessRules
List<RemoteBusinessRule> getBusinessRules(int type, String sessionId) throws ServerSideException
Retrieves the business rules of a particular type.- Parameters:
type
- Rule type. See BusinesRule.TYPE* for possible values. Use -1 to retrieve allsessionId
- Session token- Returns:
- The list of business rules with the matching type.
- Throws:
ServerSideException
- If something unexpected happens
-
launchSupervisedSynchronizationTask
List<RemoteSyncFinding> launchSupervisedSynchronizationTask(long syncGroupId, String sessionId) throws ServerSideException
Executes a supervised synchronization job, which consist on connecting to the sync data source using the configuration attached to the given sync group and finding the differences between the information currently in the inventory platform and what's in the sync data source. A supervised sync job needs a human to review the differences and decide what to do, while an automated sync job automatically decides what to do based on built-in business rules. Please note that the execution might take some time, so it is expected that the client to implement an asynchronous call- Parameters:
syncGroupId
- The sync group idsessionId
- The session token- Returns:
- A list of differences that require the authorization of a user to be resolved
- Throws:
ServerSideException
- If the sync group could not be found or if
-
launchAutomatedSynchronizationTask
List<RemoteSyncResult> launchAutomatedSynchronizationTask(long syncGroupId, String providersName, String sessionId) throws ServerSideException
Executes an automated synchronization job, which consist on connecting to the sync data source using the configuration attached to the given sync group and finding the differences between the information currently in the inventory platform and what's in the sync data source. An automated sync job does not need human intervention it automatically decides what to do based on built-in business rules- Parameters:
syncGroupId
- The sync group idprovidersName
-sessionId
- The session token- Returns:
- The set of results
- Throws:
ServerSideException
- If the sync group could not be found
-
launchAdHocAutomatedSynchronizationTask
List<RemoteSyncResult> launchAdHocAutomatedSynchronizationTask(List<Long> synDsConfigIds, String providersName, String sessionId) throws ServerSideException
Executes an automated synchronization job, which consist on connecting to the sync data source using the configuration attached to the given sync group and finding the differences between the information currently in the inventory platform and what's in the sync data source. An automated sync job does not need human intervention it automatically decides what to do based on built-in business rules- Parameters:
synDsConfigIds
- The sync data source configurations idsprovidersName
-sessionId
- The session token- Returns:
- The set of results
- Throws:
ServerSideException
- If the sync group could not be found
-
executeSyncActions
List<RemoteSyncResult> executeSyncActions(long syncGroupId, List<RemoteSyncAction> actions, String sessionId) throws ServerSideException
Executes the synchronization actions that the user selected after check the list of findings- Parameters:
syncGroupId
- the sync groupIdactions
- the list findings to be processedsessionId
- the session token- Returns:
- the list of results after the actions were executed
- Throws:
ServerSideException
-
getCurrentJobs
List<RemoteBackgroundJob> getCurrentJobs(String sessionId) throws ServerSideException
Gets the current jobs which are executing- Parameters:
sessionId
- the session id token- Returns:
- The list of the current jobs which are executing
- Throws:
ServerSideException
-
killJob
void killJob(long jobId, String sessionId) throws ServerSideException
Kills a job given its id- Parameters:
jobId
- id of job to killsessionId
- the session id token- Throws:
ServerSideException
- If the job cannot be found
-
createSDHTransportLink
String createSDHTransportLink(String classNameEndpointA, String idEndpointA, String classNameEndpointB, String idEndpointB, String linkType, String defaultName, String sessionId) throws ServerSideException
Creates an SDH transport link (STMX)- Parameters:
classNameEndpointA
- The class name of the endpoint A (some kind of port)idEndpointA
- Id of endpoint AclassNameEndpointB
- The class name of the endpoint Z (some kind of port)idEndpointB
- Id of endpoint ZlinkType
- Type of link (STM1, STM4, STM16, STM256, etc)defaultName
- The default name of the transport link.sessionId
- Session token- Returns:
- The id of the newly created transport link
- Throws:
ServerSideException
- If the user is not allowed to invoke the method or If any of the requested objects can't be found or If any of the classes provided can not be found or If any of the objects involved can't be connected.
-
createSDHContainerLink
String createSDHContainerLink(String classNameEndpointA, String idEndpointA, String classNameEndpointB, String idEndpointB, String linkType, List<RemoteSDHPosition> positions, String defaultName, String sessionId) throws ServerSideException
Creates an SDH container link (VCX). In practical terms, it's always a high order container, such a VC4XXX- Parameters:
classNameEndpointA
- The class name of the endpoint A (a GenericCommunicationsEquipment)idEndpointA
- Id of endpoint AclassNameEndpointB
- The class name of the endpoint B (GenericCommunicationsEquipment)idEndpointB
- Id of endpoint BlinkType
- Type of link (VC4, VC3, V12, etc. A VC12 alone doesn't make much sense, though)positions
- This param specifies the transport links and positions used by the container. For more details on how this works, please read the "SDH Model: Technical Design and Tools" document. Please note that is greatly advisable to provide them already sorteddefaultName
- the name to be assigned to the new element. If null, an empty string will be usedsessionId
- Sesion token- Returns:
- The id of the newly created container link
- Throws:
ServerSideException
- If the user is not allowed to invoke the method or If any of the requested objects can't be found or If any of the classes provided can not be found or If any of the objects involved can't be connected.
-
createSDHTributaryLink
String createSDHTributaryLink(String classNameEndpointA, String idEndpointA, String classNameEndpointB, String idEndpointB, String linkType, List<RemoteSDHPosition> positions, String defaultName, String sessionId) throws ServerSideException
Creates an SDH tributary link (VCXTributaryLink)- Parameters:
classNameEndpointA
- The class name of the endpoint A (some kind of tributary port)idEndpointA
- Id of endpoint AclassNameEndpointB
- The class name of the endpoint B (some kind of tributary port)idEndpointB
- Id of endpoint BlinkType
- Type of link (VC4TributaryLink, VC3TributaryLink, V12TributaryLink, etc)positions
- This param specifies the transport links and positions used by the container. For more details on how this works, please read the SDH Model: Technical Design and Tools document. Please note that is greatly advisable to provide them already sorted. Please note that creating a tributary link automatically creates a container link to deliver itdefaultName
- the name to be assigned to the new elementsessionId
- Session token- Returns:
- The id of the newly created tributary link
- Throws:
ServerSideException
- If the user is not allowed to invoke the method or If any of the requested objects can't be found or If any of the classes provided can not be found or If any of the objects involved can't be connected.
-
deleteSDHTransportLink
void deleteSDHTransportLink(String transportLinkClass, String transportLinkId, boolean forceDelete, String sessionId) throws ServerSideException
Deletes a transport link- Parameters:
transportLinkClass
- Transport Link classtransportLinkId
- Transport link idforceDelete
- Delete recursively all SDH elements transported by the transport linksessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the transport link could not be found
-
deleteSDHContainerLink
void deleteSDHContainerLink(String containerLinkClass, String containerLinkId, boolean forceDelete, String sessionId) throws ServerSideException
Deletes a container link- Parameters:
containerLinkClass
- Container link classcontainerLinkId
- Container class idforceDelete
- Delete recursively all SDH elements contained by the container linksessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the container link could not be found
-
deleteSDHTributaryLink
void deleteSDHTributaryLink(String tributaryLinkClass, String tributaryLinkId, String sessionId) throws ServerSideException
Deletes a tributary link and its corresponding container link. This method will delete all the object relationships.- Parameters:
tributaryLinkClass
- The class of the tributary linktributaryLinkId
- the id of the tributary linksessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the tributary link could not be found
-
findSDHRoutesUsingTransportLinks
List<RemoteObjectLightList> findSDHRoutesUsingTransportLinks(String communicationsEquipmentClassA, String communicationsEquipmentIdA, String communicationsEquipmentClassB, String communicationsEquipmentIB, String sessionId) throws ServerSideException
Finds a route between two GenericcommunicationsEquipment based on the TransportLinks network map (for more details on how this works, please read the SDH Model: Technical Design and Tools document)- Parameters:
communicationsEquipmentClassA
- The class of one of the route endpointscommunicationsEquipmentIdA
- The id of one of the route endpointscommunicationsEquipmentClassB
- The class of the other route endpointcommunicationsEquipmentIB
- The id of the other route endpointsessionId
- Session token- Returns:
- A sorted list of RemoteObjectLights containing the route. This list includes the transport links and the nodes in between, including the very endpoints
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the given communication equipment is no subclass of GenericCommunicationsEquipment
-
findSDHRoutesUsingContainerLinks
List<RemoteObjectLightList> findSDHRoutesUsingContainerLinks(String communicationsEquipmentClassA, String communicationsEquipmentIdA, String communicationsEquipmentClassB, String communicationsEquipmentIB, String sessionId) throws ServerSideException
Finds a route between two GenericcommunicationsEquipment based on the ContainerLinks network map (for more details on how this works, please read the SDH Model: Technical Design and Tools document)- Parameters:
communicationsEquipmentClassA
- The class of one of the route endpointscommunicationsEquipmentIdA
- The id of one of the route endpointscommunicationsEquipmentClassB
- The class of the other route endpointcommunicationsEquipmentIB
- The id of the other route endpointsessionId
- Session token- Returns:
- A sorted list of RemoteObjectLights containing the route. This list includes the transport links and the nodes in between, including the very endpoints
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the given communication equipment is no subclass of GenericCommunicationsEquipment
-
getSDHTransportLinkStructure
List<RemoteSDHContainerLinkDefinition> getSDHTransportLinkStructure(String transportLinkClass, String transportLinkId, String sessionId) throws ServerSideException
Retrieves the container links within a transport link (e.g. the VC4XX in and STMX)- Parameters:
transportLinkClass
- Transportlink's classtransportLinkId
- Transportlink's idsessionId
- Session token- Returns:
- The list of the containers that go through that transport link
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the given transport link is no subclass of GenericSDHTransportLink
-
getSDHContainerLinkStructure
List<RemoteSDHContainerLinkDefinition> getSDHContainerLinkStructure(String containerLinkClass, String containerLinkId, String sessionId) throws ServerSideException
Gets the internal structure of a container link. This is useful to provide information about the occupation of a link. This is only applicable to VC4XX- Parameters:
containerLinkClass
- Container classcontainerLinkId
- Container IdsessionId
- Session token- Returns:
- The list of containers contained in the container
- Throws:
ServerSideException
- If the user is not authorized to know the structure of a container link, if the container supplied is not subclass of GenericSDHHighOrderContainerLink, if the container could not be found or if the class could not be found
-
getSubnetPools
List<RemotePool> getSubnetPools(String parentId, String className, String sessionId) throws ServerSideException
Retrieves all the pools of subnets- Parameters:
parentId
- parent id parent id of the pool, -1 to retrieve the pools from the root nodesclassName
- IPv4 or IPv6 subnetsessionId
- the session token- Returns:
- a set of subnet pools
- Throws:
ServerSideException
- if there are not IPAM root nodes or if can't get the pools of a subnet pool
-
getSubnets
List<RemoteObjectLight> getSubnets(String poolId, int limit, String sessionId) throws ServerSideException
Retrieves the subnets of a given pool id- Parameters:
poolId
- subnet pool idlimit
- limit of returned subnets, -1 to no limitsessionId
- the session token- Returns:
- a set of subnets
- Throws:
ServerSideException
- if the given subnet pool id is not valid
-
createSubnetPool
String createSubnetPool(String parentId, String subnetPoolName, String subnetPoolDescription, String className, String sessionId) throws ServerSideException
Creates a pool of subnets if the parentId is -1 the pool will be created in the default root for pools of subnets- Parameters:
parentId
- subnet parent Id, -1 to if want to create the pool in the root nodesubnetPoolName
- subnet pool namesubnetPoolDescription
- subnet pool descriptionclassName
- if is a IPv4 or an IPv6 subnetsessionId
- session token- Returns:
- id of the created subnet pool
- Throws:
ServerSideException
- if the IPAM root nodes doesn't exists, or if the IPv4 or IPv6 classes doesn't exists
-
createSubnet
String createSubnet(String poolId, String className, List<StringPair> attributes, String sessionId) throws ServerSideException
Creates a subnet- Parameters:
poolId
- The id of the pool that will contain the subnetclassName
- The class name of the subnet (e.g. SubnetIPv4, SubnetIPv6)attributes
- The attributes that will be set on the newly created element as a string-based key-value dictionarysessionId
- Session token.- Returns:
- The id of the new subnet.
- Throws:
ServerSideException
- If something goes wrong, can't find the parent id, IPv4 or IPv6 classes doesn't exists, or some problem with attributes, different size between attribute names and attribute values.
-
deleteSubnetPools
void deleteSubnetPools(String[] ids, String sessionId) throws ServerSideException
Deletes a set of subnet pools- Parameters:
ids
- ids of the pools to be deletedsessionId
- Session token- Throws:
ServerSideException
- Generic exception encapsulating any possible error raised at runtime
-
deleteSubnets
void deleteSubnets(String className, List<String> oids, boolean releaseRelationships, String sessionId) throws ServerSideException
Deletes a subnet. All subnets must be instances of the same class- Parameters:
oids
- The ids of the subnets to be deletedclassName
- The subnet classreleaseRelationships
- Should the deletion be forced, deleting all the relationships?sessionId
- Session token- Throws:
ServerSideException
- Generic exception encapsulating any possible error raised at runtime
-
getSubnet
RemoteObject getSubnet(String id, String className, String sessionId) throws ServerSideException
Gets the complete information about a given subnet (all its attributes)- Parameters:
id
- Subnet idclassName
- Subnet class IPv4 o IPv6sessionId
- Session token- Returns:
- a representation of the subnet as a RemoteObject
- Throws:
ServerSideException
- Generic exception encapsulating any possible error raised at runtime
-
getSubnetPool
RemotePool getSubnetPool(String subnetPoolId, String sessionId) throws ServerSideException
Gets the complete information about a given subnet pool (all its attributes)- Parameters:
subnetPoolId
- Subnet pool idsessionId
- Session token- Returns:
- a representation of the entity as a RemoteObject
- Throws:
ServerSideException
- Generic exception encapsulating any possible error raised at runtime
-
addIPAddress
String addIPAddress(String id, String parentClassName, List<StringPair> attributes, String sessionId) throws ServerSideException
Adds an IP address to a Subnet- Parameters:
id
- ipAddres idparentClassName
- the parent class nameattributes
- IP address attributes as a String based key-value dictionarysessionId
- The session token- Returns:
- the id of the new IP Address
- Throws:
ServerSideException
-
removeIP
void removeIP(String[] oids, boolean releaseRelationships, String sessionId) throws ServerSideException
Removes a set of IP Addresses from a subnet. Note that this method must be used only for Subnet objects- Parameters:
oids
- ids of the IPs to be deletedreleaseRelationships
- Should the deletion be forced, deleting all the relationships?sessionId
- Session token- Throws:
ServerSideException
- Generic exception encapsulating any possible error raised at runtime
-
getSubnetUsedIps
List<RemoteObjectLight> getSubnetUsedIps(String id, int limit, String className, String sessionId) throws ServerSideException
Retrieves the IP addresses of a subnet- Parameters:
id
- subnet idlimit
- limit of returned subnetsclassName
- the class namesessionId
- the session id- Returns:
- a set of IPs
- Throws:
ServerSideException
-
getSubnetsInSubnet
List<RemoteObjectLight> getSubnetsInSubnet(String id, int limit, String className, String sessionId) throws ServerSideException
Retrieves the sub-subnets of a subnet- Parameters:
id
- subnet idlimit
- limit of returned subnetsclassName
- the class name if is IPv6 or IPv4sessionId
- The session token- Returns:
- a set of subnets
- Throws:
ServerSideException
-
relateSubnetToVlan
void relateSubnetToVlan(String id, String className, String vlanId, String sessionId) throws ServerSideException
Creates a relation between a Subnet and a VLAN, this method is also using to associate VFRs, and BDIs to a VLAN TODO: check the model, there are redundant relationships- Parameters:
id
- Subnet idclassName
- if the subnet has IPv4 or IPv6 IP addressesvlanId
- VLAN idsessionId
- Session token- Throws:
ServerSideException
- Generic exception encapsulating any possible error raised at runtime
-
releaseSubnetFromVlan
void releaseSubnetFromVlan(String subnetId, String vlanId, String sessionId) throws ServerSideException
Releases the relation between a subnet and a VLAN, this method is also using to release VFRs, and BDIs from a VLAN TODO: check the model there are redundant relationships- Parameters:
subnetId
- Subnet idvlanId
- the VLAN idsessionId
- Session token- Throws:
ServerSideException
- Generic exception encapsulating any possible error raised at runtime
-
releaseSubnetFromVRF
void releaseSubnetFromVRF(String subnetId, String vrfId, String sessionId) throws ServerSideException
Releases the relation between a subnet and a VRF- Parameters:
subnetId
- Subnet idvrfId
- the VRF idsessionId
- Session token- Throws:
ServerSideException
- Generic exception encapsulating any possible error raised at runtime
-
relateSubnetToVrf
void relateSubnetToVrf(String id, String className, String vrfId, String sessionId) throws ServerSideException
Creates a relation between a subnet and a VRF- Parameters:
id
- Subnet idclassName
- if the subnet is IPv4 or IPv6vrfId
- VRF idsessionId
- Session token- Throws:
ServerSideException
- Generic exception encapsulating any possible error raised at runtime
-
relateIPtoPort
void relateIPtoPort(String id, String portClassName, String portId, String sessionId) throws ServerSideException
Creates a relation between an IP address and a port- Parameters:
id
- IP address idportClassName
- port classportId
- port idsessionId
- Session token- Throws:
ServerSideException
- Generic exception encapsulating any possible error raised at runtime
-
itOverlaps
boolean itOverlaps(String networkIp, String broadcastIp, String sessionId) throws ServerSideException
Checks if a new subnet overlaps with an existing one- Parameters:
networkIp
- the network ip for the subnetbroadcastIp
- the broadcast ip for the subnetsessionId
- Session token- Returns:
- true if overlaps
- Throws:
ServerSideException
- Generic exception encapsulating any possible error raised at runtime
-
releasePortFromIP
void releasePortFromIP(String deviceClassName, String deviceId, String id, String sessionId) throws ServerSideException
Releases the relation between an IP address and a port- Parameters:
deviceClassName
- port class namedeviceId
- port idid
- Subnet idsessionId
- Session token- Throws:
ServerSideException
- Generic exception encapsulating any possible error raised at runtime
-
associateObjectsToContract
void associateObjectsToContract(String[] objectClass, String[] objectId, String contractClass, String contractId, String sessionId) throws ServerSideException
Associates a list of objects (instances of a subclass of InventoryObject) to an existing contract (most probably a support contract)- Parameters:
objectClass
- Object classobjectId
- Object idcontractClass
- contract classcontractId
- contract idsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If any of the objects can't be found If any of the objects involved can't be associated If any of the classes provided can not be found
-
releaseObjectFromContract
void releaseObjectFromContract(String objectClass, String objectId, String contractId, String sessionId) throws ServerSideException
Releases an inventory object from a contract it was related to- Parameters:
objectClass
- Class of the inventory objectobjectId
- Id of the inventory objectcontractId
- Contract idsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the object can not be found If the class can not be found
-
createMPLSLink
String createMPLSLink(String classNameEndpointA, String idEndpointA, String classNameEndpointB, String idEndpointB, List<StringPair> attributesToBeSet, String sessionId) throws ServerSideException
Creates an MPLS link- Parameters:
classNameEndpointA
- The class name of the endpoint A (some kind of port)idEndpointA
- Id of endpoint AclassNameEndpointB
- The class name of the endpoint Z (some kind of port)idEndpointB
- Id of endpoint ZattributesToBeSet
- Attributes to be set, e.g. mplsLink's namesessionId
- Session token- Returns:
- The id of the newly created transport link
- Throws:
ServerSideException
- If the given linkType is no subclass of GenericLogicalConnection If any of the requested objects can't be found If any of the classes provided can not be found If any of the objects involved can't be connected
-
getMPLSLinkEndpoints
RemoteMPLSConnectionDetails getMPLSLinkEndpoints(String connectionId, String sessionId) throws ServerSideException
The details of a given mpls link- Parameters:
connectionId
- the mpls link idsessionId
- Session token- Returns:
- An array of two positions: the first is the A endpoint and the second is the B endpoint
- Throws:
ServerSideException
- f the given id class name is not MPLS Link If any of the requested objects can't be found If any of the classes provided can not be found If any of the objects involved can't be connected
-
connectMplsLink
void connectMplsLink(String[] sideAClassNames, String[] sideAIds, String[] linksIds, String[] sideBClassNames, String[] sideBIds, String sessionId) throws ServerSideException
Connect a given mpls links with a given ports for every side- Parameters:
sideAClassNames
- end point side A class namessideAIds
- end point side A idslinksIds
- mpls links idssideBClassNames
- end point side B class namessideBIds
- end point side B idssessionId
- session token- Throws:
ServerSideException
- If the given ports are not subclass of GenericPort If the given link ids are not of the class MPLSLink If any of the requested objects can't be found If any of the classes provided can not be found If any of the objects involved can't be connected
-
disconnectMPLSLink
void disconnectMPLSLink(String connectionId, int sideToDisconnect, String sessionId) throws ServerSideException
disconnect mpls link- Parameters:
connectionId
- mpls link idsideToDisconnect
- which side will be disconnect 1 side A, 2 side B, 3 both sidessessionId
- session token- Throws:
ServerSideException
- If the given link id is not of the class MPLSLink If any of the requested objects can't be found If any of the classes provided can not be found If any of the objects involved can't be connected
-
deleteMPLSLink
void deleteMPLSLink(String linkId, boolean forceDelete, String sessionId) throws ServerSideException
Deletes a MPLS link- Parameters:
linkId
- the id of the mpls linkforceDelete
- Ignore the existing relationshipssessionId
- Session token- Throws:
ServerSideException
- If the object can not be found If either the object class or the attribute can not be found If the class could not be found If the object could not be deleted because there's some business rules that avoids it or it has incoming relationships.
-
relatePortToInterface
void relatePortToInterface(String portId, String portClassName, String interfaceClassName, String interfaceId, String sessionId) throws ServerSideException
Associates any GenericCommunicationsPort to existing BridgeDomainInterface- Parameters:
portId
- MPLSTunnel or BridgeDomain or FrameRelay or VRF idportClassName
- if is a MPLSTunnel or BridgeDomain or FrameRelay or VRFinterfaceClassName
- network element class nameinterfaceId
- network element idsessionId
- Session token- Throws:
ServerSideException
- Generic exception encapsulating any possible error raised at runtime
-
releasePortFromInterface
void releasePortFromInterface(String interfaceClassName, String interfaceId, String portId, String sessionId) throws ServerSideException
Release the association between a network element and a MPLSTunnel or BridgeDomain or FrameRelay or VRF- Parameters:
portId
- MPLSTunnel or BridgeDomain or FrameRelay or VRF idinterfaceClassName
- network element class nameinterfaceId
- network element idsessionId
- Session token- Throws:
ServerSideException
- Generic exception encapsulating any possible error raised at runtime
-
getProjectPools
List<RemotePool> getProjectPools(String sessionId) throws ServerSideException
Gets the project pools- Parameters:
sessionId
- Session id token- Returns:
- The list of project pools
- Throws:
ServerSideException
- Generic exception encapsulating any possible error raised at runtime
-
addProject
String addProject(String parentId, String parentClassName, String className, String[] attributeNames, String[] attributeValues, String sessionId) throws ServerSideException
Adds a Project- Parameters:
parentId
- Parent IdparentClassName
- Parent class nameclassName
- Class nameattributeNames
- Attributes namesattributeValues
- Attributes valuessessionId
- Session id token- Returns:
- The Project id
- Throws:
ServerSideException
- If any of the attributes or its type is invalid If attributeNames and attributeValues have different sizes. If the class name could not be found
-
deleteProject
void deleteProject(String className, String oid, boolean releaseRelationships, String sessionId) throws ServerSideException
Deletes a Project- Parameters:
className
- Class nameoid
- Object idreleaseRelationships
- Release relationshipssessionId
- Session id token- Throws:
ServerSideException
- If the object couldn't be found If the class could not be found If the object could not be deleted because there's some business rules that avoids it or it has incoming relationships
-
addActivity
String addActivity(String parentId, String parentClassName, String className, String[] attributeNames, String[] attributeValues, String sessionId) throws ServerSideException
Adds an Activity- Parameters:
parentId
- Parent IdparentClassName
- Parent class nameclassName
- Class nameattributeNames
- Attributes namesattributeValues
- Attributes valuessessionId
- Session id token- Returns:
- The Activity id
- Throws:
ServerSideException
- If the object's class can't be found If the parent id is not found If any of the attribute values has an invalid value or format If the update can't be performed due to a format issue If attributeNames and attributeValues have different sizes.
-
deleteActivity
void deleteActivity(String className, String oid, boolean releaseRelationships, String sessionId) throws ServerSideException
Deletes an Activity- Parameters:
className
- Class nameoid
- Object idreleaseRelationships
- Release relationshipssessionId
- Session id token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the object couldn't be found If the class could not be found If the object could not be deleted because there's some business rules that avoids it or it has incoming relationships
-
getProjectsInProjectPool
List<RemoteObjectLight> getProjectsInProjectPool(String poolId, int limit, String sessionId) throws ServerSideException
Gets the project in a Project pool- Parameters:
poolId
- Project pool idlimit
- Max number of results, no limit with -1sessionId
- Session id token- Returns:
- An array of projects in a project pool
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the Project pool is not found
-
getAllProjects
List<RemoteObjectLight> getAllProjects(String sessionId) throws ServerSideException
Retrieves the entire list of projects registered in the Project Manager module.- Parameters:
sessionId
- The session token.- Returns:
- The entire list of projects created in the Project Manager module.
- Throws:
ServerSideException
- If something unexpected happens.
-
getProjectResurces
List<RemoteObjectLight> getProjectResurces(String projectClass, String projectId, String sessionId) throws ServerSideException
Gets the resources (objects) associates with a Project- Parameters:
projectClass
- Project classprojectId
- Project idsessionId
- Session id- Returns:
- An array of resources
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the project is not subclass of GenericProject
-
getProjectActivities
List<RemoteObjectLight> getProjectActivities(String projectClass, String projectId, String sessionId) throws ServerSideException
Gets project activities- Parameters:
projectClass
- Project classprojectId
- Project IdsessionId
- Session Id- Returns:
- An array of activities
- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the project is not subclass of GenericProject If the project class is not found If the project is not found
-
associateObjectsToProject
void associateObjectsToProject(String projectClass, String projectId, String[] objectClass, String[] objectId, String sessionId) throws ServerSideException
Associates a set of objects with a Project- Parameters:
projectClass
- Project classprojectId
- Project idobjectClass
- Object classobjectId
- Object idsessionId
- Session id token- Throws:
ServerSideException
- Generic If the project is not subclass of GenericProject If array sizes of objectClass and objectId are not the same
-
associateObjectToProject
void associateObjectToProject(String projectClass, String projectId, String objectClass, String objectId, String sessionId) throws ServerSideException
Associates an object to a Project- Parameters:
projectClass
- Project classprojectId
- Project idobjectClass
- Object classobjectId
- Object idsessionId
- Session id token- Throws:
ServerSideException
- If the project is not subclass of GenericProject
-
freeObjectFromProject
void freeObjectFromProject(String objectClass, String objectId, String projectClass, String projectId, String sessionId) throws ServerSideException
Releases an object associated to a Project- Parameters:
objectClass
- Object classobjectId
- Object idprojectClass
- Project classprojectId
- Project idsessionId
- Session id token- Throws:
ServerSideException
- If the project is not subclass of GenericProject
-
getProjectsAssociateToObject
List<RemoteObjectLight> getProjectsAssociateToObject(String objectClass, String objectId, String sessionId) throws ServerSideException
Gets the projects associate to an object- Parameters:
objectClass
- Object classobjectId
- Object idsessionId
- The session id token- Returns:
- An array of projects
- Throws:
ServerSideException
- If the project is no found If the project class is no found
-
createProjectPool
String createProjectPool(String name, String description, String instanceOfClass, String sessionId) throws ServerSideException
Creates a Project Pool- Parameters:
name
- Project Pool namedescription
- Project Pool descriptioninstanceOfClass
- Project Pool classsessionId
- Session id token- Returns:
- The id of the new Project Pool
- Throws:
ServerSideException
- If he project pool class is no found
-
getAffectedServices
RemoteAssetLevelCorrelatedInformation getAffectedServices(int resourceType, String resourceDefinition, String sessionId) throws ServerSideException
Retrieves the services affected when a given network resource is alarmed (or down). The services associated directly to the given resource are returned first, but depending on the resource type, the analysis might be more extensive. If the resource is a link (logical or physical), the services associated to the endpoint ports are also returned. If the the resource is a container (physical or logical), the services associated to the contained links are also returned. If the resource is a network equipment, the services associated directly to the ports contained and their connections are also returned.- Parameters:
resourceType
- Use 1 for hardware and 2 for logical linksresourceDefinition
- A semi-colon (;) separated string. The first segment (mandatory) is the name of the affected element, the second is the number of the slot (optional) and the third is the port (optional). Note that to address a logical connection, the resource definition will contain only the name of such connection.sessionId
- Session token- Returns:
- A compact summary with the full information about the device/interface provided, the related services and their customers
- Throws:
ServerSideException
- If the resource could not be found or if the resource definition/resource type is not valid
-
getSynchronizationProviders
List<RemoteSynchronizationProvider> getSynchronizationProviders(String sessionId) throws ServerSideException
Get the set of sync providers defined in the configuration variables pool called -Sync Providers-- Parameters:
sessionId
- Session token- Returns:
- The set of sync providers defined in the configuration variables pool called -Sync Providers-
- Throws:
ServerSideException
- If the pool could not be found If the value of the variable could not be successfully translated into a java type variable If no configuration variable with that name could be found
-
createSynchronizationDataSourceConfig
long createSynchronizationDataSourceConfig(String objectId, long syncGroupId, String name, List<StringPair> parameters, String sessionId) throws ServerSideException
Creates a Synchronization Data Source Configuration. A Sync data source configuration is a set of parameters used to connect to a sync data source (usually IPs, paths, etc)- Parameters:
objectId
- Id of the object that the configuration is attached tosyncGroupId
- Id of the sync group this configuration is related toname
- The name of the new sync data source configurationparameters
- The list of parameters to be stored as pairs name/value. Note that the Sync provider provides metadata definition to check if the number and format of the parameters correct, so it can be checked at server sidesessionId
- Session token- Returns:
- The id of the newly created sync configuration.
- Throws:
ServerSideException
- If the sync group could not be found or if the any of the parameters does not comply with the expected format
-
createSynchronizationGroup
long createSynchronizationGroup(String name, String sessionId) throws ServerSideException
Creates a Synchronization Group. A Sync Group is a set of Synchronization Configurations that will be processed by the same Synchronization Provider. Take into account that the schedule for the SG to be executed is not configured here, but in Task Manager's task- Parameters:
name
- The name of the new sync groupsessionId
- Session token- Returns:
- The id of the newly created sync group
- Throws:
ServerSideException
- If the name or the sync provider are invalid
-
updateSynchronizationGroup
void updateSynchronizationGroup(long syncGroupId, List<StringPair> syncGroupProperties, String sessionId) throws ServerSideException
Creates a Synchronization Group. A Sync Group is a set of Synchronization Configurations that will be processed by the same Synchronization Provider. Take into account that the schedule for the SG to be executed is not configured here, but in Task Manager's task- Parameters:
syncGroupId
- The name of the new sync groupsyncGroupProperties
- The synchronization group propertiessessionId
- Session token- Throws:
ServerSideException
- If the name or the sync provider are invalid
-
getSynchronizationGroup
RemoteSynchronizationGroup getSynchronizationGroup(long syncGroupId, String sessionId) throws ServerSideException
Gets a given sync group- Parameters:
syncGroupId
- The sync group idsessionId
- Session token- Returns:
- The requested sync group
- Throws:
ServerSideException
- If the sync group could not be found
-
getSynchronizationGroups
List<RemoteSynchronizationGroup> getSynchronizationGroups(String sessionId) throws ServerSideException
Gets the available sync groups- Parameters:
sessionId
- Session token- Returns:
- The list of available sync groups
- Throws:
ServerSideException
- If something unexpected goes wrong
-
getSyncDataSourceConfiguration
RemoteSynchronizationConfiguration getSyncDataSourceConfiguration(String objectId, String sessionId) throws ServerSideException
Gets the synchronization data source configurations for an object- Parameters:
objectId
- the objectIdsessionId
- Session token- Returns:
- The list of available sync groups
- Throws:
ServerSideException
- If something unexpected goes wrong
-
getSyncDataSourceConfigurations
List<RemoteSynchronizationConfiguration> getSyncDataSourceConfigurations(long syncGroupId, String sessionId) throws ServerSideException
Gets the synchronization data source configurations for a sync group- Parameters:
syncGroupId
- the syncGroupIdsessionId
- Session token- Returns:
- The list of available sync groups
- Throws:
ServerSideException
- If something unexpected goes wrong
-
updateSyncDataSourceConfiguration
void updateSyncDataSourceConfiguration(long syncDataSourceConfigId, List<StringPair> parameters, String sessionId) throws ServerSideException
Updates a sync data source configuration- Parameters:
syncDataSourceConfigId
- the sync source configuration Idparameters
- the updated parameterssessionId
- session token- Throws:
ServerSideException
- If the sync data source could not be found or if the any of the parameters does not comply with the expected format
-
deleteSynchronizationGroup
void deleteSynchronizationGroup(long syncGroupId, String sessionId) throws ServerSideException
Deletes a synchronization group and all the sync configurations associated to it- Parameters:
syncGroupId
- The id of the groupsessionId
- Session token- Throws:
ServerSideException
- If the group could not be found
-
deleteSynchronizationDataSourceConfig
void deleteSynchronizationDataSourceConfig(long syncDataSourceConfigId, String sessionId) throws ServerSideException
Deletes a sync data source configuration.- Parameters:
syncDataSourceConfigId
- The id of the configurationsessionId
- Session token- Throws:
ServerSideException
- If the config could not be found
-
copySyncDataSourceConfiguration
void copySyncDataSourceConfiguration(long syncGroupId, long[] syncDataSourceConfigurationIds, String sessionId) throws ServerSideException
Creates "copy" a relation between a set of sync data source configurations and a given sync group- Parameters:
syncGroupId
- The Sync Group Id targetsyncDataSourceConfigurationIds
- Set of sync data source configuration idssessionId
- Session Token- Throws:
ServerSideException
- If the sync group cannot be found, or some sync data source configuration cannot be found If the sync group is malformed, or some sync data source configuration is malformed
-
releaseSyncDataSourceConfigFromSyncGroup
void releaseSyncDataSourceConfigFromSyncGroup(long syncGroupId, long[] syncDataSourceConfigurationIds, String sessionId) throws ServerSideException
Release a set of sync data source configuration from a given sync group- Parameters:
syncGroupId
- The Sync Group Id targetsyncDataSourceConfigurationIds
- Set of sync data source configuration idssessionId
- Session Token- Throws:
ServerSideException
- If the sync group cannot be found, or some sync data source configuration cannot be found If the sync group is malformed, or some sync data source configuration is malformed
-
moveSyncDataSourceConfiguration
void moveSyncDataSourceConfiguration(long newSyncGroupId, long[] syncDataSourceConfigurationIds, String sessionId) throws ServerSideException
Moves a sync data source configuration from a sync group to another sync group- Parameters:
newSyncGroupId
- The Sync Group Id target to releasesyncDataSourceConfigurationIds
- Set of sync data source configuration idssessionId
- Session token- Throws:
ServerSideException
- If the sync group cannot be found, or some sync data source configuration cannot be found If the sync group is malformed, or some sync data source configuration is malformed
-
createProcessDefinition
long createProcessDefinition(String name, String description, String version, boolean enabled, byte[] structure, String sessionId) throws ServerSideException
Creates a process definition. A process definition is the metadata that defines the steps and constraints of a given project- Parameters:
name
- The name of the new process definitiondescription
- The description of the new process definitionversion
- The version of the new process definition. This is a three numbers, dot separated string (e.g. 2.4.1)enabled
- If the project is enabled to create instances from itstructure
- The structure of the process definition. It's an XML document that represents a BPMN process definitionsessionId
- The session token- Returns:
- The id of the newly created process definition
- Throws:
ServerSideException
- If the process structure defines a malformed process or if the version is invalid
-
updateProcessDefinition
void updateProcessDefinition(long processDefinitionId, List<StringPair> properties, byte[] structure, String sessionId) throws ServerSideException
Updates a process definition, either its standard properties or its structure- Parameters:
processDefinitionId
- The process definition idproperties
- A key value dictionary with the standard properties to be updated. These properties are: name, description, version and enabled (use 'true' or 'false' for the latter)structure
- A byte array withe XML process definition bodysessionId
- The session token- Throws:
ServerSideException
- If the structure is invalid, or the process definition could not be found or one of the properties is malformed or have an unexpected name
-
deleteProcessDefinition
void deleteProcessDefinition(long processDefinitionId, String sessionId) throws ServerSideException
Deletes a process definition- Parameters:
processDefinitionId
- The process definition to be deletedsessionId
- The session token- Throws:
ServerSideException
- If the process definition could not be found or if there are process instances related to the process definition
-
getProcessDefinition
RemoteProcessDefinition getProcessDefinition(long processDefinitionId, String sessionId) throws ServerSideException
Retrieves a process definition- Parameters:
processDefinitionId
- The id of the processsessionId
- The session token- Returns:
- The process definition. It contains an XML document to be parsed by the consumer
- Throws:
ServerSideException
- If the process could not be found or if it's malformed
-
createProcessInstance
long createProcessInstance(long processDefinitionId, String processInstanceName, String processInstanceDescription, String sessionId) throws ServerSideException
Creates an instance of a process, that is, starts one- Parameters:
processDefinitionId
- The id of the process to be startedprocessInstanceName
- The name of the new processprocessInstanceDescription
- The description of the new processsessionId
- The session token- Returns:
- The id of the newly created process instance
- Throws:
ServerSideException
- If the process definition could not be found or if it's disabled
-
getNextActivityForProcessInstance
RemoteActivityDefinition getNextActivityForProcessInstance(long processInstanceId, String sessionId) throws ServerSideException
Requests for the next activity to be executed in a process instance.- Parameters:
processInstanceId
- The running process to get the next activity fromsessionId
- The session id- Returns:
- The activity definition
- Throws:
ServerSideException
- If the process instance could not be found, or if the process already ended
-
commitActivity
void commitActivity(long processInstanceId, long activityDefinitionId, RemoteArtifact artifact, String sessionId) throws ServerSideException
Saves the artifact generated once an activity has been completed (for example, the user filled in a form).- Parameters:
processInstanceId
- The process instance the activity belongs toactivityDefinitionId
- The activity idartifact
- The artifact to be savedsessionId
- The session token- Throws:
ServerSideException
- If the process could not be found, or if the activity had been already executed, or if the activity definition could not be found, or of there's a mismatch in the artifact versions or if the user is not an authorized actor to carry on with the activity
-
getArtifactDefinitionForActivity
RemoteArtifactDefinition getArtifactDefinitionForActivity(long processDefinitionId, long activityDefinitionId, String sessionId) throws ServerSideException
Given an activity definition, returns the artifact definition associated to it- Parameters:
processDefinitionId
- The id of the process the activity is related toactivityDefinitionId
- The id of the activitysessionId
- The session token- Returns:
- An object containing the artifact definition
- Throws:
ServerSideException
- If the process or the activity could not be found
-
getArtifactForActivity
RemoteArtifact getArtifactForActivity(long processInstanceId, long activityId, String sessionId) throws ServerSideException
Gets the artifact associated to an activity (for example, a form that was already filled in by a user in a previous, already committed activity)- Parameters:
processInstanceId
- The id of the process instance. This process may have been ended already.activityId
- The id of the activity the artifact belongs tosessionId
- The session token- Returns:
- The artifact corresponding to the given activity
- Throws:
ServerSideException
- If the process instance or activity couldn't be found.
-
getWarehouseRootPools
List<RemotePool> getWarehouseRootPools(String sessionId) throws ServerSideException
Gets the warehouse module root pools.- Parameters:
sessionId
- Session token.- Returns:
- the warehouse module root pools.
- Throws:
ServerSideException
- If the class GenericWarehouse does not exist.
-
associatePhysicalNodeToWarehouse
void associatePhysicalNodeToWarehouse(String objectClass, String objectId, String warehouseClass, String warehouseId, String sessionId) throws ServerSideException
Associates an object (a resource) to an existing warehouse or virtual warehouse- Parameters:
objectClass
- Object classobjectId
- Object idwarehouseClass
- Warehouse classwarehouseId
- Warehouse idsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If any of the objects can't be found If any of the objects involved can't be connected (i.e. if it's not an inventory object) If any of the classes provided can not be found
-
associatesPhysicalNodeToWarehouse
void associatesPhysicalNodeToWarehouse(String[] objectClass, String[] objectId, String warehouseClass, String warehouseId, String sessionId) throws ServerSideException
Associates a list of objects (resources) to an existing warehouse or virtual warehouse- Parameters:
objectClass
- Object classobjectId
- Object idwarehouseClass
- Warehouse classwarehouseId
- Warehouse idsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If any of the objects can't be found If any of the objects involved can't be connected (i.e. if it's not an inventory object) If any of the classes provided can not be found
-
releasePhysicalNodeFromWarehouse
void releasePhysicalNodeFromWarehouse(String warehouseClass, String warehouseId, String targetId, String sessionId) throws ServerSideException
Releases an object from a warehouse or virtual warehouse that is using it- Parameters:
warehouseClass
- Warehouse classwarehouseId
- Warehouse idtargetId
- target object idsessionId
- Session token- Throws:
ServerSideException
- If the user is not allowed to invoke the method If the object can not be found If the class can not be found If the object activity log could no be found
-
moveObjectsToWarehousePool
void moveObjectsToWarehousePool(String targetClass, String targetOid, String[] objectClasses, String[] objectOids, String sessionId) throws ServerSideException
Moves objects from their current parent to a warehouse pool target object.- Parameters:
targetClass
- New parent object idtargetOid
- The new parent's oidobjectClasses
- Class names of the objects to be movedobjectOids
- Oids of the objects to be movedsessionId
- Session token- Throws:
ServerSideException
- If the object's or new parent's class can't be found If the object or its new parent can't be found If the update can't be performed due to a business rule
-
moveObjectsToWarehouse
void moveObjectsToWarehouse(String targetClass, String targetOid, String[] objectClasses, String[] objectOids, String sessionId) throws ServerSideException
Moves objects from their current parent to a target object.- Parameters:
targetClass
- New parent object idtargetOid
- The new parent's oidobjectClasses
- Class names of the objects to be movedobjectOids
- Oids of the objects to be movedsessionId
- Session token- Throws:
ServerSideException
- If the object's or new parent's class can't be found If the object or its new parent can't be found If the update can't be performed due to a business rule
-
getBGPMap
List<RemoteLogicalConnectionDetails> getBGPMap(List<String> mappedBgpLinksIds, String sessionId) throws ServerSideException
Creates/updates a map of the BGPLinks- Parameters:
mappedBgpLinksIds
- BGPLinks that are already mapped, it can be an empty array if nothing is mapped of if the whole map should be generated again.sessionId
- The session token- Returns:
- A list of BGPlinks with their endPoints(ports) and the CommunicationsElements parents of the ports
- Throws:
ServerSideException
- If the structure is invalid, or the process definition could not be found or one of the properties is malformed or have an unexpected name
-
createOSPView
long createOSPView(String name, String description, byte[] content, String sessionId) throws ServerSideException
Creates an Outside Plant View- Parameters:
name
- The name of the new viewdescription
- The description of the new viewcontent
- The XML document with the contents of the view. The format of the XML document is consistent with the other viewssessionId
- Session token- Returns:
- The id of the newly created view
- Throws:
ServerSideException
- If the name is empty.
-
getOSPView
RemoteViewObject getOSPView(long viewId, String sessionId) throws ServerSideException
Retrieves the specific information about an existing OSP view- Parameters:
viewId
- The id of the viewsessionId
- The session token- Returns:
- An object containing the view details and structure
- Throws:
ServerSideException
- If the view could not be found
-
getOSPViews
List<RemoteViewObjectLight> getOSPViews(String sessionId) throws ServerSideException
Retrieves the existing OSP views- Parameters:
sessionId
- The session token- Returns:
- The list of existing OSP views
- Throws:
ServerSideException
- If an unexpected error appeared
-
updateOSPView
void updateOSPView(long viewId, String name, String description, byte[] content, String sessionId) throws ServerSideException
Updates an existing OSP view- Parameters:
viewId
- The id of the viewname
- The new name of the view. Null if to remain unchangeddescription
- The new description of the view. Null if to remain unchangedcontent
- The new content of the view. Null if to remain unchangedsessionId
- The session token- Throws:
ServerSideException
- If the view could not be found or if the new name (if applicable) is empty
-
deleteOSPView
void deleteOSPView(long viewId, String sessionId) throws ServerSideException
Deletes an existing OSP view- Parameters:
viewId
- The id of the view to be deletedsessionId
- The session token- Throws:
ServerSideException
- If the view could not be found
-
getIPAddress
String getIPAddress()
Gets the IP address from the client issuing the request- Returns:
- the IP address as string
-
-