@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;
 }
示例#2
0
  /*
   * 사용자 가입 입력 폼 유효성 체크
   */
  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");
    }
  }
示例#3
0
  /**
   * 사용자 또는 그룹 정보 조회
   *
   * <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;
  }
示例#5
0
 /**
  * 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);
 }