Program: 42448
Project: 42448
Buggy source:
@After("String_Node_Str") public void executeExtraValueFormForEdit(JoinPoint joinPoint){
  HttpServletRequest request=ServletActionContext.getRequest();
  PageAction action=(PageAction)joinPoint.getTarget();
  String pageCode=action.getSelectedNode();
  IPage page=action.getPage(pageCode);
  if (null != page && page.getMetadata() instanceof SeoPageMetadata) {
    SeoPageMetadata pageMetadata=(SeoPageMetadata)page.getMetadata();
    request.setAttribute(PARAM_FRIENDLY_CODE,pageMetadata.getFriendlyCode());
    request.setAttribute(PARAM_USE_EXTRA_DESCRIPTIONS,pageMetadata.isUseExtraDescriptions());
    ApsProperties props=pageMetadata.getDescriptions();
    if (null != props) {
      Iterator<Object> iter=props.keySet().iterator();
      while (iter.hasNext()) {
        String key=(String)iter.next();
        PageMetatag metatag=(PageMetatag)props.get(key);
        request.setAttribute(PARAM_DESCRIPTION_PREFIX + key,metatag.getValue());
        request.setAttribute(PARAM_DESCRIPTION_USE_DEFAULT_PREFIX + key,metatag.isUseDefaultLangValue());
      }
    }
    ApsProperties keywords=pageMetadata.getKeywords();
    if (null != keywords) {
      Iterator<Object> iter=keywords.keySet().iterator();
      while (iter.hasNext()) {
        String key=(String)iter.next();
        PageMetatag metatag=(PageMetatag)props.get(key);
        request.setAttribute(PARAM_KEYWORDS_PREFIX + key,metatag.getValue());
        request.setAttribute(PARAM_KEYWORDS_USE_DEFAULT_PREFIX + key,metatag.isUseDefaultLangValue());
      }
    }
    Map<String,Map<String,PageMetatag>> seoParameters=pageMetadata.getComplexParameters();
    if (null != seoParameters) {
      Lang defaultLang=this.getLangManager().getDefaultLang();
      Map<String,Map<String,PageMetatag>> metas=SeoPageExtraConfigDOM.extractRightParams(seoParameters,defaultLang);
      request.setAttribute(PARAM_METATAGS,metas);
    }
    request.setAttribute(PARAM_METATAG_ATTRIBUTE_NAMES,Metatag.getAttributeNames());
  }
}

Fixed version (ground truth):
@After("String_Node_Str") public void executeExtraValueFormForEdit(JoinPoint joinPoint){
  HttpServletRequest request=ServletActionContext.getRequest();
  PageAction action=(PageAction)joinPoint.getTarget();
  String pageCode=action.getSelectedNode();
  IPage page=action.getPage(pageCode);
  if (null != page && page.getMetadata() instanceof SeoPageMetadata) {
    SeoPageMetadata pageMetadata=(SeoPageMetadata)page.getMetadata();
    request.setAttribute(PARAM_FRIENDLY_CODE,pageMetadata.getFriendlyCode());
    request.setAttribute(PARAM_USE_EXTRA_DESCRIPTIONS,pageMetadata.isUseExtraDescriptions());
    ApsProperties props=pageMetadata.getDescriptions();
    if (null != props) {
      Iterator<Object> iter=props.keySet().iterator();
      while (iter.hasNext()) {
        String key=(String)iter.next();
        PageMetatag metatag=(PageMetatag)props.get(key);
        request.setAttribute(PARAM_DESCRIPTION_PREFIX + key,metatag.getValue());
        request.setAttribute(PARAM_DESCRIPTION_USE_DEFAULT_PREFIX + key,metatag.isUseDefaultLangValue());
      }
    }
    ApsProperties keywords=pageMetadata.getKeywords();
    if (null != keywords) {
      Iterator<Object> iter=keywords.keySet().iterator();
      while (iter.hasNext()) {
        String key=(String)iter.next();
        PageMetatag metatag=(PageMetatag)keywords.get(key);
        request.setAttribute(PARAM_KEYWORDS_PREFIX + key,metatag.getValue());
        request.setAttribute(PARAM_KEYWORDS_USE_DEFAULT_PREFIX + key,metatag.isUseDefaultLangValue());
      }
    }
    Map<String,Map<String,PageMetatag>> seoParameters=pageMetadata.getComplexParameters();
    if (null != seoParameters) {
      Lang defaultLang=this.getLangManager().getDefaultLang();
      Map<String,Map<String,PageMetatag>> metas=SeoPageExtraConfigDOM.extractRightParams(seoParameters,defaultLang);
      request.setAttribute(PARAM_METATAGS,metas);
    }
    request.setAttribute(PARAM_METATAG_ATTRIBUTE_NAMES,Metatag.getAttributeNames());
  }
}