示例#1
0
 /*
  * Add transition properties to entity info
  */
 public static void addNavPropertiesToEntityInfo(
     EntityInfo entityInfo, InteractionModel interactionModel) {
   IMResourceStateMachine rsm = interactionModel.findResourceStateMachine(entityInfo.getClazz());
   if (rsm != null) {
     for (IMTransition transition : rsm.getEntityStateTransitions()) {
       List<FieldInfo> properties = entityInfo.getAllFieldInfos();
       List<String> annotations = new ArrayList<String>();
       if (transition instanceof IMCollectionStateTransition) {
         // Transition to collection state
         // TODO fix reciprocal links
         // annotations.add("@OneToMany(cascade = CascadeType.ALL, mappedBy = \"" +
         // transition.getTargetStateName() + "\")");
         // properties.add(new FieldInfo(transition.getTargetStateName(), "Collection<" +
         // transition.getTargetEntityName() + ">", annotations));
       } else if (transition instanceof IMEntityStateTransition) {
         // Transition to entity state
         IMEntityStateTransition t = (IMEntityStateTransition) transition;
         annotations.add(
             "@JoinColumn(name = \""
                 + t.getLinkProperty()
                 + "\", referencedColumnName = \""
                 + t.getTargetResourceStateMachine().getMappedEntityProperty()
                 + "\", insertable = false, updatable = false)");
         annotations.add("@ManyToOne(optional = false)");
         properties.add(
             new FieldInfo(
                 t.getTargetState().getName(),
                 t.getTargetResourceStateMachine().getEntityName(),
                 annotations));
       }
     }
   }
 }
示例#2
0
  @Test
  public void testEntityInfo() {
    JPAResponderGen rg = new JPAResponderGen();

    EntityMetadata mdEntity = new EntityMetadata("Flight");
    Vocabulary voc = new Vocabulary();
    voc.setTerm(new TermValueType(TermValueType.INTEGER_NUMBER));
    voc.setTerm(new TermIdField(true));
    mdEntity.setPropertyVocabulary("ID", voc);
    EntityInfo p = rg.createEntityInfoFromEntityMetadata("AirlineModel", mdEntity);

    assertEquals("Flight", p.getClazz());
    assertEquals("AirlineModel", p.getPackage());
    assertEquals("AirlineModel.Flight", p.getFQTypeName());
  }
示例#3
0
 /**
  * Utility method to form class filename.
  *
  * @param srcTargetDir
  * @param entityInfo
  * @return
  */
 public static String formClassFilename(String path, EntityInfo entityInfo) {
   return path + "/" + entityInfo.getClazz() + ".java";
 }