@Override public ArrayList<OrgDTO> getOrgList() { ArrayList<OrgDTO> list = new ArrayList<OrgDTO>(); try { TypedQuery<Organization> q = em.createQuery("SELECT x FROM Organization x", Organization.class); List<Organization> res = (List<Organization>) q.getResultList(); for (Organization org : res) { list.add(org.toDTO()); } } finally { } return list; }
/* * 사용자 가입 입력 폼 유효성 체크 */ private static void validate(Form<User> newUserForm) { // loginId가 빈 값이 들어오면 안된다. if (newUserForm.field("loginId").value().trim().isEmpty()) { newUserForm.reject("loginId", "user.wrongloginId.alert"); } if (newUserForm.field("loginId").value().contains(" ")) { newUserForm.reject("loginId", "user.wrongloginId.alert"); } // password가 빈 값이 들어오면 안된다. if (newUserForm.field("password").value().trim().isEmpty()) { newUserForm.reject("password", "user.wrongPassword.alert"); } // 중복된 loginId로 가입할 수 없다. if (User.isLoginIdExist(newUserForm.field("loginId").value()) || Organization.isNameExist(newUserForm.field("loginId").value())) { newUserForm.reject("loginId", "user.loginId.duplicate"); } // 중복된 email로 가입할 수 없다. if (User.isEmailExist(newUserForm.field("email").value())) { newUserForm.reject("email", "user.email.duplicate"); } }
/** * 사용자 또는 그룹 정보 조회 * * <p>{@code loginId}에 해당하는 그룹이 있을 때는 그룹을 보여주고 해당하는 그룹이 없을 경우에는 {@code loginId}에 해당하는 사용자 페이지를 * 보여준다. * * <p>when: 사용자 로그인 아이디나 아바타를 클릭할 때 사용한다. * * <p>{@code groups}에는 여러 그룹 이름이 콤마(,)를 기준으로 들어올 수 있으며, 각그룹에 해당하는 프로젝트 목록을 간추리고, 그 프로젝트 목록에 포함되는 * 이슈, 게시물, 풀리퀘, 마일스톤 데이터를 종합하고 최근 등록일 순으로 정렬하여 보여준다. * * @param loginId 로그인ID * @return */ public static Result userInfo(String loginId, String groups, int daysAgo, String selected) { Organization org = Organization.findByName(loginId); if (org != null) { return redirect(routes.OrganizationApp.organization(org.name)); } if (daysAgo == UNDEFINED) { Cookie cookie = request().cookie(DAYS_AGO_COOKIE); if (cookie != null) { daysAgo = Integer.parseInt(cookie.value()); } else { daysAgo = DAYS_AGO; response().setCookie(DAYS_AGO_COOKIE, daysAgo + ""); } } else { if (daysAgo < 0) { daysAgo = 1; } response().setCookie(DAYS_AGO_COOKIE, daysAgo + ""); } User user = User.findByLoginId(loginId); String[] groupNames = groups.trim().split(","); List<Posting> postings = new ArrayList<>(); List<Issue> issues = new ArrayList<>(); List<PullRequest> pullRequests = new ArrayList<>(); List<Milestone> milestones = new ArrayList<>(); List<Project> projects = collectProjects(loginId, user, groupNames); collectDatum(projects, postings, issues, pullRequests, milestones, daysAgo); sortDatum(postings, issues, pullRequests, milestones); sortByLastPushedDateAndName(projects); return ok( view.render( user, groupNames, projects, postings, issues, pullRequests, milestones, daysAgo, selected)); }
/** * Creates an organization, its classification, and its services, and saves it to the registry. */ public String executePublish(String username, String password, String endpoint) { String id = null; RegistryService rs = null; BusinessLifeCycleManager blcm = null; BusinessQueryManager bqm = null; try { rs = connection.getRegistryService(); blcm = rs.getBusinessLifeCycleManager(); bqm = rs.getBusinessQueryManager(); System.out.println("Got registry service, query " + "manager, and life cycle manager"); // Get authorization from the registry PasswordAuthentication passwdAuth = new PasswordAuthentication(username, password.toCharArray()); Set creds = new HashSet(); creds.add(passwdAuth); connection.setCredentials(creds); System.out.println("Established security credentials"); // Get hardcoded strings from a ResourceBundle ResourceBundle bundle = ResourceBundle.getBundle("com.sun.cb.CoffeeRegistry"); // Create organization name and description Organization org = blcm.createOrganization(bundle.getString("org.name")); InternationalString s = blcm.createInternationalString(bundle.getString("org.description")); org.setDescription(s); // Create primary contact, set name User primaryContact = blcm.createUser(); PersonName pName = blcm.createPersonName(bundle.getString("person.name")); primaryContact.setPersonName(pName); // Set primary contact phone number TelephoneNumber tNum = blcm.createTelephoneNumber(); tNum.setNumber(bundle.getString("phone.number")); Collection phoneNums = new ArrayList(); phoneNums.add(tNum); primaryContact.setTelephoneNumbers(phoneNums); // Set primary contact email address EmailAddress emailAddress = blcm.createEmailAddress(bundle.getString("email.address")); Collection emailAddresses = new ArrayList(); emailAddresses.add(emailAddress); primaryContact.setEmailAddresses(emailAddresses); // Set primary contact for organization org.setPrimaryContact(primaryContact); // Set classification scheme to NAICS ClassificationScheme cScheme = bqm.findClassificationSchemeByName(null, bundle.getString("classification.scheme")); // Create and add classification Classification classification = (Classification) blcm.createClassification( cScheme, bundle.getString("classification.name"), bundle.getString("classification.value")); Collection classifications = new ArrayList(); classifications.add(classification); org.addClassifications(classifications); // Create services and service Collection services = new ArrayList(); Service service = blcm.createService(bundle.getString("service.name")); InternationalString is = blcm.createInternationalString(bundle.getString("service.description")); service.setDescription(is); // Create service bindings Collection serviceBindings = new ArrayList(); ServiceBinding binding = blcm.createServiceBinding(); is = blcm.createInternationalString(bundle.getString("service.binding")); binding.setDescription(is); binding.setValidateURI(false); binding.setAccessURI(endpoint); serviceBindings.add(binding); // Add service bindings to service service.addServiceBindings(serviceBindings); // Add service to services, then add services to organization services.add(service); org.addServices(services); // Add organization and submit to registry // Retrieve key if successful Collection orgs = new ArrayList(); orgs.add(org); BulkResponse response = blcm.saveOrganizations(orgs); Collection exceptions = response.getExceptions(); if (exceptions == null) { System.out.println("Organization saved"); Collection keys = response.getCollection(); Iterator keyIter = keys.iterator(); if (keyIter.hasNext()) { javax.xml.registry.infomodel.Key orgKey = (javax.xml.registry.infomodel.Key) keyIter.next(); id = orgKey.getId(); System.out.println("Organization key is " + id); } } else { Iterator excIter = exceptions.iterator(); Exception exception = null; while (excIter.hasNext()) { exception = (Exception) excIter.next(); System.err.println("Exception on save: " + exception.toString()); } } } catch (Exception e) { e.printStackTrace(); if (connection != null) { try { connection.close(); } catch (JAXRException je) { System.err.println("Connection close failed"); } } } return id; }
/** * check the given {@code loginId} is being used by someone else's logindId or group name, and * whether {@code loginId} is a reserved word or not. * * @param name * @return * @see User#isLoginIdExist(String) * @see Organization#isNameExist(String) * @see ReservedWordsValidator#isReserved(String) */ public static Result isUsed(String name) { ObjectNode result = Json.newObject(); result.put("isExist", User.isLoginIdExist(name) || Organization.isNameExist(name)); result.put("isReserved", ReservedWordsValidator.isReserved(name)); return ok(result); }