private function creatGroup($username, $password, $officialName, $groupType)
 {
     $stateGroup = new Group();
     $stateGroup->setUsername($username);
     $stateGroup->setManagerEmail('*****@*****.**');
     $stateGroup->setOfficialName($officialName);
     $stateGroup->setGroupType($groupType);
     $generator = new SecureRandom();
     $password = $generator->nextBytes(10);
     $stateGroup->setPassword($password);
     return $stateGroup;
 }
 public function setPassword($password)
 {
     $this->__load();
     return parent::setPassword($password);
 }
 public function getLocalGroup(AddressComponent $addressComponent, Group $stateGroup = null)
 {
     $group = $this->findLocalGroup($addressComponent->getShortName(), $stateGroup);
     if (!$group) {
         $group = new Group();
         $group->setGroupType(Group::GROUP_TYPE_LOCAL)->setUsername($addressComponent->getShortName() . uniqid())->setOfficialName($addressComponent->getLongName())->setLocationName($addressComponent->getShortName())->setParent($stateGroup);
         $generator = new SecureRandom();
         $group->setPassword(sha1($generator->nextBytes(10)));
         $this->getEntityManager()->persist($group);
         $this->getEntityManager()->flush($group);
     }
     return $group;
 }