package org.eclipse.xtext.xdoc.resource; import java.util.HashMap; import java.util.Map; import org.apache.log4j.Logger; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.naming.QualifiedName; import org.eclipse.xtext.resource.EObjectDescription; import org.eclipse.xtext.resource.IEObjectDescription; import org.eclipse.xtext.resource.impl.DefaultResourceDescriptionStrategy; import org.eclipse.xtext.util.IAcceptor; import org.eclipse.xtext.xdoc.XdocUtil; public class XdocResourceDescriptionStrategy extends DefaultResourceDescriptionStrategy { private final static Logger LOG = Logger.getLogger(XdocResourceDescriptionStrategy.class); @Override public boolean createEObjectDescriptions(EObject eObject, IAcceptor<IEObjectDescription> acceptor) { try { QualifiedName qualifiedName = getQualifiedNameProvider().getFullyQualifiedName(eObject); if (qualifiedName != null) { Map<String, String> userData = new HashMap<String, String>(); userData.put("hash", "" + XdocUtil.hash(eObject)); acceptor.accept(EObjectDescription.create(qualifiedName, eObject, userData)); } }catch (Exception e) { LOG.error(e); } return true; } }