Пример #1
0
 /**
  * {@link JmDiagram}を削除する。
  *
  * @param reference 削除する{@link JmDiagram}への参照
  * @return 削除したモデル
  * @throws EntityNotFoundException 参照で示す{@link Entity}が見つからなかった場合
  * @throws IllegalArgumentException 引数に{@code null}を与えた場合
  */
 public JmDiagram deleteDiagram(EntityRef<? extends JmDiagram> reference) {
   Validate.notNull(reference);
   JmDiagram deleted = diagrams.delete(reference);
   logger.info("diagram deleted: " + deleted);
   context.getEventBroker().fireEvent(new StoredEvent<JmDiagram>(diagrams, deleted, null));
   return deleted;
 }
Пример #2
0
 /**
  * {@link JmDiagram}を保存する。
  *
  * @param diagram ダイアグラム
  * @throws IllegalArgumentException 引数に{@code null}を与えた場合
  */
 public void store(JmDiagram diagram) {
   Validate.notNull(diagram);
   JmDiagram old = diagrams.store(diagram);
   if (old == null) {
     logger.debug(LogMarker.LIFECYCLE, "diagram stored: " + diagram);
   } else {
     logger.debug(LogMarker.LIFECYCLE, "diagram updated: (old) " + old);
     logger.debug(LogMarker.LIFECYCLE, "                 (new) " + diagram);
   }
   context.getEventBroker().fireEvent(new StoredEvent<JmDiagram>(diagrams, old, diagram));
 }
Пример #3
0
  /**
   * このファセットのダイアグラムのうち、{@code name}で示した名前を持つダイアグラムを返す。
   *
   * @param name ダイアグラム名
   * @return ダイアグラム
   * @throws DiagramNotFoundException ダイアグラムが見つからなかった場合
   * @throws TooManyDiagramsFoundException 同名のダイアグラムが複数見つかった場合
   */
  public JmDiagram getDiagram(final String name) {
    Collection<JmDiagram> c =
        Collections2.filter(
            diagrams.getEntitiesAsList(),
            new Predicate<JmDiagram>() {

              public boolean apply(JmDiagram diagram) {
                return StringUtils.equals(diagram.getName(), name);
              }
            });

    try {
      return Iterables.getOnlyElement(c);
    } catch (NoSuchElementException e) {
      throw new DiagramNotFoundException("name=" + name);
    } catch (IllegalArgumentException e) {
      throw new TooManyDiagramsFoundException(c);
    }
  }
Пример #4
0
 /**
  * IDから、{@link Entity}を引き当てる。
  *
  * @param id ENTITY ID
  * @return {@link Entity}
  * @throws EntityNotFoundException IDで示す{@link Entity}が見つからなかった場合
  * @throws IllegalArgumentException 引数に{@code null}を与えた場合
  */
 public Entity resolve(UUID id) {
   Validate.notNull(id);
   return diagrams.resolve(id);
 }
Пример #5
0
 /**
  * {@link EntityRef}から、{@link Entity}を引き当てる。
  *
  * @param <T> {@link Entity}の型
  * @param reference {@link EntityRef}
  * @return {@link Entity}
  * @throws EntityNotFoundException 参照で示す{@link Entity}が見つからなかった場合
  * @throws IllegalArgumentException 引数に{@code null}を与えた場合
  */
 public <T extends Entity> T resolve(EntityRef<T> reference) {
   Validate.notNull(reference);
   return diagrams.resolve(reference);
 }
Пример #6
0
 public Set<? extends Entity> getEntities() {
   return diagrams.getEntitiesAsSet();
 }
Пример #7
0
 /**
  * このファセットが持つダイアグラムの {@link List} を返す。
  *
  * @return このファセットが持つダイアグラムの {@link List}
  */
 public List<? extends JmDiagram> getDiagrams() {
   return diagrams.getEntitiesAsList();
 }