コード例 #1
0
ファイル: TemplateUtil.java プロジェクト: idna/idobjects-dsl
 public String destinationName(EntityReference reference) {
   if (reference.getListDestination() != null) {
     return reference.getListDestination().getName();
   } else {
     return reference.getSingleDestination().getName();
   }
 }
コード例 #2
0
ファイル: TemplateUtil.java プロジェクト: idna/idobjects-dsl
  private String getInverseNameImpl(EntityReference reference) {
    if (reference.getInverseName() != null) return reference.getInverseName();
    String destinationName = destinationName(reference);

    Entity entity = (Entity) reference.eContainer();
    Model model = (Model) entity.eContainer().eContainer();
    Entity destinationEntity = searchEntity(model, destinationName);

    for (EntityReference destinationEntityReference : destinationEntity.getReferences()) {
      Entity destEntity;

      if (destinationEntityReference.getListDestination() != null)
        destEntity = destinationEntityReference.getListDestination();
      else destEntity = destinationEntityReference.getSingleDestination();

      if (!destEntity.equals(entity)) continue;
      if (destinationEntityReference.getInverseName() == null) continue;

      if (destinationEntityReference.getInverseName().equals(reference.getName()))
        return destinationEntityReference.getName();
    }
    return null;
  }