четверг, 26 января 2017 г.

Программное создание набора данных в 4-х звенном клиенте

Для начала необходимо получить сервис управления данными, но для этого нужна сессия.
TCSession session = (TCSession) AifrcpPlugin.getSessionService().getDefaultSession();
DataManagementService dmServ = DataManagementService.getService(session);

Далее идёт заполнение свойств набора данных (dataset то бишь). По всей видимости, можно создать несколько наборов данных за раз, поэтому массив свойств.
DatasetProperties2[] dsProps = new DatasetProperties2[1];
dsProps[0] = new DatasetProperties2();
dsProps[0].clientId = "1";
dsProps[0].description = "Тут описание набора";
dsProps[0].name = "Имя набора";
dsProps[0].type = "тип"; // PDF например
dsProps[0].toolUsed = "инструмент"; // PDF_Tool для PDF
dsProps[0].container = объект с которым будет связан набор.
dsProps[0].relationType = "IMAN_specification"; // Имя связи. "Описание" в данном случае.

Далее создаём набор данных.
CreateDatasetResponse createDsResponse = dmServ.createDatasets2(dsProps);

Проверяем на ошибки и прикрепляем файл к набору. Файлов можно установить несколько и с разными инструментами.
if (createDsResponse.serviceData.sizeOfPartialErrors() == 0) {
   TCComponentDataset ds = createDsResponse.output[0].dataset;

   String[] paths = new String[] { pdfFile.getAbsolutePath() };
   String[] tools = new String[] { "PDF_Reference" };

   try {
      ds.setFiles(paths, tools);
   } catch (TCException tcEx) {
      tcEx.printStackTrace(); 
   }
}

createDatasets2 находится в классе DataManagement пакета com.teamcenter.services.rac.core._2008_06

Есть в пакете com.teamcenter.services.rac.core._2006_03 метод createDatasets, но он помечен как устаревший (deprecated)

Комментариев нет:

Отправить комментарий

Определение параметров CHS (Cylinder, Head, Sector) карт CF с помощью утилиты IDEINFO

 Столкнулся с проблемкой подключения карт CF к материнской плате LTC-SL REV-B и WD386SX-LPX. В БИОС этих плат нет автоопределения накопителе...