public static Map<String,Object> createContentAssoc(DispatchContext dctx,Map<String,? extends Object> rcontext){
  Map<String,Object> context=UtilMisc.makeMapWritable(rcontext);
  context.put("entityOperation","_CREATE");
  List<String> targetOperationList=ContentWorker.prepTargetOperationList(context,"_CREATE");
  List<String> contentPurposeList=ContentWorker.prepContentPurposeList(context);
  context.put("targetOperationList",targetOperationList);
  context.put("contentPurposeList",contentPurposeList);
  context.put("skipPermissionCheck",null);
  Map<String,Object> result=null;
  try {
    result=createContentAssocMethod(dctx,context);
  }
 catch (  GenericServiceException e) {
    return ServiceUtil.returnError(e.getMessage());
  }
catch (  GenericEntityException e2) {
    return ServiceUtil.returnError(e2.getMessage());
  }
catch (  Exception e3) {
    return ServiceUtil.returnError(e3.getMessage());
  }
  return result;
}

public static Map < String , Object > createContentAssoc ( DispatchContext dctx , Map < String , ? extends Object > rcontext ) { Map < String , Object > context = UtilMisc . makeMapWritable ( rcontext ) ; context . put ( "entityOperation" , "_CREATE" ) ; List < String > targetOperationList = ContentWorker . prepTargetOperationList ( context , "_CREATE" ) ; List < String > contentPurposeList = ContentWorker . prepContentPurposeList ( context ) ; context . put ( "targetOperationList" , targetOperationList ) ; context . put ( "contentPurposeList" , contentPurposeList ) ; context . put ( "skipPermissionCheck" , null ) ; Map < String , Object > result = null ; try { result = createContentAssocMethod ( dctx , context ) ; } catch ( GenericServiceException e ) { return ServiceUtil . returnError ( e . getMessage ( ) ) ; } catch ( GenericEntityException e2 ) { return ServiceUtil . returnError ( e2 . getMessage ( ) ) ; } catch ( Exception e3 ) { return ServiceUtil . returnError ( e3 . getMessage ( ) ) ; } return result ; }
create a contentassoc service . the work is done in a separate method so that complex services that need this functionality do not need to incur the reflection performance penalty .
