String fname = getFname(nodeId);
if ( null == fname || fname.equals("") )
throw new PortalException( "Could not find a transient node " +
"for id: " + nodeId );
IUserLayoutChannelDescription ulnd = new UserLayoutChannelDescription();
try
{
// check cache first
ChannelDefinition chanDef = (ChannelDefinition)mChanMap.get(nodeId);
if ( null == chanDef ) {
chanDef = ChannelRegistryStoreFactory.getChannelRegistryStoreImpl().getChannelDefinition(fname);
mChanMap.put(nodeId,chanDef);
}
ulnd.setId(nodeId);
ulnd.setName(chanDef.getName());
ulnd.setUnremovable(true);
ulnd.setImmutable(true);
ulnd.setHidden(false);
ulnd.setTitle(chanDef.getTitle());
ulnd.setDescription(chanDef.getDescription());
ulnd.setClassName(chanDef.getJavaClass());
ulnd.setChannelPublishId("" + chanDef.getId());
ulnd.setChannelTypeId("" + chanDef.getTypeId());
ulnd.setFunctionalName(chanDef.getFName());
ulnd.setTimeout(chanDef.getTimeout());
ulnd.setEditable(chanDef.isEditable());
ulnd.setHasHelp(chanDef.hasHelp());
ulnd.setHasAbout(chanDef.hasAbout());
ChannelParameter[] parms = chanDef.getParameters();
for ( int i=0; i<parms.length; i++ )
{
ChannelParameter parm = (ChannelParameter)parms[i];
ulnd.setParameterValue(parm.getName(),parm.getValue());
ulnd.setParameterOverride(parm.getName(),parm.getOverride());
}
}
catch( Exception e )
{