Programming tasks
Recover a list of connection definitions using their type name
To recover a list of connection definitions using their type name, you can use the method getConnectionDefinitionsByTypeName()
.
IConnectionDefinition.IType
contains the list of standards types.
The following example shows how to recover connections to external data according to their type from an agent.
import java.util.Collection;
import com.axemble.vdoc.sdk.agent.base.BaseAgent;
import com.axemble.vdoc.sdk.exceptions.PortalModuleException;
import com.axemble.vdoc.sdk.exceptions.SDKException;
import com.axemble.vdoc.sdk.interfaces.IConnectionDefinition;
import com.axemble.vdoc.sdk.interfaces.IContext;
/**
* this agent allows to get the names of external data connections according to their type
*
* @author bchapoton
*/
public class CountConnectionAgent extends BaseAgent {
@Override
protected void execute() {
IContext adminContext = getPortalModule().getSysadminContext();
try {
reportConnectionDefinition(adminContext, IConnectionDefinition.IType.CMIS);
reportConnectionDefinition(adminContext, IConnectionDefinition.IType.JDBC);
reportConnectionDefinition(adminContext, IConnectionDefinition.IType.MAIL);
reportConnectionDefinition(adminContext, IConnectionDefinition.IType.MY_SQL);
reportConnectionDefinition(adminContext, IConnectionDefinition.IType.SMS_CONNECTION);
reportConnectionDefinition(adminContext, IConnectionDefinition.IType.SQL_SERVER);
reportConnectionDefinition(adminContext, IConnectionDefinition.IType.TWITTER);
} catch (Exception e) {
throw new SDKException(e);
}
}
private void reportConnectionDefinition(IContext context, String type) throws PortalModuleException {
Collection<? extends IConnectionDefinition<?>> cmisCollection = getPortalModule().getConnectionDefinitionsByTypeName(context, type);
for (IConnectionDefinition<?> cmisObject : cmisCollection)
getReport().addDebug("type : " + type + " - connection name : " + cmisObject.getName());
}
}
Recover a list of connection definitions using their category name
To recover a list of connection definitions using their category name, you can use the method getConnectionDefinitionsByCategoryName()
.
IConnectionDefinition.ICategory
contains the list of standards categories.
The following example shows how to recover the list of all Database connection definitions.
import java.util.Collection;
import java.util.Iterator;
import com.axemble.vdoc.sdk.Modules;
import com.axemble.vdoc.sdk.agent.base.BaseAgent;
import com.axemble.vdoc.sdk.exceptions.SDKException;
import com.axemble.vdoc.sdk.interfaces.IConnectionDefinition;
import com.axemble.vdoc.sdk.interfaces.IContext;
import com.axemble.vdoc.sdk.modules.IPortalModule;
public class CountConnectionAgent2 extends BaseAgent {
/*** this agent allows to get the names of external data connections within the same category ****/
@Override
protected void execute() {
IPortalModule portalmodule = Modules.getPortalModule();
IContext adminContext = portalmodule.getSysadminContext();
try {
// Retrieves all the connections definition of database category
Collection<? extends IConnectionDefinition<?>> dbCollection = portalmodule.getConnectionDefinitionsByCategoryName(adminContext, IConnectionDefinition.ICategory.DATA_BASE);
for (Iterator iterator = dbCollection.iterator(); iterator.hasNext(); ) {
IConnectionDefinition<?> iConnectionDefinition = (IConnectionDefinition<?>) iterator.next();
LOGGER.error(" Database category - Name : " + iConnectionDefinition.getName());
}
// Retrieves all the connections definition of email category
Collection<? extends IConnectionDefinition<?>> mailCollection = portalmodule.getConnectionDefinitionsByTypeName(adminContext, IConnectionDefinition.ICategory.MAIL);
for (Iterator iterator = mailCollection.iterator(); iterator.hasNext(); ) {
IConnectionDefinition<?> iConnectionDefinition = (IConnectionDefinition<?>) iterator.next();
LOGGER.error(" Email category - Name : " + iConnectionDefinition.getName());
}
} catch (Exception e) {
throw new SDKException(e);
} finally {
Modules.releaseModule(portalmodule);
}
}
}