ssamikk

Как получить список пользователей

Подскажите как на java получить список пользователей заведенных в TeamCenter??

Пытаюсь вызвать сохраненный запрос, но он почему то всегда возвращает массив нулевой длины. Хотя явно указываю имя пользователя infodba.

ImanQuery queryUser = null;

		

		SavedQueryService queryService = SavedQueryService.getService(Session.getConnection());

		try

		{

			FindSavedQueriesCriteriaInput savedCriteraInput[] = new FindSavedQueriesCriteriaInput[1];

			savedCriteraInput[0] = new FindSavedQueriesCriteriaInput();

			savedCriteraInput[0].queryNames = new String[1];

			savedCriteraInput[0].queryNames[0] = "Админ - Информация о служащем";

			savedCriteraInput[0].queryType = 0;

			savedCriteraInput[0].queryDescs = new String[1];

			savedCriteraInput[0].queryDescs[0] = new String();

			FindSavedQueriesResponse savedQueries = queryService.findSavedQueries(savedCriteraInput);

			if (savedQueries.savedQueries.length < 1)

			{

				System.out.println("There are no saved queries in the system.");

				return;

			}

			queryUser = savedQueries.savedQueries[0];

			if (queryUser == null)

				return;

			

			try

			{

				DataManagementService dmService = DataManagementService.getService(Session.getConnection());

				dmService.getProperties(new ModelObject[]{queryUser}, new String[]{"query_name"});

				System.out.println(queryUser.get_query_name());

				IniLoader iniLoader = new IniLoader();

				SavedQueryInput savedQueryInput[] = new SavedQueryInput[1];

				savedQueryInput[0] = new SavedQueryInput();

				savedQueryInput[0].query = queryUser;

				savedQueryInput[0].maxNumToReturn = 999999999;

				savedQueryInput[0].limitListCount = 0;

				savedQueryInput[0].resultsType = 0;

				savedQueryInput[0].limitList = new ModelObject[0];

				savedQueryInput[0].entries = new String[]{"PersonName", "UserId"};

				savedQueryInput[0].values = new String[]{"infodba", "infodba"};

				savedQueryInput[0].maxNumToInflate = 999999999;

				

				ExecuteSavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);

				SavedQueryResults found = savedQueryResult.arrayOfResults[0];

				System.out.println("Found user:");

				ModelObject[] objects = found.objects;

				if(objects == null)

					return;

				System.out.println("objects.length"+objects.length);

			}

			catch (Exception e)

			{

				System.out.println("ExecuteSavedQuery service request failed.");

				System.out.println(e.getMessage());

				return;

			}

		}

		catch (ServiceException e)

		{

			System.out.println("GetSavedQueries service request failed.");

			System.out.println(e.getMessage());

			return;

		}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах


IMANComponentUserType userType = (IMANComponentUserType)session.getTypeComponent("User");

IMANComponentUser[] users = userType.extent;

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

IMANComponentUserType userType = (IMANComponentUserType)session.getTypeComponent("User");

IMANComponentUser[] users = userType.extent;

Забыл уточнить. Мое приложение будет работать отдельно от толстого клиента. На сколько я понимаю приведенный выше код для клиента и отдельно от него он работать не будет.

В идеале использовать запросы, но вот только не пойму почему данный запрос всегда возвращает пустой список.

Не разобрался до конца, но все заработало после переименования критериев поиска.

Изменено пользователем ssamikk

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Этот метод работает хоть где, где есть библиотеки толстого клиента. Как интересно приложение будет работать без библиотек толстого клиента? Хочется с запросами возиться - пожалуйста!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я возможно просто заблуждаюсь конечно.

Попробую ваш способ прикрутить.

Спасибо за наводку

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вопрос по:

savedQueryInput[0].entries = new String[]{"PersonName", "UserId"};

Как узнать эти самые entires для сохранённого запроса?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Другой вопрос: как сюда

savedQueryInput[0].values = new String[]

передать дату?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сам и отвечу:

String[] values = new String[]{"01-Oct-2017 00:00:00"};

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу



  • Реклама

  • Сообщения

    • Alinanana
      8_20 (2).rar У меня версия компаса 16 ... не могу открыть никак эти чертежи , нужно исправить немного , так не охото перечерчивать ( помогите кто сможет ( помогите пожалуйста , если не затруднит (((
    • Leon
      Тогда вот так. В 17-ом уже работать не будет. MProp.zip
    • Eclipse
      В общем на работе стоит лицензионный SW 2017 г. компьютер:intel i3 , nvidia gt1030, RAM 8000 гб. все было прекрасно на протяжении 4 месяцев потом просто напросто начал лагать... в 3Д так и в чертежах.   В обычной детали наводишь мышкой например элементы детали долго показывает.... А если навести мышкой на резьбу дак вообще секунды 3 наверное выводит контуры резьбы. Даже обычные пустые эскизы выводит с задержкой. (Выводит т.е. я подразумеваю что оранжевым выделяет элемент детали...) Про сборки дак я вообще молчу.   в чертеже дак там вообще если несколько видов дак ппц туго ему...   В чем может быть проблема? как исправить?   компас,  автокад работают исправно вроде...
    • bomber
      C 20 января 2018 г. для тех кто на активной техподдержке Creo 4.0 for Windows
                Most Recent Datecode Datecode: M040            HelpCenter (1737 MB) Download now:  or             Win64 (4132 MB)
    • intruder777
       хочу проанализировать как измениться расход воздуха через фильтр при при открывании ее например от 2 до 6 см @piden Если можно покажите что и как вводить? Можете подсказать как получают графики например скорости потока от диаметра, как это сделать на одной модели? Как то автоматизировать расчет! А то я каждый раз изменяю модель смотрю скорость заношу в эксель и получаю график.   
    • urlerbro
      Настройте ось инструмента соответствующим образом как вам нужно. Траекторию можно использовать эту же, в настройках оси инструмента поставьте метод "К линии", где линия ось цилиндра.
    • ilya_w
      Программу обработки тоже можно масштабировать, если стойка такое позволяет.
    • piden
      Это дисбаланс расхода, а не общий расход. Обычно для проверки корректности решения вводится.   Расскажу секрет: расход будет такой, какой зададите. А вот падение давления - нет. Но если расчетный домен будет такой, как на рисунке, его все равно не определишь правильно.   Там к программе упражнения есть. Подсказать, что с ними делать?)
    • Timi
      К сожалению и так тоже нет.
    • lexincton
      Если в модели, то через   Если через операцию, то   Проще сделать через преобразование готовой траектории, т.к. преобразованная будет автоматически обновляться при изменении исходной