return null;
try {
// retrieve the channel publishing service
IChannelPublishingService channelPublishingService =
ChannelPublishingServiceLocator.getIChannelPublishingService();
// build a combined group member array
IGroupMember[] groupMembers;
if ((ci.groups == null || ci.groups.length == 0) && (ci.users == null || ci.users.length == 0)) {
groupMembers = new IGroupMember[0];
} else if (ci.groups == null || ci.groups.length == 0) {
groupMembers = ci.users;
} else if (ci.users == null || ci.users.length == 0) {
groupMembers = ci.groups;
} else {
groupMembers = new IGroupMember[ci.groups.length + ci.users.length];
System.arraycopy(ci.groups, 0, groupMembers, 0, ci.groups.length);
System.arraycopy(ci.users, 0, groupMembers, ci.groups.length, ci.users.length);
}
// save the channel
if (ci.categories == null) { ci.categories = new ChannelCategory[0]; }
ci.chanDef = channelPublishingService
.saveChannelDefinition(ci.chanDef, systemUser, ci.categories, groupMembers);
} catch (Exception e) {
log.error("publishChannel() :: Exception while attempting to publish channel to database. Channel name = " + ci.chanDef.getName());
throw e;