Пример #1
0
 /**
  * Создает в базе новый экземпляр объекта по заданному шаблону в первоначальном статусе и
  * возвращает его.
  *
  * @param templateId - идентификатор шаблона.
  * @return - экземпляр объекта.
  */
 public Instance createInstance(Long templateId) {
   ru.skycelot.plicanterra.metamodel.transfer.Template template =
       metamodel.getTemplate(templateId);
   Instance instance = InstanceInitializer.createInstanceFromTemplate(template);
   try (Database database = new Database(data)) {
     instance.id = database.getNextInstanceSequenceValue();
     database.saveTemplateCodeOfInstance(instance.id, instance.template.code);
     instance.version = 1L;
     InsertQuery query = new InsertQuery(instance.template.code);
     query.addInlineColumn("ID", instance.id);
     query.addInlineColumn("STATUS_ID", instance.status.id);
     query.addInlineColumn("VERSION", instance.version);
     database.execute(query);
     return instance;
   } catch (IOException e) {
     throw new RuntimeException(e);
   }
 }
Пример #2
0
 /**
  * Возвращает экземпляр объекта по заданному шаблону в первоначальном статусе без занесения в базу
  * данных.
  *
  * @param templateId - идентификатор шаблона.
  * @return - экземпляр объекта.
  */
 public Instance getSketchInstance(Long templateId) {
   ru.skycelot.plicanterra.metamodel.transfer.Template template =
       metamodel.getTemplate(templateId);
   Instance result = InstanceInitializer.createInstanceFromTemplate(template);
   return result;
 }