package org.jactr.eclipse.association.ui.mapper.impl; /* * default logging */ import java.util.ArrayList; import java.util.Collection; import java.util.Map; import org.antlr.runtime.tree.CommonTree; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jactr.eclipse.association.ui.model.Association; public class DefaultAssociationMapper extends AbstractAssociationMapper { /** * Logger definition */ static private final transient Log LOGGER = LogFactory .getLog(DefaultAssociationMapper.class); public DefaultAssociationMapper() { } @Override public Collection<Association> extractAssociations(String associationString, CommonTree jChunk, Map<String, CommonTree> allChunks) { ArrayList<Association> rtn = new ArrayList<Association>(); String[] links = associationString.split(","); for (String link : links) try { /* * expecting (iChunkName count strength) */ link = link.substring(link.lastIndexOf('(') + 1, link.indexOf(')')); String[] components = link.split(" "); String iChunk = components[0].toLowerCase(); int count = Integer.parseInt(components[1]); double strength = Double.parseDouble(components[2]); Association association = new Association(jChunk, allChunks.get(iChunk), count, strength); rtn.add(association); } catch (Exception e) { if (LOGGER.isWarnEnabled()) LOGGER.warn(String .format("Failed to extract link info from %s", link)); } return rtn; } }